跳转到主要内容
Codex CLI 是 OpenAI 官方推出的命令行 AI 编程代理,支持在终端中通过自然语言完成代码生成、重构、调试、文件编辑和系统命令执行等任务。与其他 AI 编程工具相比,Codex CLI 具备完整的沙箱隔离能力和细粒度的权限控制。

安装

1

检查 Node.js 版本

需要 Node.js 22+。
2

安装 Codex CLI

配置 ePhone AI

Codex CLI 通过 model_providers 定义自定义 API 提供商,并通过顶层 model_provider 指定默认使用哪个 Provider。
1

设置 API Key 环境变量

2

创建配置文件

在 ~/.codex/config.toml 中写入以下内容:
三个关键配置,缺一不可:
  • model_provider = "ephone" — 如果不设置,Codex 会把 gpt-4o 等已知模型名直接路由到 OpenAI 官方
  • wire_api = "responses" — Codex 唯一支持的协议,使用 Responses API
  • env_key = "OPENAI_API_KEY" — 这里填的是环境变量名称,不是 Key 值本身

启动与审批模式

首次启动时需要选择审批模式,控制 Codex 执行操作时的权限策略: 在 config.toml 中设置默认审批模式:

常用命令

CLI 启动参数

会话内命令

在交互式会话中,可以使用以下斜杠命令:

推荐模型

使用 /model 命令可以在会话中随时切换模型,无需重启。

项目配置:AGENTS.md

Codex 会在启动时自动读取 AGENTS.md 文件作为项目上下文指令,类似于 Claude Code 的 CLAUDE.md。通过分层配置,你可以为不同项目、不同目录设置不同的规则。

配置发现顺序

  1. 全局配置:~/.codex/AGENTS.md — 所有项目共享的默认规则
  2. 项目根目录:<project-root>/AGENTS.md — 项目级规则
  3. 子目录:<subdir>/AGENTS.md — 子目录级覆盖规则
每个层级也支持 AGENTS.override.md,优先级高于同目录的 AGENTS.md。

全局配置示例

项目配置示例

子目录覆盖示例

配置档案 (Profiles)

Profiles 可以让你快速切换不同的配置集,适合在不同项目或场景间切换:
使用时通过 --profile 切换:
每个 Profile 都需要设置 model_provider = "ephone",否则切换 Profile 后可能回退到 OpenAI 官方。

MCP 服务器集成

Codex CLI 支持通过 MCP(Model Context Protocol) 连接外部工具,显著增强 Agent 能力。
配置后 Codex 可以直接查询文档、操作 GitHub 等,无需手动提供上下文。

推理控制

对于支持推理的模型(如 o4-mini),可以控制推理深度:
推理等级越高,模型思考越深入,但 token 消耗也越大。日常任务建议使用 medium,复杂重构使用 high。

网络搜索

Codex 支持在对话中进行网络搜索,获取最新的文档和信息:
  • cached:使用 OpenAI 维护的索引(默认,速度快)
  • live:实时获取网页内容(信息最新)
  • disabled:关闭搜索功能
也可以在启动时通过 --search 参数启用:

沙箱与安全

Codex 提供三级沙箱策略保护你的系统:

使用场景示例

代码重构

Bug 修复(附带截图)

项目初始化

Git 操作

代码审查

完整配置参考

常见问题排查

原因:未设置 model_provider = "ephone",Codex 将已知模型名(如 gpt-4o)路由到内置 OpenAI Provider。解决:确认 config.toml 顶层有 model_provider = "ephone"。如果之前通过 ChatGPT 登录过 Codex,还需要清除缓存凭证:
原因:缺少 model_provider 配置,导致 Codex 将 WebSocket 连接发到 OpenAI 官方而非 ePhone AI。解决:确认 config.toml 顶层有 model_provider = "ephone",这会让 Codex 连接到 wss://api.ephone.ai/v1/responses。
原因:env_key 应填写环境变量的名称(如 "OPENAI_API_KEY"),而不是 API Key 值本身。解决:确认 env_key = "OPENAI_API_KEY",并确认已通过 export OPENAI_API_KEY="sk-..." 设置环境变量。
原因:Profile 中没有设置 model_provider,切换后使用默认的 OpenAI Provider。解决:每个 Profile 都需要加上 model_provider = "ephone"。

注意事项

Codex CLI 的自主模式会频繁调用模型并执行系统命令,Token 消耗远高于普通对话。建议使用 Tier 2 账户以避免触发速率限制。
  • 使用 disable_response_storage = true 关闭 API 响应存储,第三方 Provider 必须设置
  • 使用 /compact 命令可以压缩过长的对话历史,防止触发上下文窗口限制
  • 日志文件位于 ~/.codex/log/,遇到问题时可以查看排查

相关资源

Codex CLI 官方文档

OpenAI 官方文档

GitHub 仓库

开源代码与 Issue

AGENTS.md 规范

项目配置文件规范