Codex CLI
Codex CLI 是 OpenAI 官方推出的 AI 编程命令行工具,跟 Claude Code 定位类似,但走 OpenAI 自家的 GPT-5 系列模型。
关键差异:协议用 OpenAI Responses API(不是更常见的 ChatCompletions),所以配置时要写明
wire_api = "responses"且base_url不带/v1。模型选gpt-5.5-codex/gpt-5.3-codex等编码专项版本——这是 OpenAI 针对长链路工程任务做的优化版。适合谁:习惯 OpenAI 生态、偏好 GPT-5 模型链路稳定性、愿意配 toml 文件的开发者。
本教程:把 Codex CLI 指向 claude-api.org,跑 GPT-5 系列且无需 ChatGPT Plus 订阅。
OpenAI 官方 Codex 命令行工具。配 OpenAI 渠道使用,走 Responses API 协议。
推荐渠道
OpenAI——单渠道同时支持 Responses API(Codex CLI 走的)和 ChatCompletions(其他 OpenAI 兼容工具走的)。
安装
需要 Node.js 18+。
npm install -g @openai/codex或下载 GitHub release 二进制。
配置
Codex CLI 用 ~/.codex/config.toml 配置 provider:
model_provider = "OpenAI"
model = "gpt-5.4"
[model_providers.OpenAI]
name = "OpenAI"
base_url = "https://claude-api.org"
wire_api = "responses"
requires_openai_auth = trueexport OPENAI_API_KEY="sk-你的key"Base URL 不带 /v1
Codex 用 OpenAI 的 Responses API(不是 ChatCompletions),路径是 /v1/responses,所以 base_url 写到 https://claude-api.org 即可,不要加 /v1。
验证
codex进入交互模式后输入 Write a Python function to reverse a string,能给出代码即接入成功。
或 curl:
curl -sS https://claude-api.org/v1/responses \
-H "Authorization: Bearer sk-你的key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4",
"input": "ping",
"max_output_tokens": 32
}'模型选择
| 模型 | 适合 |
|---|---|
gpt-5.4 | 主力,平衡能力与价格(推荐起步) |
gpt-5.5 | 最新版 |
gpt-5.5-codex | 最新编码专项 |
gpt-5.3-codex | 编码专项,写代码强 |
gpt-5.3-codex-spark | Codex 加速版,更快但稍弱 |
gpt-5.2 / gpt-5.2-pro | 上代 / 长链路推理 |
启动时:
codex --model gpt-5.5-codex或在 config.toml 里改 model =。
不要让 Codex CLI 用默认 model
Codex CLI 不显式设置 model = 时,默认发的是 gpt-5(不带版本号),我们这边没做短名兜底,会直接拿到 503 No available accounts。务必在 config.toml 里写明上面表格里的精确名。
常见问题
401 Invalid API key
- Key 错了 / 没绑 OpenAI 渠道。后台创建 Key 时渠道选
OpenAI。 - 注意 Codex CLI 用的是
Authorization: Bearer ...头,不是x-api-key。
404 Not Found
wire_api写成了chat(默认)→ Codex CLI 默认用 ChatCompletions,但我们 Codex 渠道是 Responses API,必须改成responses。- 或者
base_url多了/v1→ 去掉。
tool calls 失败 / 工具循环
Responses API 协议对部分 tool 调用形式有限制。如果你的 Codex 一直在工具死循环,可考虑改用 ChatCompletions 协议(同一 OpenAI 渠道也支持,把 wire_api 改成 chat、base_url 加 /v1),或换到 Claude 渠道(工具调用更稳)。
更多见 FAQ。
