
OpenAI Codex CLI 是一款开源的终端 AI 编程助手,能够直接在命令行中理解项目、修改代码、执行命令。对于终端党和服务器运维场景来说,它比任何 GUI 工具都更高效。
本文将 Codex CLI 的所有常用命令进行系统分类,从基础到进阶,帮你快速掌握这款工具的全部能力。
一、安装与配置命令
1.1 安装
# npm 全局安装(推荐)
npm install -g @openai/codex
# macOS Homebrew
brew install --cask codex
# 验证安装
codex --version
1.2 认证配置
# 方式一:浏览器登录(推荐)
codex login
# 方式二:环境变量
export OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxx"
# 写入 shell 配置(永久生效)
echo 'export OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxx"' >> ~/.zshrc
source ~/.zshrc
1.3 诊断检查
# 检查配置是否正确
codex doctor
二、基础启动命令
2.1 交互模式(最常用)
# 在当前目录启动 Codex
codex
# 指定安全模式启动
codex --approval-mode suggest # 只读建议模式
codex --approval-mode auto-edit # 自动编辑模式
codex --approval-mode full-auto # 全自动沙箱模式
2.2 单次命令模式
# 直接执行一个任务
codex "为 UserService 生成单元测试"
# 指定模型执行
codex --model o3 "分析这个项目的架构"
2.3 管道输入模式
# 将其他命令的输出喂给 Codex
cat error.log | codex "分析这个报错并给出修复建议"
# 结合 git 使用
git diff | codex "review 这段代码变更"
三、对话内斜杠命令
在 Codex 交互界面中,可以使用以下斜杠命令:
3.1 会话管理
| 命令 | 功能 | 说明 |
|---|---|---|
/init | 初始化项目配置 | 在当前目录生成 AGENTS.md 配置文件 |
/new | 新建对话 | 清空上下文,开始全新对话 |
/compact | 压缩上下文 | 对话太长时压缩历史,释放上下文空间 |
/quit | 退出 | 结束当前会话 |
3.2 模型与配置
| 命令 | 功能 | 说明 |
|---|---|---|
/model | 切换模型 | 在 gpt-5.2-codex、o3 等模型间切换 |
/config | 查看配置 | 显示当前配置信息 |
/help | 帮助 | 显示所有可用命令 |
3.3 上下文控制
| 命令 | 功能 | 说明 |
|---|---|---|
@file | 引用文件 | 在输入框中附加文件上下文 |
@dir | 引用目录 | 附加整个目录的上下文 |
四、会话恢复命令
Codex 会自动保存会话历史,支持断点续作:
# 恢复最近一次会话
codex resume --last
# 恢复指定会话
codex resume abc123
# 列出所有历史会话
codex resume --list
会话日志存储在 ~/.codex/sessions/ 目录,JSON 格式,可以手动查看。
五、三种安全模式详解
这是 Codex 区别于其他 AI 编程工具的核心特性:
| 能力 | Suggest(建议) | Auto Edit(自动编辑) | Full Auto(全自动) |
|---|---|---|---|
| 读取文件 | ✅ | ✅ | ✅ |
| 写入文件 | ❌ 需确认 | ✅ 直接改 | ✅ 直接改 |
| 执行命令 | ❌ 需确认 | ❌ 需确认 | ✅ 沙箱内执行 |
| 网络访问 | ✅ | ✅ | ❌ 沙箱隔离 |
| 适合场景 | 新手探索 | 日常开发 | 批量操作/测试 |
安全说明:Full Auto 模式虽然在沙箱中运行(macOS 用 sandbox-exec,Linux 用 Docker 容器),网络是断开的,无法执行 rm -rf / 等危险操作。
六、进阶使用技巧
6.1 AGENTS.md 项目配置
使用 /init 生成的 AGENTS.md 文件,可以自定义 Codex 在项目中的行为规则:
# AGENTS.md 示例
## 项目规范
- 使用 TypeScript strict 模式
- 所有函数必须有 JSDoc 注释
- 测试框架使用 Jest
- 代码风格遵循 ESLint 配置
## 禁止事项
- 不要修改 database/migrations/ 目录下的文件
- 不要删除任何测试文件
- 不要修改 package.json 的版本号
Codex 启动时会自动读取这个文件,作为行为约束。
6.2 子目录级指令
除了项目根目录的 AGENTS.md,还可以在子目录中放置 codex.md,实现目录级别的精细控制:
# src/api/codex.md
## API 模块规范
- 所有接口必须有参数校验
- 错误码使用统一枚举
- 响应格式遵循 { code, data, message } 结构
6.3 上下文压缩策略
当项目文件较多或对话历史过长时,使用 /compact 压缩上下文:
- 对话超过一定轮次后,Codex 会提示上下文即将耗尽
- 执行
/compact后,历史对话会被压缩为摘要 - 也可以针对性指定只看某个子目录,减少上下文消耗
6.4 管道与脚本集成
Codex 可以无缝集成到 shell 脚本和工作流中:
# 分析 git 提交记录
git log --oneline -20 | codex "总结最近的开发进展"
# 分析代码质量
find src -name "*.ts" | xargs wc -l | codex "分析代码量分布"
# 自动 review PR
git diff main...feature | codex "review 这个 PR,指出潜在问题"
6.5 结合 cron 定时任务
# 每天早上自动分析项目状态
0 9 * * * cd /path/to/project && codex "检查项目状态,报告异常" 2>&1 | mail -s "项目日报" dev@example.com
七、命令行参数速查
| 参数 | 功能 | 示例 |
|---|---|---|
--model | 指定模型 | codex --model o3 "任务" |
--approval-mode | 安全模式 | codex --approval-mode full-auto |
--quiet | 静默模式 | codex --quiet "任务" |
--version | 查看版本 | codex --version |
--help | 查看帮助 | codex --help |
resume | 恢复会话 | codex resume --last |
login | 登录认证 | codex login |
doctor | 诊断检查 | codex doctor |
八、常见问题排查
| 问题 | 原因 | 解决 |
|---|---|---|
SyntaxError: Unexpected token '?' | Node.js 版本过低 | 升级到 Node.js 18+ |
429 Rate Limit | API 额度不足 | 检查 OpenAI 账户余额 |
| Full Auto 下网络不通 | 沙箱隔离网络 | 切到 Auto Edit 模式 |
| 上下文溢出 | 项目文件过多 | 用 /compact 压缩或缩小范围 |
| 修改不符合预期 | Suggest 模式限制 | 切到 Auto Edit 模式 |
九、Codex CLI vs Claude Code vs DeepSeek TUI
| 特性 | Codex CLI | Claude Code | DeepSeek TUI |
|---|---|---|---|
| 开源 | ✅ | ❌ | ✅ |
| 默认模型 | gpt-5.2-codex | Claude Sonnet 4 | DeepSeek V4 |
| 上下文 | 标准 | 200K | 100万Token |
| 沙箱安全 | ✅ 三级模式 | ❌ | ❌ |
| 会话恢复 | ✅ | ✅ | ✅ |
| 管道输入 | ✅ | ❌ | ❌ |
| 子智能体 | ❌ | ✅ | ✅ |
| 价格 | 按API计费 | $20/月或$200/月 | 极低(Flash版) |
结语
Codex CLI 的核心优势在于终端原生 + 沙箱安全 + 管道友好。它不需要 IDE,不需要插件,一个命令就能在任何服务器上运行。对于日常开发、批量操作、CI/CD 集成等场景,它是最轻量也最灵活的选择。
建议收藏本文作为速查手册,需要时随时翻阅。掌握这些命令,你的终端 AI 编程效率至少提升一个量级。
