每日新闻 / 2026-06-25

Codex CLI 完全使用手册:OpenAI 命令行编程工具核心功能与进阶技巧详解

XycAi
Codex CLI 完全使用手册:OpenAI 命令行编程工具核心功能与进阶技巧详解

如果你用过 GitHub Copilot 或者在编辑器里接入过 GPT-5.5,会发现有一类场景它们都不太擅长:跨文件重构、自动跑测试、根据错误输出自我修正。这正是 Codex CLI 的设计目标——一个运行在终端里的编程代理,能读写文件、执行命令、在沙箱里迭代,直到任务完成。本文是一份系统性的 Codex CLI 使用教程,不讲概念,只讲怎么用。

安装与基础配置

Codex CLI 通过 npm 分发,Node.js 18+ 环境直接安装:

npm install -g @openai/codex
codex --version

安装后第一件事是设置 API Key。Codex 读取环境变量 OPENAI_API_KEY,推荐写进 ~/.zshrc~/.bashrc

export OPENAI_API_KEY="sk-..."

默认模型是 GPT-5.4,如果想用旗舰级的 GPT-5.5 或者成本更低的 GPT-5.4-mini,通过 --model 参数指定:

codex --model gpt-5.5 "重构这个项目的错误处理逻辑"
codex --model gpt-5.4-mini "给所有函数补上 JSDoc 注释"

三个模型的选择逻辑很直接:复杂架构决策用 GPT-5.5,日常编码任务用 GPT-5.4,批量文档或简单重复性工作用 mini,后者成本约是旗舰的 1/8。

沙箱模式:安全执行的核心机制

Codex CLI 最值得单独讲的设计是它的审批模式(approval mode),本质上是一套分级沙箱,控制 AI 在没有人类确认的情况下能做什么。

有三个档位:

模式 文件写入 执行命令 网络访问 适用场景
suggest 仅建议 只看不动,代码审查
auto-edit ✅ 自动 需确认 文件修改,命令手动批准
full-auto ✅ 自动 ✅ 自动 可配置 CI/CD、无人值守脚本

日常开发推荐 auto-edit,它会直接修改文件但在执行 npm testgit commit 这类命令前暂停让你确认:

codex --approval-mode auto-edit "修复所有 TypeScript 类型错误"

full-auto 模式下,Codex 会在沙箱网络隔离环境中运行,默认禁止出站连接。需要它访问 npm registry 时,可以通过 --allowed-hosts 白名单放行:

codex --approval-mode full-auto \
  --allowed-hosts registry.npmjs.org \
  "安装依赖并跑通测试套件"

实际测试中,full-auto 在一个中型 Node.js 项目里跑完「安装依赖 → 执行测试 → 修复失败用例 → 再次验证」完整循环大约需要 4~6 轮迭代,GPT-5.5 通常比 GPT-5.4 少 1~2 轮。

文件编辑与多步骤任务执行

Codex 不是简单的代码补全,它是一个有持久上下文的编辑代理。运行时它会把当前目录的文件树和 git diff 信息注入上下文,理解你在做什么。

典型的多步骤工作流:

# 1. 在项目根目录启动(自动读取目录结构)
cd my-project
codex "把所有 REST 接口从 Express 迁移到 Fastify,保留现有路由签名"

Codex 会依次:分析现有路由文件 → 生成迁移计划 → 按文件逐个修改 → 更新 package.json 依赖 → 建议运行测试命令。整个过程它会输出每一步的操作日志,你可以随时 Ctrl+C 中断。

对于需要跨多个 session 延续的长任务,使用 --context 加载上次的会话快照:

codex --context .codex/session_abc123.json "继续上次的重构,处理剩余的 auth 模块"

.codex/ 目录下的 session 文件记录了对话历史和已完成的文件操作,方便任务中断后恢复。

有一个细节值得注意:Codex 默认只处理 git 追踪的文件,.gitignore 里的路径不会被读取或修改。这个设计防止它误动 .envnode_modules,但如果你想让它处理未追踪文件,需要加 --include-untracked

进阶技巧:提示词工程与自定义指令

写给 Codex 的 prompt 和写给普通聊天模型的不一样,它执行的是任务,不是对话。几个有效果的模式:

约束输出范围:越具体越好。"重构错误处理"比"改进代码质量"执行结果稳定得多。明确告诉它目标文件、技术栈约束、不能改动的接口。

利用 AGENTS.md:在项目根目录放一个 AGENTS.md 文件,Codex 每次启动会自动读取它作为系统指令。适合写项目规范:

# 项目规范
- 使用 pnpm,不用 npm 或 yarn
- 测试框架是 Vitest,不是 Jest
- 所有异步函数必须有错误边界
- 提交前必须通过 `pnpm lint`

这等价于给每次对话预埋了 200 字的上下文,省去反复交代背景的成本。

管道用法:Codex 接受 stdin,可以把错误日志直接喂给它:

pnpm test 2>&1 | codex "根据这些测试失败信息修复代码"

或者把代码审查意见转成自动修复:

cat review_comments.txt | codex --approval-mode auto-edit "应用这些代码审查建议"

对比其他编码 CLI:Codex 的直接竞品是 Anthropic 的 Claude Code 和 Google 的 Gemini CLI。Claude Code 在长上下文理解和多文件一致性上有优势(Claude Opus 4.8 的上下文窗口更大);Gemini CLI 与 Google 工作区集成更紧密;Codex 的优势在于与 OpenAI 生态的原生集成以及 GPT-5.5 在代码生成指标上的表现。三者的 API 接口格式差异不大,用 OpenAI 兼容的中转服务可以在同一个项目里切换测试。


用 Codex CLI 久了会有一个体会:它真正的价值不在于写代码有多快,而在于能把「写代码 → 跑测试 → 看报错 → 修复 → 再跑」这个循环自动化。如果你同时在跑 Claude Code 或 Gemini CLI 做横向对比,或者想用更低成本跑 GPT-5.5 / GPT-5.4,推荐看一下 XycAi 词元平台(https://www.xyc.ai)。它是 OpenAI 兼容接口,200+ 模型统一接入,GPT 和 Claude 官方模型最低到官方价 1.4 折,而且原生支持 Codex CLI / Claude Code / Gemini CLI 一键切换——改一个环境变量就能跑,不用动工作流里的其他配置。

一个 API 接入 200+ 全球 AI 模型

GPT · Claude · Gemini 官方模型低至 1.4 折起,持大模型算法备案号,CN2 直连低至 5ms,可开全球合规发票。

立即体验 XycAi →