Codex CLI 改代码前要做什么?用测试和 git diff 验收一个小 Bug
上一篇只读分析发现:服务端精确匹配完整 URL,所以 /api/books?limit=1 会返回 404。
这次我先写失败测试,再限定允许修改的文件,最后检查 diff 和测试结果。真实结果是:修改前 2 项通过、1 项失败;Codex CLI 0.145.0 启动修改任务时返回权限初始化错误,没有进入代码修改;人工完成最小修复后,3 项测试全部通过。 不会安装 Codex CLI 的话,可以先参考第一篇:Windows 一键安装 Codex CLI:Node.js 一起装好。
1. 写清需求和边界
目标:GET /api/books?limit=1 返回前 1 本书。
允许修改:src/server.js
禁止修改:测试、README、package.json
禁止新增:第三方依赖、配置文件、环境变量文件
不传 limit 时返回全部,limit 不是正整数时返回 400。
2. 先让测试失败
const response = await fetch(baseUrl + "/api/books?limit=1");
const payload = await response.json();
assert.equal(response.status, 200);
assert.equal(payload.books.length, 1);
运行 npm test,真实结果是 2 项通过、1 项失败,断言为 404 !== 200。

3. 给 Codex 一条能检查的任务
只处理 GET /api/books?limit=1。
只允许修改 src/server.js。
不要修改测试、README、package.json。
使用 Node.js 内置 URL,不增加第三方依赖。
完成后运行 npm test。
codex exec —sandbox workspace-write —ephemeral —cd .\\example-project "<任务内容>"
workspace-write 会受 Codex 版本和配置影响,使用前先运行 codex exec –help。官方沙箱说明:https://learn.chatgpt.com/docs/sandboxing。
4. Codex 这次没有改成功
codex-cli 0.145.0
Error: failed to initialize in-process app-server client:
拒绝访问。 (os error 5)
CODEX_EXIT=1

没有模型输出,也没有项目改动。我先检查:
where.exe codex
codex —version
git status —short
不要因为启动失败就改用危险参数重跑。
5. 人工完成最小修复
这里明确写“人工修复”,不把它算成 Codex 的结果。
const requestUrl = new URL(request.url || "/", "http://127.0.0.1");
const limitParam = requestUrl.searchParams.get("limit");
let result = books;
if (limitParam !== null) {
const limit = Number(limitParam);
if (!Number.isInteger(limit) || limit < 1) {
response.statusCode = 400;
} else {
result = books.slice(0, limit);
}
}
核心变化是拆分 pathname 和查询参数、校验 limit、截取结果。
6. 先看 git diff
git status —short
git diff —name-only
git diff —stat
git diff — src/server.js test/server.test.js
git diff —check
重点检查允许文件、测试文件、依赖、无关路由和非法参数处理。

7. 最后再跑测试
最终 3 项全部通过、0 失败,退出码为 0。

当前还没有为 limit=0、负数、非数字、小数和超大值分别补测试,下一轮应该先补测试。
llapi.org 的位置
示例项目不需要 API Key。Codex 调用模型时才需要认证和服务入口。
如果使用 llapi.org,可以到 https://llapi.org 创建账号并申请自己的 API Key。模型、价格和服务规则以官网当前页面为准。真实 Key、Authorization 头和后台截图不要进入文章、图片或 Git。
实测时间:2026-08-16。CLI 参数请以本机 codex exec –help 为准。
网硕互联帮助中心

评论前必须登录!
注册