通过在~/.codex/config.toml添加自定义provider和profile,让Codex CLI连接Opper等兼容Responses API的网关,从而在OpenAI自家CLI里跑Claude、Kimi等模型。
OpenAI 的 Codex CLI 确实是一个好用的编程 Agent,但默认只跑 OpenAI 的模型、走 OpenAI 的账单。有时候你需要 Claude Opus 来啃一块难缠的重构,用 Kimi K3 Code 做长时间的低成本会话,或者因为客户追问 token 去向而需要一个托管在欧盟基础架构上的模型。
大多数人没注意到的是:Codex 内置了自定义 provider 支持。它通过 Responses API 连接到你指定的 base_url,所以任何实现了 Responses API 的网关都能作为 Codex 背后的路由器。无需分叉、无需代理,一个配置块搞定。
Codex 读取 ~/.codex/config.toml。在其中添加一个 provider 和一个 profile:
[model_providers.opper]
name = "Opper"
base_url = "https://api.opper.ai/v3/compat"
env_key = "OPPER_API_KEY"
wire_api = "responses"
[profiles.opus]
model = "anthropic/claude-opus-4-7"
model_provider = "opper"
[profiles.kimi]
model = "moonshot/kimi-k3"
model_provider = "opper"
这里我用的是 Opper(声明:我在那家公司工作),一个托管在欧盟的网关,700+ 模型通过一个 API 密钥访问,且实现了 Responses API。导出密钥,然后用 profile 启动:
export OPPER_API_KEY="your-key"
codex --profile opus
这就是整个路由设置。是的,这意味着 Claude 运行在 OpenAI 自己的 CLI 内部——这事怎么想都好笑。
如果你不想改动配置文件,Opper CLI 可以直接帮你写入那个配置块(带了哨兵标记,所以不会覆盖你现有的配置,且可以干净地移除自身):
npm install -g @opperai/cli
opper launch codex
它会检测 Codex(若未安装则用 --install 安装),配置 provider,然后以预设 profiles 启动。opper launch codex --model moonshot/kimi-k3 可以在启动时指定模型。
openai/gpt-5.3-codex:Codex 为其构建的模型,通过 API 账单计费。坦诚地说:如果你已经有 ChatGPT 计划,Codex 已经包含在其中,这是使用这个模型更便宜的路径。路由的价值在于其他所有模型。
anthropic/claude-opus-4-7 / claude-sonnet-4-6:这是人们配置这套方案最常见的原因。
moonshot/kimi-k3 和 alibaba:global/kimi-k2.7-code:在长时间 agent 会话中每美元编程产出很强的模型。
欧盟变体,如 vertexai/gemini-3.7-flash-eu 或欧洲 Vertex 区域的 Claude——如果 token 留在欧洲是要求而非偏好。
完整目录(含每模型定价、上下文窗口和托管地区)在 opper.ai/models。每条路由都标注了运行地点和数据保留策略,这是我的合规意识强的客户真正在意的部分。
Codex 通过 Responses API 与自定义 provider 通信(wire_api = "responses")。仅支持 chat-completions 的网关需要 wire_api = "chat",Codex 也支持,但 Responses 是原生路径,也是我在这里测试时用的。
网关侧按量付费,只对成功的响应计费,所以失败请求在其他地方重试不会双重收费。
如果你在使用某个特定模型时遇到奇怪的问题,请在评论区告诉我,我每天都在跑这套方案。