Codex CLI 国内怎么用?用 config.toml 接入中转 API

更新于 2026-09-23

Codex CLI 是 OpenAI 的命令行编程工具。它不像 Claude Code 那样只靠环境变量,而是在配置文件里声明一个「模型提供方」。下面按官方文档的写法一步步来。

配置文件在哪

Codex 的配置文件是 ~/.codex/config.toml(Windows 在用户目录下的 .codex 文件夹里)。没有就新建一个纯文本文件,注意扩展名是 .toml

加一个自定义提供方

官方文档给出的结构是:顶层 model_provider 指向一个 ID,再用 [model_providers.这个ID] 写具体参数。把下面内容里的中文换成你的真实值:

model = "中转站模型列表里的模型名"
model_provider = "relay"

[model_providers.relay]
name = "我的中转站"
base_url = "https://你的中转站地址/v1"
env_key = "RELAY_API_KEY"
wire_api = "responses"
  • base_url:中转站的 OpenAI 兼容地址,要不要带 /v1 以站点说明为准。
  • env_key:不是 Key 本身,而是存放 Key 的环境变量名
  • 提供方 ID 不能用 openaiollamalmstudio 这几个内置名字。

把 Key 放进环境变量

Mac / Linux:

export RELAY_API_KEY="sk-你的令牌"
codex

Windows PowerShell:

$env:RELAY_API_KEY = "sk-你的令牌"
codex

想长期生效,Mac 加到 ~/.zshrc,Windows 在系统环境变量里新建。

wire_api 选 responses 还是 chat

官方文档把 "responses" 作为现行协议,"chat" 标注为已弃用。所以优先填 responses;如果你的中转站明确说只支持 Chat Completions,才考虑 chat,并留意 Codex 新版本是否还支持。中转站是否支持 Responses 接口,看站点说明或直接问客服。

常见问题排查

  • 认证失败:先 echo $RELAY_API_KEY 看变量有没有值,再核对 env_key 的名字是否一致。
  • 404:多半是 base_url/v1 多了或少了。
  • 模型不存在model 必须和站点模型列表完全一致;很多站会把 Codex 能用的模型放在单独分组里,令牌要选对分组。

常见问题

Codex 国内能用吗?
可以。Codex CLI 支持在 config.toml 里自定义 model_provider 和 base_url,把请求发到国内可访问的中转站。
env_key 里直接填 Key 可以吗?
不行。env_key 填的是环境变量的名字,Key 本身要放在这个环境变量里。

参考来源

所属场景