codex-cli
Codex CLI — 本机使用指南
OpenAI Codex CLI (@openai/codex) 是 OpenAI 的终端编码代理。本 skill 教你如何从 Claude Code 中正确调用它。
核心原则
- Codex 是协作者,不是替代品。 用它做独立、可验证的子任务;不要把整个会话上下文丢给它。
- 非交互优先。 从 Claude Code 调用时,始终使用
codex exec(非交互模式),不要启动交互式 TUI。 - 捕获输出。 用
-o <file>或--json拿到结果,方便后续处理。 - 尊重沙箱。 默认使用
--full-auto(workspace-write 沙箱),只在用户明确授权时才放宽。
1. codex exec — 非交互任务委托
这是最核心的命令。把一个明确的 prompt 交给 Codex,让它自主完成。
基本用法
codex exec "你的任务描述" --full-auto -o /tmp/codex-output.md
关键参数
| 参数 | 说明 | 示例 |
|---|---|---|
--full-auto |
沙箱内自动执行,无需逐步审批 | 大多数场景的默认选择 |
-o <file> |
将最终回复写入文件 | -o /tmp/result.md |
--json |
以 JSONL 格式输出全部事件流 | 适合程序化解析 |
-m <model> |
指定模型 | -m o3 -m codex-mini |
-C <dir> |
指定工作目录 | -C ./my-project |
-s <mode> |
沙箱策略:read-only / workspace-write / danger-full-access |
-s read-only |
--output-schema <file> |
用 JSON Schema 约束输出结构 | 结构化提取场景 |
--skip-git-repo-check |
允许在非 git 目录运行 | 临时目录场景 |
--ephemeral |
不保存 session 到磁盘 | 一次性任务 |
-i <file> |
附加图片到 prompt | -i screenshot.png |
--search |
启用 web 搜索工具 | 需要查资料时 |
Prompt 从 stdin 读取
当 prompt 较长或包含特殊字符时,用 stdin 传入更安全:
cat <<'PROMPT' | codex exec - --full-auto -o /tmp/result.md
在 src/utils/ 下创建一个 debounce 函数,
要求:TypeScript,支持泛型,带取消功能。
写完后运行现有测试确认不破坏。
PROMPT
常用模式
委托一个编码子任务:
codex exec "在 src/components/Button.tsx 中添加 loading 状态支持,参考同目录下 Input.tsx 的实现模式" \
--full-auto -C "$(pwd)" -o /tmp/codex-button.md
只读分析(不修改文件):
codex exec "分析 src/api/ 目录下所有接口的错误处理模式,输出一份报告" \
--full-auto -s read-only -o /tmp/analysis.md
结构化输出:
# 先创建 schema 文件
cat > /tmp/schema.json <<'EOF'
{
"type": "object",
"properties": {
"summary": { "type": "string" },
"files_changed": { "type": "array", "items": { "type": "string" } },
"risk_level": { "type": "string", "enum": ["low", "medium", "high"] }
},
"required": ["summary", "files_changed", "risk_level"]
}
EOF
codex exec "重构 src/utils/date.ts,把 moment 替换为 dayjs" \
--full-auto --output-schema /tmp/schema.json -o /tmp/result.json
2. codex review — 代码审查
让 Codex 对代码变更做非交互式 review。
基本用法
# review 未提交的改动(staged + unstaged + untracked)
codex review --uncommitted
# review 相对于某个分支的改动
codex review --base main
# review 某个 commit
codex review --commit abc1234
# 带自定义 review 指令
codex review --uncommitted "重点关注性能问题和潜在的内存泄漏"
捕获 review 结果
review 输出到 stdout,可以直接重定向:
codex review --uncommitted > /tmp/review-result.md 2>&1
3. codex cloud exec — 云端任务(实验性)
把任务提交到 Codex Cloud 异步执行,适合耗时较长的任务。
# 提交任务
codex cloud exec "为整个项目添加单元测试,覆盖率目标 80%"
# 查看任务列表
codex cloud list
# 查看任务状态
codex cloud status <task-id>
# 查看 diff
codex cloud diff <task-id>
# 应用改动到本地
codex cloud apply <task-id>
4. 其他实用命令
应用历史 session 的 diff
codex apply <task-id>
作为 MCP Server 运行
codex mcp-server
可以把 Codex 注册为 Claude Code 的 MCP server,实现工具级集成。
5. 从 Claude Code 调用的最佳实践
何时委托给 Codex
适合委托:
- 独立、边界清晰的编码子任务(如:写一个工具函数、重构某个文件)
- 代码审查(
codex review) - 需要第二意见的方案验证
- 大范围只读分析
- 用户明确要求使用 Codex
不适合委托:
- 需要当前会话上下文的连续工作
- 涉及敏感凭据或密钥的操作
- 需要实时人机交互确认的任务
构造有效的 prompt
给 Codex 的 prompt 应当自包含,因为它看不到 Claude Code 的会话上下文:
✗ "把刚才讨论的那个函数实现一下"
✓ "在 src/utils/format.ts 中创建 formatCurrency 函数,接收 number 和 locale 参数,返回格式化货币字符串。参考同文件中 formatDate 的实现风格。"
读取输出结果
# 方式一:-o 写文件,然后读取
codex exec "..." --full-auto -o /tmp/codex-out.md
cat /tmp/codex-out.md
# 方式二:--json 流式解析
codex exec "..." --full-auto --json 2>/dev/null | tail -1
超时控制
Codex exec 没有内置超时参数,用 timeout 命令包装:
timeout 120 codex exec "..." --full-auto -o /tmp/result.md
错误处理
检查退出码:
0— 成功- 非
0— 失败,检查 stderr
if codex exec "..." --full-auto -o /tmp/result.md 2>/tmp/codex-err.log; then
cat /tmp/result.md
else
echo "Codex 执行失败:"
cat /tmp/codex-err.log
fi
6. 本机配置参考
当前机器的 Codex 配置位于 ~/.codex/config.toml。关键配置项:
# 模型提供商与模型
model_provider = "rightcode"
model = "gpt-5.4"
# 沙箱策略(exec 子命令可覆盖)
# -s read-only | workspace-write | danger-full-access
# 项目信任级别
[projects."/path/to/project"]
trust_level = "trusted" # trusted 项目可跳过部分审批
# MCP 服务器(Codex 也支持 MCP 集成)
[mcp_servers.xxx]
type = "stdio"
command = "..."
args = [...]
运行时可通过 -c key=value 覆盖任何配置项:
codex exec "..." -c model="o3" -c model_reasoning_effort="high"
More from nangongwentian-fe/agent-skills
persistent-memory
通用跨会话记忆协议(Universal Memory Protocol)。让所有 AI 编程工具共享同一套记忆系统。适用 Claude Code / Cursor / Aider / Cline / Codex / Trae / OpenCode。能力:智能分类 / FSRS 衰减 / 月度压缩 / 多层检索。触发:用户说"记住";问"之前";检测到敏感信息;会话结束。
23exa-unified-research
Use this skill for ANY web research task — looking up companies, finding people, searching for code examples or API docs, reading tech blogs, finding academic papers, checking SEC filings or financial reports, or gauging social media sentiment. Covers any question that requires searching the internet for current information. Exa provides neural/semantic search that returns higher-quality, better-structured results than simple keyword search. Load this skill whenever the user asks you to search, research, find, look up, or investigate anything online — even if you think you can handle it with built-in search tools, this skill will produce significantly better results.
10git-rebase-workflow
Git Rebase 分支同步流程,用于将当前功能分支 rebase 到最新的目标分支(如 master/main),保持提交历史整洁。适用于功能分支落后于目标分支时,需要同步最新代码的场景。
8code-review-uncommitted
对 git 中未提交的代码变更进行多维度 code review,包括项目规范合规性、Bug 扫描、代码注释合规性、组件封装/架构设计合理性审查,并通过置信度评分过滤误报。当用户要求 review 未提交的代码、review 当前改动、或使用 /code-review-uncommitted 时触发。
8reflect-and-remember
|
4web-content-fetcher
>
1