2026-08-13 · 依据 dev2 东京云机实战整理 · 三部分:①配机清单(给配机人) ②工程纪律(新人必读) ③台账模板(新人照抄开卷)
这份《新人云机一本通》是我的开机文档,请通读后做四件事:
① 把第二部分工程纪律当作本会话及以后所有工作的强制约束,把关键条款写入你的长期记忆,以后每个会话自觉遵守;
② 按第一部分清单自检本机环境,逐项贴真实命令输出,缺什么列出来;
③ 按第三部分模板帮我在 ~/zyai-handbook/ 建台账并写好开工盘点;
④ 做完汇报:你记住了哪些规矩、环境哪几项通哪几项缺。汇报完等我指令,不要自己开工。
(之后的日常会话怎么说,见第四部分「会话话术」)
| Hook | 作用 |
|---|---|
| SessionStart | 每个新会话自动注入:机器定位 + 当前分支 + 硬约束清单 |
| PreToolUse | 拦截在 work/main/test/dev 分支上的写操作,强制先建 feature 分支 |
| pre-commit | 拦高风险目录新增文件 + 进度表伪造(仓内 scripts/pre-commit-agent-guard.sh) |
| pre-push | 拦保护分支直推(服务端 codeup 也已设「允许推送=无」,双保险) |
| 命令 | 给不给 | 说明 |
|---|---|---|
sudo release-to-test "标题" |
✅ | 建 MR→自动评审→自动合并→CI 部署 test(长官定:不需人工批) |
sudo release-pipeline-status test / settle-test |
✅ | 自查流水线红绿+失败日志,不用猜 |
sudo release-to-prod |
❌ 不给 | 新手发生产必须经人;sudoers 里不放行即可 |
⚠️ 已知坑(dev2 实测):发版脚本在非交互环境会静默"已取消",用 printf 'y\n' | sudo release-to-test "标题";
push 后镜像桥同步约 60-75 秒,别急着重试。
| 组件 | 方案 |
|---|---|
| Python | venv(注意与生产版本差异要记档)+ pip 走白名单 pypi |
| PostgreSQL | pip pgserver(自带 PG16+pgvector 二进制)· 数据目录 ~/pgdata · ⚠️ 建库必须用对模型:结算表以 settlement/backend metadata 为准,别用核心侧 create_all(dev2 踩过,232 个测试红) |
| Redis | ~/venvs/*/bin/redis-server --port 6379(⚠️ 会在 cwd 生成 dump.rdb,别在仓库目录里起) |
| CJK 字体 | ~/.fonts/NotoSansSC-{400,700}.ttf(npm @fontsource 只给 woff2,需 fonttools 转 ttf;不装则截图中文全豆腐,且不易察觉) |
| 浏览器验收工具 | ~/render-env/(playwright-core + @sparticuz/chromium + browse.js)—— 能打开页面/截图/真点击/填表,UI 验收必备 |
.env |
从配机人处拿备份,600 权限存 ~/;新 worktree 记得拷回仓库根 |
~/zyai-handbook/CLOUD-WORKLOG-<业务线>.md —— 每完成一批、每次发版、每个关键决策即记reports-out/(加 git common-dir exclude),给相对路径;~/.claude/projects/<仓>/memory/ + MEMORY.md 索引 —— 跨会话仍成立的事实才进PARENT-AGENTS-ENGINEERING-RULES.md(AGENTS.md 工程纪律) —— 放进他每个项目的根目录:
四大编码原则(先思考/简单优先/外科手术式修改/目标驱动)、测试即证明、mock 不算验收、
表层 200 ≠ 成功、Git 授权纪律、禁止事项、记忆规矩。通用于所有业务线,Codex/Claude 会话都吃。
(dev2 机上已有同内容副本 ~/zyai-handbook/PARENT-AGENTS-ENGINEERING-RULES.md,直接拷)
pitfall-guide-settlement.md(结算 56 条 + 云机/统一仓 20+ 条避坑)—— 所有业务线都会做,整份给reply-style-clear.md 交互规矩(短·清楚·先结论;若长官同带此新人,风格要求相同)cloud-render-cjk-font-howto.md / cloud-settlement-test-howto.md(环境操作手册类)release-to-test、release-pipeline-status(无 release-to-prod)一句话版:hook 拦住不该动的,包装命令给够该用的,避坑指南让他别重踩,台账从第一天记起。
本文件放在当前项目根目录,对本项目内的 Codex 工作生效。
只记录与项目协作和工程质量相关的约束。项目专属约定(技术栈、端口、分支流、部署细节)如后续明确,可继续补充到本文件。安全:禁止向本文件、提交记录、日志或对话写入任何 IP、域名、服务器路径、凭证或 API Key。需要地址或密钥时从环境变量读,缺失就停下来问,不要猜测或编造。
严谨的高级工程师 / 技术架构师,眼里容不下沙子。只有对和错,专注工程本身。拿不准就先问,不要默默假设后开干。
AGENTS.md,以离当前工作文件最近的 AGENTS.md 为准。AGENTS.md。明确说出不确定的地方,不要默默假设。
只写解决当前问题的最小代码,拒绝“以后可能用得上”。
只改必须改的,不重构没坏的代码。
把指令转化为可验证的成功标准,用测试证明完成。
ls/find 证明真实文件存在,用 cat/grep 打印核心逻辑片段。SELECT COUNT(*) FILTER (WHERE col IS NOT NULL),确认每列非空数大于 0。<type>: <desc>。type 只能使用:feat|fix|refactor|docs|test|chore|perf|ci。照 dev2 东京机
CLOUD-WORKLOG-SETTLEMENT.md(700+ 行实战卷)的记法整理。
一句话原则:每完成一批、每次发版、每个关键决策、每次踩坑 —— 当天记,不攒。
git remote -v 原样贴)git fetch 通不通 · test/main 头各是多少printf 'y\n' | sudo release-to-test "..." 走一遍(拿个无害改动练手)sudo release-pipeline-status test 能看到红绿改动:<文件:行号> 一句话说清改了什么
verify(每条贴真实输出,无输出=没做):
- [ ] pytest 相关套件真跑绿(贴尾行数字)
- [ ] 改 UI → browse.js 真渲染截图,亲眼看过
- [ ] 改接口 → 真 curl 贴响应
发版:MR # · merge commit · 流水线 run#___ 绿/红
遗留:没做完的、拿不准的、待谁拍板的 —— 写清楚,别脑记
坑:<现象一句话>
根因:<物理证据,不是猜测>
修法:<怎么解的>
防再犯:<下次开工前怎么自查>
git diff --stat / wc -l),不抄别人的声明、不抄 commit message读取台账
~/zyai-handbook/CLOUD-WORKLOG-<业务线>.md最新条目,告诉我当前进度和待办,等我指令再动手。
要点:先让它读记录、报状态,别一上来就派活 —— 防止它凭过时记忆干错方向。
「<页面/功能> 改成 <目标行为>。只改 <范围>,别的不动。要认真仔细精准。」
「认真自检下改的有没有问题」 —— 说一次不够就再说一次,第二三次往往挖出真问题
「你确定吗」 —— 它凭推理下结论时,这三个字能逼出物理证据
改 UI:「截图我看」;改接口:「贴真实输出」
「发 test 吧」→ 它走完:发版 → 看流水线 → 真验功能,然后报结果
没下令它就该等着;它抢跑要指出来
「先停下,数据/代码现在什么状态?」 —— 先固定现场再谈修复
「这是不是你改坏的?」 —— 逼它做改动前后对照实验,而不是嘴上说不是
「今天的活记台账了吗?坑记避坑指南了吗?值得跨会话记住的进记忆了吗?」
AI 说"完成/通过/没问题"都只是声明,不是事实。 让它拿证据,是你的日常动作,不是不信任 —— 它自己的纪律文件里也是这么写的。