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 不能用
openai、ollama、lmstudio这几个内置名字。
把 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 本身要放在这个环境变量里。