Codex CLI 接入指南

最后更新

OpenAI 的终端编程代理,走 Responses 协议接入。

适用场景

适合在终端里让代理读项目、改文件、跑测试。Codex CLI 走 Responses 协议(wire_api = "responses"),密钥从环境变量读取,不写进配置文件。

使用建议

编程代理一次任务会连续发出很多请求,输入也长,建议选上下文较长、支持工具调用的模型,并给密钥设置每日消费上限。

推理档位

Codex CLI 把 config.toml 里的 model_reasoning_effort 作为 reasoning.effort 发出。平台按模型实际走的线路能接受的档位处理:上游不收请求的档位时改用更高一档,高过最高档时取最高档;模型不能关闭思考时,要求关闭会返回 422 model.reasoning_off_unsupported。每个模型的对照表见模型目录里该模型的「推理档位」一节;发生改写的调用,用量明细里会显示「推理档位改写」。

连不通时检查

  1. base_url 填 https://omnimodel.me/v1,不要多写 /responses。
  2. 密钥以 key_ 开头且没有被暂停或撤销,错误码 auth.invalid_key 表示密钥不可用。
  3. 模型 ID 与模型目录一致,并且在这把密钥的可用模型里。
  4. 余额不足会返回 billing.insufficient_credit,更多错误见常见错误。

配置步骤

  1. 安装:npm install -g @openai/codex。
  2. 在 shell 配置里导出密钥:export A2AGENT_API_KEY=<上面的 API 密钥>。
  3. 把下面这段写进 ~/.codex/config.toml 的最前面,再在项目目录执行 codex。

配置参数

  • API 地址:https://omnimodel.me/v1
  • API 密钥:YOUR_API_KEY
  • 模型:MODEL_ID

平台对 Codex CLI 的兼容性验收仍在进行,遇到问题请提交工单并附上请求 ID。

model = "MODEL_ID"
model_provider = "a2agent"

[model_providers.a2agent]
name = "A2Agent"
base_url = "https://omnimodel.me/v1"
env_key = "A2AGENT_API_KEY"
wire_api = "responses"

常见问题

为什么 model 和 model_provider 要放在文件最前面?
TOML 里写在某个表头之后的键会归到那个表。放在最前面才是顶层设置,Codex 才会用它们。
可以把密钥直接写进 config.toml 吗?
不建议。env_key 让 Codex 从环境变量读密钥,配置文件可以放心同步或备份。