Codex — OpenAI 的编程智能体
已经安装好并完成了第一个任务 — 现在来养成每天都会用到的习惯。写好 ,和 等其他 共享同一份指令,用审批和决定交出多少,再学习聊天命令和好好提问的方法。
基础 — 安装并完成你的第一个任务
第一次接触?从这里开始。了解 Codex 是什么,安装它,再跟着做最初的五个步骤。全部做完后,进入上方的 [进阶] 标签。
它是什么
是 的。它可以在(Codex CLI)、扩展和 应用中工作。用 还可以把工作交给端环境,再把结果应用到自己的电脑上。
项目规则写在 里,这是一种许多编程智能体都会读取的开放格式。Codex 能做什么,由你用 / 来选择。
你需要什么
- 账户:所有 ChatGPT 套餐(Free、Go、Plus、Pro、Business、Edu、Enterprise)都包含 Codex,但能用的地方不同。Free 和 Go 只能在桌面应用中使用(正在逐步开放),本页的 需要 Plus 或更高套餐。也可以用 登录 CLI——按 价格付费,没有云端功能。
- 电脑: 或 (),或 ( 安装脚本)。也可以用 和 安装。
- 要工作的项目文件夹 — 如果是 ,就能用 / 查看 Codex 改了什么,再用 撤销。
安装
在 macOS 和 Linux 上运行第一行;在 Windows 上运行 PowerShell 那一行。如果是用安装的,再运行一次同样的即可更新。
- macOS · Linux
curl -fsSL https://chatgpt.com/codex/install.sh | sh- Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"- npm
npm install -g @openai/codex- Homebrew
brew install --cask codex
检查安装
打开一个新的终端窗口。codex --version 应显示号。如果看到“”,请重新打开终端并检查 。
codex --version
第一次运行 — 五个步骤
- 打开终端,用 <文件夹> 进入项目文件夹,然后输入 codex 并按 Enter,选择“Sign in with ChatGPT”。
- 问它“给我介绍一下这个项目”,让它阅读项目。
- 运行 创建 AGENTS.md,然后写上你的和要遵守的规则。
- 用 /permissions 选择 Codex 不用问就能做的事。
- 布置任务时写明文件、行为和检查方法。阅读 diff,自己运行测试,然后。
cd my-project
codex
常用功能
- AGENTS.md — 每次会话都会读取的项目指令(用 /init 开始)
- /permissions — 它可以在多大范围内修改文件和运行命令
- "…" — 不打开聊天界面运行,用于脚本和
- codex cloud — 把工作交给云端环境,再把结果应用到本地
- 代码编辑器扩展和 ChatGPT 桌面应用 — 在其他地方使用同一个 Codex。在应用里选择 Codex,从 New chat 开始。在 VS Code 里选择 Codex 图标,或在命令面板中运行 Codex: Open Codex Sidebar。
- — 用 .agents/skills/ 里的 文件夹教它做重复的工作
安全地使用
- 如果它改得比你要求的多,就让它停下。用 git restore <文件> 还原一个文件,只想挑一部分就用 git restore -p <文件>。这会丢掉该文件中所有未暂存的修改——包括你自己的修改——但已暂存的修改和新建的文件(untracked)会保留(GIT 第 4 步)。然后写明准确的文件名再请求一次。
- 即使测试通过也要阅读 diff,只提交你看懂的内容。
- 大任务先让它给出计划,再分成小块交给它。说明哪些可以改、哪些必须保持不变,以及用什么来证明工作完成,比如通过的测试。
基础练习 — 从头试一次
卡住时:codex 启动不了就用 codex --version 检查安装;登录失败就运行 codex login。五项都做完了?进入 [进阶] 标签。
在 SONUB 上深入学习
官方文档
已于 2026-11-02 对照官方文档核实。这些工具变化很快 — 如果命令不起作用,请查看官方文档。
进阶 — 每天的习惯:AGENTS.md、审批和沙箱、命令
模型和推理努力程度 — 该用哪个(推荐:GPT-6.1 Sol,High)
)截至2026年11月,开发请用 GPT-6.1 Sol,强度选 High——按下面的方法设置,或用 / 选择。所有模型和强度,以及什么时候调低、什么时候调高,都在工具大师的“推荐用法”里。
model = "gpt-6.1-sol"
model_reasoning_effort = "high"
codex -m gpt-6.1-sol
codex -m gpt-6.1-sol -c model_reasoning_effort=high
codex exec -m gpt-6.1-sol "Review the current changes"
# inside Codex
/model # model → effort (Max · Ultra: More reasoning…)
写好 AGENTS.md
)开始工作时会读取 。它先读取你的文件(~/.codex/AGENTS.md),然后从项目顶层(通常是 的顶层)一路走到,每个文件夹找一个文件,按顺序拼接起来。越靠近当前文件夹的文件排在越后面,所以以它为准。
- ~/.codex/AGENTS.md — 适用于所有项目的个人指令
- 项目顶层的 AGENTS.md — 团队共享的指令(提交它)
- 里的 AGENTS.md — 只在该文件夹里工作时追加的指令
- — 如果它在同一个文件夹里,会代替 AGENTS.md 被读取(用于临时试一下改动)。
- 默认总共只读取 32 (project_doc_max_bytes)。要使用其他名称的文件,把它们列在 project_doc_fallback_filenames 里。
# AGENTS.md
## Setup
- Install: pnpm install
- Test: pnpm test
- Lint: pnpm lint
## Code style
- TypeScript strict mode, single quotes.
- Keep functions small. Add a test for every bug fix.
## Don't
- Don't edit generated files in dist/.
- Don't commit .env files.
~/.codex/AGENTS.md ← you, every project (read first)
my-project/AGENTS.md ← team rules (commit it)
my-project/web/AGENTS.md ← only for web/ (read last, so it wins)
会阅读项目并写出第一版 AGENTS.md。AGENTS.md 每次运行只读取一次,所以编辑后要重启 Codex。
审批和沙箱 — 交出多少权限
)Codex 用两种方式保证安全。决定它在技术上能做什么(写文件、),决定它什么时候问你。两者要一起选择。
- — 只读取,什么都不改。用来浏览你不熟悉的项目。
- — 只在工作文件夹内编辑和运行。在 Git 仓库里,Codex 推荐“Auto”,即把它和 on-request 搭配使用,但在你信任该文件夹之前,它可能以 read-only 启动。网络默认关闭,.git、.agents、.codex 和 .aws 保持只读。
- — 没有沙箱,什么都能做。只在的里使用。
- 审批策略(-a):on-request 在需要走出沙箱时询问,never 不询问(只在沙箱内工作)。--approve-for-me 会把符合条件的审批请求交给自动审查,不会扩大文件或网络。
- /permissions 在对话中切换模式,/status 显示当前设置。
codex --sandbox read-only # look only, change nothing
codex --sandbox workspace-write # edit inside this folder ("Auto" in a Git repo)
codex -a never --sandbox workspace-write # never ask, but stay inside the sandbox
approval_policy = "on-request"
sandbox_mode = "workspace-write"
[sandbox_workspace_write]
network_access = false
旧文章里的 --full-auto 已经不存在了。要达到同样效果,请用 --sandbox workspace-write。 = "untrusted" 也已废弃,可能让 Codex 无法启动,所以请删掉它;只读工作请用 sandbox_mode = "read-only" 搭配 approval_policy = "on-request"。--yolo(--dangerously-bypass-approvals-and-sandbox)会同时关闭沙箱和审批,所以只在隔离的地方使用。
斜杠命令和提示词快捷方式
)在 Codex 聊天界面输入 /,就会出现命令列表。先学会每天都用的那些。
- /model — 选择模型和思考的深度(推理)。
- /diff — 查看工作文件夹的 Git 改动(包括新建的文件)。/review — 让它审查改动的。
- /compact — 总结对话来腾出空间。/new — 开始新的对话。
- — 选一个更早的对话继续。在终端里用 codex resume 或 codex resume --last。
- /status — 查看模型、权限、工作文件夹等当前设置。/mcp — 查看已连接的 。
- @ — 查找文件并附加到请求里。$ — 技能。! — 立即运行 命令(!git status)。
- 从终端启动 Codex 时:-i picture.png 附带启动(对话中直接粘贴),--search 开启实时网页搜索。
- /init — 创建 AGENTS.md。/plan — 让它先做计划。
- <终点线> — 一直工作到达成为止。只输入 /goal 查看;/goal pause、resume、clear 用来暂停、继续和删除(Codex 0.128.0 起)。
从 Claude Code 过来的?/import 会导入 Claude Code 的设置和最近的对话。
节省上下文 — 把 Codex 设为在 475k 时自动压缩(SONUB 设置)
)好好交代工作 — 在哪里、做什么、怎么检查
)- 模糊的请求:“修一下购物车”
- 清楚的请求:“在 @src/cart.ts 里,数量为 0 时总价会变成 。改成数量为 0 时删除该商品,在 tests/cart.test.ts 里加一个测试,并确认 test 通过。”
- 大任务先说“先只给我看计划”,调整计划后再让它继续。
- 如果它改得比你要求的多,就让它停下,只用 <文件> 还原那个文件(该文件中你自己未暂存的修改也会一起丢掉),然后写明文件名再请求一次。
- 把完整的错误输出粘贴进去 — 原文比总结更准确。
- 完成后,用 /diff 阅读改动,自己,然后提交。
自己检查一下 — 三个简短的问题
)看看这个小项目。每个问题先在心里回答,再打开答案。
my-shop/
├── AGENTS.md
│ Test with npm test.
│ Never edit .env files.
└── services/api/
├── AGENTS.md
│ Test with go test ./...
└── orders.go
-
你在 services/api 里工作,两个 AGENTS.md 给出的测试命令不一样。Codex 会用哪个命令? 的规则还适用吗?
查看答案
它用 go test ./... — Codex 从根往下把这些文件连起来,所以最近的文件排在最后,两条规则冲突时以它为准。.env 的规则没有和任何东西冲突,所以仍然适用。
-
你想让 Codex 修复这个文件夹里的一个 。它在走出文件夹或使用网络之前必须先询问。你从哪些设置开始?为什么 AGENTS.md 里的一行字不够?
查看答案
使用 --sandbox workspace-write,审批策略用 on-request(也就是 Auto 设置)。沙箱真正限制了 Codex 能触及的范围,on-request 让它在超出范围前先询问。AGENTS.md 里的一行字只是一条指令 — 没有任何东西来强制执行。
-
你检查了 orders.go 并运行了 git add。然后 Codex 又改了 orders.go,还创建了 new.go。你只想丢掉对 orders.go 的新修改。你该运行什么?new.go 会怎样?
查看答案
运行 git restore orders.go。它只丢弃未暂存的修改,所以 orders.go 会回到你暂存的;你在 git add 之后手动做的任何修改也会丢失。new.go 是未跟踪的,所以会一直保留,直到你自己删除它。
最佳实践 — OpenAI 推荐的 Codex 用法
)简单说:请求里写清四部分(目标、背景、限制、完成标准),难的事先做计划,让 Codex 自己检查,规则放在 AGENTS.md 里,一件事用一个对话。六个好习惯和两个工具的命令都在“推荐用法”里。
常见错误 — 以及如何避免
)官方指南列出八个错误——例如把规则都塞进请求、没告诉构建或测试命令、跳过计划、太早给完全权限。两份指南里的十个常见错误及改正方法,都在“推荐用法”里。
进阶练习 — 在你自己的项目里试试
)- 用 /init 创建 AGENTS.md,完善测试命令和三条规则。
- 如果你也用 Claude Code,确认项目里没有 CLAUDE.md,让两个 AI 读取同一个 AGENTS.md。
- 用 codex --sandbox read-only 让它浏览项目,再用 workspace-write 交给它一个小修改。
- 用 /diff 和 /review 审查改动。
- 用 /status 查看当前设置,用 codex resume --last 继续对话。
五项都做完了?进入 [高级] 标签。
官方文档
- Codex — AGENTS.md
- Codex — Approvals & security
- Codex — Config reference
- AGENTS.md
- Codex — Models
- Codex — Best practices
- Codex — Common mistakes
已于 2026-11-02 对照官方文档核实。这些工具变化很快 — 如果命令不起作用,请查看官方文档。
高级 — 扩展它:config.toml、codex exec、MCP、技能、钩子
config.toml 和配置档 — 让它适合你的工作方式
)的设置保存在 ~/.codex/ 里。以前每次都要加的选项,写在这里就成了默认值。因工作而异的设置放进文件。
- · model_reasoning_effort — 使用的模型和思考的深度
- · sandbox_mode — 和(进阶里讲过的值)
- 配置档是一个 ~/.codex/<名称>.config.toml 文件。用 codex -p <名称> 选择,它的值会叠加在基础设置之上(旧的 [profiles.x] 表已不再读取)。不要把它和配置档混淆:权限配置档是设置文件和权限的 Beta 方式,不能和 sandbox_mode 混用。
- -c key=value 只在这次运行中更改某项设置(比如 -c sandbox_workspace_write.network_access=true)。
- 同一个设置出现在多个地方时,最强的那个生效。从强到弱:参数和 --config、项目的 .codex/config.toml(最近的文件夹优先,仅限受信任的项目)、--profile 文件、~/.codex/config.toml、端管理的默认值、/etc/codex/config.toml,最后是内置默认值。
- web_search 选择 Codex 如何搜索:cached、indexed、live(和 --search 相同)或 disabled。
- shell_environment_policy 设置哪些会传给 Codex 运行的(inherit = "none" 或 "core" 传得更少)。[features] 打开或关闭可选功能。CODEX_HOME 把设置文件夹从 ~/.codex 移到别处,而且该文件夹必须已经存在。
- 在 上,mxc 是兼容设备上推荐的沙箱;elevated 和 unelevated 是旧的备用方案。独立的 CLI 请在 [features] 下设置 prefer_mxc = true。
model_reasoning_effort = "high"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
web_search = "cached"
# a profile: codex -p review
model_reasoning_effort = "xhigh"
sandbox_mode = "read-only"
codex -p review
codex -c sandbox_workspace_write.network_access=true
项目里的 .codex/config.toml 只保存该项目的设置 — 只有在你标记为受信任的项目里才会被读取。
codex exec — 不用聊天界面的自动化
)"…" 不打开聊天界面完成一次工作后退出。进度输出到 ,最终回答输出到 stdout,所以很适合放进、 和 。
- 默认是 。加上 --sandbox workspace-write 才能让它编辑文件。
- --json 以 (JSONL)发送进度,-o <文件> 把最终回答保存到文件,--output-schema <文件> 得到符合 的回答。
- 不带提示运行时,标准输入就成为提示;带着提示再用管道传入输入时,输入会附加在后面。
- 在 之外需要 --skip-git-repo-check。codex exec resume --last 继续上一次运行。
- schema.json 决定最终答案的格式。加上 --output-schema schema.json,答案就会以带有 summary 和 files 的 返回。如果缺少 "additionalProperties": false,运行会以 1 和 "Invalid " 错误停止,所以补上它再运行一次。
# Ask once, print the answer (read-only by default)
codex exec "Summarize what changed in the last 5 commits"
# Allow edits inside this folder
codex exec --sandbox workspace-write "Fix the failing test in tests/cart.test.ts"
# Pipe input in
cat error.log | codex exec "Find the cause"
# For scripts: JSON events, the final answer in a file, a JSON Schema answer
codex exec --json "List the TODOs in src/" > events.jsonl
codex exec -o notes.md "Write release notes for this week"
codex exec --output-schema schema.json "Rate the test coverage of each file"
# Continue the last run
codex exec resume --last "Now add tests for it"
{
"type": "object",
"properties": {
"summary": { "type": "string" },
"files": { "type": "array", "items": { "type": "string" } }
},
"required": ["summary", "files"],
"additionalProperties": false
}
在 CI 里,只把 CODEX_API_KEY 传给运行 Codex 的那一步,这样其他步骤的脚本就看不到。
MCP — 连接外部工具
)(Model Context Protocol)是让 工具使用外部服务(问题跟踪、、、文档工具)的。给 Codex 添加一个 ,它就能使用该的工具 — 用的服务器也可以直接使用。
- codex mcp add <名称> -- <命令> — 添加在你电脑上运行的服务器(stdio)。
- codex mcp add <名称> --url <> — 添加远程服务器()。
- 添加的服务器保存在 config.toml 的 [mcp_servers.<名称>] 表里。对话中,/mcp 会显示它们的状态。
# A server that runs on your computer (stdio)
codex mcp add playwright -- npx @playwright/mcp@latest
# A remote server (streamable HTTP)
codex mcp add notion --url https://mcp.notion.com/mcp
codex mcp list
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
tool_timeout_sec = 60
智能体技能 — 教它你重复做的工作
)技能就是一个装有 的文件夹 — 和 Claude Code 是同样的开放格式。平时 Codex 只知道每个技能的名称和说明;当工作符合说明时,它才会读取正文并照着做。以前的自定义提示(~/.codex/)现在应该改成技能。
- .agents/skills/<名称>/SKILL.md 用于这个仓库,~/.agents/skills/ 用于你的所有项目。
- 用 $<技能名称> 直接,或用 /skills 从列表中选择。当说明符合时,它也会自己使用。
- 写好 name 和 description,把脚本和参考文档放在 scripts/ 和 references/ 里。
- 向内置的 提出请求,它会帮你做一个新技能。
---
name: release-notes
description: Write release notes from the git log. Use when the user asks for release notes or a changelog.
---
1. Find the last tag: `git describe --tags --abbrev=0`
2. Read the commits since then: `git log <tag>..HEAD --oneline`
3. Group them under Added / Fixed / Changed, in plain sentences.
钩子 — 在设定的时机必定运行的命令
)是 Codex 在设定的时机运行的命令。 里的请求可能会被忘记,但钩子每次到那个时机都会运行。可以用钩子运行、挡住危险命令,以及在工作完成时收到通知。请把它们当作有用的护栏,而不是完整的强制边界:网页搜索等工具不经过钩子,其他一些工具也可能跳过它们。
- 放在 ~/.codex/hooks.json(你自己)或仓库里的 .codex/hooks.json(项目),也可以在 config.toml 里写内联的 [hooks] 表。每个地方只用一种形式。
- 把它们挂到这些时机上: 和 (使用工具前后)、(你发送请求时)、Stop(它回答完毕时)和 SessionStart(会话开始时)。
- 选择工具。退出码 2 的效果取决于时机:在 PreToolUse 上,它会在工具运行之前阻止工具;在 PostToolUse 上,工具已经运行过了,所以 stderr 里的原因只会作为反馈传给 Codex,改动依然保留。
- 如果只需要通知,在 config.toml 的 notify 里放一个 — 每轮结束时它都会带着一个 JSON 参数运行。
- Codex 用 apply_patch 编辑文件(匹配为 Write 或 Edit),但也可能用 命令写文件,所以格式化工具钩子的 matcher 里也要加上 。钩子的输入以 JSON 形式从 stdin 传入。
{
"hooks": {
"PostToolUse": [
{
"matcher": "Bash|Write|Edit",
"hooks": [
{
"type": "command",
"command": "sh .codex/hooks/format.sh",
"statusMessage": "Formatting changed files"
}
]
}
]
}
}
#!/bin/sh
# Codex sends the hook input as JSON on stdin; this formatter does not need it.
cat > /dev/null
git status --porcelain --untracked-files=all | cut -c4- \
| grep -E '\.(js|ts|css|html|json|md)$' | grep -v '^\.codex/' \
| xargs -r npx --yes prettier --write >&2
新的钩子要在 /hooks 里标记为受信任后才会运行。别人写的钩子,要先读懂它的命令再信任。
各部分如何配合
)Codex 给你几个地方来存放规则和重复的工作。每个地方做的事不同,所以把每样东西放进为它准备的地方。
- AGENTS.md — 长期有效的指令,决定 Codex 在这个项目里怎么工作。
- — 之前工作中有用的,Codex 会带着继续往前。
- 技能 — 打包好的可重复流程,遇到那类工作时 Codex 就能照着做。
- 插件 — 可安装的形式。先写一个技能,想分享时再把它打包成插件。
- 钩子和 MCP — 钩子在设定的时机运行你的命令,MCP 把 Codex 连接到本地工作区之外的系统。
- — 接手委派工作(比如一次审查)的帮手,让主对话保持专注。
- 组合起来的例子:AGENTS.md 规定完成前运行 test,记忆会想起你正在修改哪个文件,技能负责写,MCP 从你的任务跟踪工具读取问题,reviewer 子智能体检查改动。
必须遵守的规则放在 AGENTS.md 或已提交的文档里。记忆是有帮助的回想层,但不是必须遵守的规则的唯一来源。
高级练习
)- 在 ~/.codex/config.toml 里写上默认的审批和沙箱,做一个只读的审查配置档(review.config.toml),并用 codex -p review 使用它。
- 写一个脚本,用 codex exec -o 把这周的提交总结到一个文件里。
- 添加一个 MCP 服务器,用 /mcp 检查。
- 把一件常做的工作做成 .agents/skills/ 里的技能,并用 $name 调用。它应该会出现在 /skills 里。如果没有,检查文件夹和 SKILL.md 里的 name,然后重启 Codex。
- 把钩子那一段里的两个文件照着建好( 需要 ),在 /hooks 里把钩子标记为受信任,然后让 Codex 创建一个空格乱七八糟的 demo.js。文件出来时应该已经被整理好。如果格式化工具失败,钩子会显示为失败,而 Codex 会继续工作,所以要查看钩子状态,不要假定它运行过了。
五项都做完了?进入 [大师] 标签。
官方文档
- Codex — Config reference
- Codex — Non-interactive mode
- Codex — MCP
- Codex — Skills
- Codex — Hooks
- Codex — Customization
- Codex — Plugins
已于 2026-11-02 对照官方文档核实。这些工具变化很快 — 如果命令不起作用,请查看官方文档。
大师 — 子智能体、云端、GitHub、多个 AI 一起
子智能体 — 把部分工作交出去
)请 启动,它就会把调查、构建和审查拆开同时进行。每个子智能体都有自己的对话,所以主对话保持干净。
- 内置的 default、worker 和 explorer 一开始就有,/subagents 可以在子智能体之间切换。
- 在 .codex/agents/(项目)或 ~/.codex/agents/(你自己)里用 文件做你自己的子智能体 — name、description、developer_instructions。
- 子智能体会继承父级的和审批设置。文件里的 "Never edit files" 只是一条指令,所以想真正限制,请用 --sandbox read-only 启动父级。
- 在请求里分好角色,比如“用 reviewer 审查当前的 ,同时让 worker 写测试”。
name = "reviewer"
description = "Reviews diffs for bugs and missing tests."
developer_instructions = """
Run git diff. List bugs with file and line, then missing tests.
Never edit files.
"""
model_reasoning_effort = "high"
Codex cloud — 把工作交给云端
)在 的端环境里运行工作。它不占用你的电脑,所以你可以一次交出多项工作,只把你选中的完成结果应用到自己的文件上。
- 先创建一个环境:在网页版或桌面应用的 里,依次选择 Work in > Cloud > Select environment > Create environment。选好你的 ,让 Codex 准备并测试设置,然后检查并发布。
- codex cloud 显示任务列表并启动新任务。也可以用 codex cloud exec --env <环境 > "…" 直接交出一项任务。
- codex apply <任务 ID> 把云端做的改动应用到你的仓库()。
- 让它把同一项工作尝试多次(--attempts),再挑出最好的结果。
codex cloud # see and start cloud tasks
codex cloud exec --env <ENV_ID> "Add input checks to the signup form"
codex cloud list
codex apply <TASK_ID> # apply the result to your files
GitHub — 在 PR 里使用 @codex review
)把 GitHub 仓库连接到 Codex 后,只要在 评论里写 @codex review 就能得到审查。用 (openai/codex-action),还可以在每个 PR 上自动运行。
- @codex review — 审查该 PR,只报告严重的问题(、P1)。你可以在 Codex 设置里开启对每个 PR 的自动审查。
- 其他任何 @codex … 评论都会以该内容启动一个云端任务。
- openai/codex-action@v1 接收 和 sandbox,运行 Codex,并以 final-message 给出最终回答 — 在下一步把它发成评论。
- 把作为(OPENAI_API_KEY)传入;只读取的审查,sandbox 保持 。
name: Codex review
on:
pull_request:
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: openai/codex-action@v1
id: codex
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
prompt: "Review this pull request. List bugs and missing tests."
sandbox: read-only
# the answer is in steps.codex.outputs.final-message
在 里加一个 ## Rules 小节,Codex 的 PR 审查就会遵守这些规则。
多个 AI 一起使用 — 互相审查
)让另一个 审查一个 AI 写的,单独一个会漏掉的问题就会显现出来。如果通过 AGENTS.md 共享同一份指令,在一个项目里切换 Codex 和 就很容易。
分配角色也是一种方法。一个 AI 计划和构建,另一个审查和测试,最后由人阅读最终的 diff 并决定是否合并。
- codex review --uncommitted — Codex 审查未提交的改动。--base <> 审查整个分支。
- diff | claude -p "…" — Claude Code 审查 Codex 做的改动。
- 在另一个 AI 的会话里,可以用 把一项工作交给 Codex(比如写测试或做图片)。
- 两个 AI 意见不一致时,让双方都给出证据(文件、行、测试结果),由人来检查并选择。
# Claude Code wrote the change — Codex reviews it
codex review --uncommitted
# Codex wrote the change — Claude Code reviews it
git diff | claude -p "Review this diff. List bugs and missing tests."
# From inside another AI's session, hand one job to Codex
codex exec --sandbox workspace-write "Write unit tests for src/price.ts"
Codex SDK 和 App Server — 在 Codex 之上构建
)当终端不够用时,就从你自己的里 Codex。 从代码里运行 Codex,App 则用来把 Codex 深度集成进你自己的产品。
- : install @openai/codex-sdk( 18 或更高,在服务器端)。: install openai-codex(Python 3.10 或更高)。
- thread 就是一次对话。在同一个 thread 上再次调用 thread.run() 就能继续工作。
- App Server 是 Codex 用来支撑 等丰富的底层服务。当你的产品需要登录、对话历史、审批,以及实时接收智能体事件时使用它。
- 对于和 ,通常用 codex exec 或 SDK 就够了。app-server 命令是实验性的,不支持生产工作负载,所以在依赖它之前请先查看文档。
import { Codex } from "@openai/codex-sdk";
const codex = new Codex();
const thread = codex.startThread();
const result = await thread.run("Find the failing test and explain why it fails");
console.log(result.finalResponse);
管理团队设置 — 大家用同一套设置
)- 共享(提交):AGENTS.md、.codex/config.toml、.codex/hooks.json、.codex/agents/、.agents/skills/
- 个人(不提交):~/.codex/config.toml、文件、~/.codex/AGENTS.md
- AGENTS.md 保持简短。只有同样的错误反复出现时才加规则,错误的规则就删掉。
- 必须遵守的事,用沙箱和审批来强制,而不是靠指令。能增加一道有用的护栏,但不是完整的强制边界。
- CI 密钥只传给运行 Codex 的那一步,审查用 read-only 运行。
大师练习 — 自动化与其他 AI 协作
)- 不对话运行一次:codex exec "Find the test command of this project" > report.md 把结果存进文件,再阅读 report.md。
- 把常用设置(、沙箱)写进 ~/.codex/config.toml,重新打开 codex,用 /status 确认已生效。
- 用 add ../my-project-b -b try-b 再建一个文件夹,分别交给 Codex 和 Claude Code 不同的任务。两者都完成后,让它们互相审查对方的 diff。
- 在 GitHub 的拉取请求里留言 @codex review,看看是否收到审查(需先把 Codex 连接到仓库)。
- 在 AGENTS.md 里加一条团队规则,把同一个任务交给 Codex 和 Claude Code,比较两者是否都遵守了规则。
卡住时:codex exec 默认只读,需要改文件时加上 --sandbox workspace-write。设置没生效就用 /status 和 codex --help 查看当前值。五项都做完了?用下面的检查清单自查。
大师检查清单
)- 共享规则写在 AGENTS.md — Claude Code 等其他 AI 按同一份指令工作
- 你根据工作选择沙箱和审批,默认值写在 和配置档里
- 重复的工作交给技能,外部工具通过 连接。必须遵守的规则交给沙箱和审批,钩子作为护栏
- 重复的工作用 codex exec 和 GitHub Action
- 大任务分给子智能体和 codex cloud,只应用选中的结果
- AI 互相审查彼此的工作,由人检查最终的 diff 和测试
工具变化很快。如果命令不起作用,先查看 codex --help 和官方文档。旧文章里的选项(--full-auto、[profiles.x])可能已经变了。
官方文档
已于 2026-11-02 对照官方文档核实。这些工具变化很快 — 如果命令不起作用,请查看官方文档。