关于 codex
codex 是用于在 Go 项目中运行 Codex 的技能,提供配置档案与模型选择、任务执行及变更验证指引。它区分只读分析、编辑和更广泛的访问,并强调执行后检查仓库产物。
主要功能
- 01配置档案与模型选择指引
- 02分析、编辑和恢复会话的命令
- 03后台执行与输出处理
- 04通过 git diff --stat 验证
- 05工作树与项目约定
适用场景
- 01对 Go 项目进行只读分析
- 02使用编辑配置档案构建或测试
- 03为交互任务选择模型
- 04检查 Codex 是否产生意外改动
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ poteto/ noodle --skill codex安装后在 Claude Code 中输入/codex确认已加载。
详细介绍
Codex
配置文件
- (无配置文件) — 只读分析(不编译、不运行测试)
--profile edit— 本地编辑、构建或测试(workspace-write、全自动)--profile full— 网络或广泛的文件系统访问(danger-full-access、全自动)
只要任务涉及 go test、go build 或任何会写入构建产物的命令,就使用 --profile edit。默认的只读沙盒会阻止所有写入,包括编译器临时目录的写入。
对于复杂任务,添加 --config model_reasoning_effort="xhigh"。
模型选择
默认使用项目在 .codex/config.toml 中配置的模型(gpt-5.4)。
对于优先考虑速度的交互式工作,使用 --model gpt-5.3-codex-spark:
- 需要紧密、反复地迭代
- 快速修复错误和针对性编辑
- 中小型重构或 UI 调整
- 需要频繁转向或中断的快速原型开发
对于优先考虑深度的工作,继续使用默认模型 gpt-5.4:
- 长时间自主运行
- 涉及多个文件且需要大量推理的更改
- 测试密集型或验证密集型任务
- 正确性要求更高或风险更大的场景,值得花费额外时间进行深入推理
如果用户明确指定了模型,请遵循用户的要求。
命令
项目默认设置位于 .codex/config.toml。始终包含 --skip-git-repo-check 和 2>/dev/null。只有用户明确要求,或任务明显符合 Spark 的速度优先标准时,才覆盖模型。
| 用途 | 命令 |
|---|---|
| 只读分析 | codex exec --skip-git-repo-check -o "$CODEX_OUT" "prompt" 2>/dev/null |
| 优先考虑速度的交互式循环(Spark) | 添加 --model gpt-5.3-codex-spark |
| 应用本地编辑 | 添加 --profile edit |
| 网络 / 广泛访问 | 添加 --profile full |
| 恢复会话 | echo "prompt" | codex exec --skip-git-repo-check -o "$CODEX_OUT" resume --last 2>/dev/null |
运行前先创建临时文件以保存输出:CODEX_OUT=$(mktemp /tmp/codex-out.XXXXXX)。完成后从 $CODEX_OUT 读取结果。
使用 Bash 运行,并设置 run_in_background: true。通过 TaskOutput 监控,并设置 block: true, timeout: 600000 ——不要使用 sleep 命令轮询。读取 -o 文件以获取最终答案。
恢复会话
恢复时不要传递模型 / 推理力度 / 沙盒标志——原会话设置会沿用。可以安全地包含 -o。
约定
这是一个 Go 项目。在提示词中使用 go test、go build、go vet。Codex 工作进程不会收到 CLAUDE.md 或钩子,因此必须明确说明项目约定。
执行后验证
始终使用 git diff --stat 验证 Codex 的输出——绝不要相信工作进程自行报告的文件列表。Codex 工作进程可能会做出范围外的更改(删除文件、还原无关代码、移除测试函数)。完成说明可能只列出预期修改的文件,却遗漏破坏性副作用。
根据 [[principles/prove-it-works]]:相信产物,而非自我报告。
在同一代码库中有其他工作时,在提示词中明确列出“不要修改或删除”的文件。仅仅正面要求“只修改这些文件”还不够——Codex 可能会对“清理”作宽泛解读。
Worktree 用法
使用 -C <worktree-dir> 时,工作树拥有自己的 git 索引。.claude/ 可能是指向 .agents/ 的符号链接——执行 git 操作时请使用 .agents/ 路径。