配置速查
Codex CLI 的字段全在 config.toml 里,四个值必须对齐。
| 配置项 | 填什么 | 容易错在哪 |
|---|---|---|
base_url | https://turingapi.space/v1 | 这里要带 /v1,与 Claude Code 相反 |
wire_api | responses | 写成 chat 会被直接拒绝 |
env_key | 环境变量名,如 TURING_API_KEY | 指的是变量名,不是密钥本身 |
密钥 | 放环境变量 | 不要写进 config.toml |
/v1/responses。图灵 API 三条协议都支持,所以这条路能通;但如果 wire_api 写成 chat,Codex 会去请求 /v1/chat/completions 并带上不兼容的请求体,直接被拒。前置准备
配置文件路径固定,准备好密钥就可以开始。
在 注册页 建账号,控制台新建密钥并保存。
macOS / Linux 在 ~/.codex/config.toml,Windows 在 %USERPROFILE%\.codex\config.toml。目录不存在就手动建。
终端里 export TURING_API_KEY="sk-...",或写进 shell 配置文件。密钥不要落进 toml。
配置步骤
改一个文件、设一个环境变量,然后重启 Codex CLI。
写入 config.toml 主流程
- 打开或新建
~/.codex/config.toml - 加入
model与model_provider两个顶层字段 - 增加一个
[model_providers.turingapi]段 - 把
wire_api写成responses - 保存后用
codex启动并发起一次对话
model = "gpt-6.1-sol"
model_provider = "turingapi"
[model_providers.turingapi]
name = "Turing API"
base_url = "https://turingapi.space/v1"
env_key = "TURING_API_KEY"
wire_api = "responses"段名 [model_providers.turingapi] 里的 turingapi 必须和 model_provider 的值完全一致。
设置密钥环境变量 必做
- macOS / Linux:写进
~/.zshrc或~/.bashrc - Windows:用
setx TURING_API_KEY "sk-..." - 改完重开终端,Codex 才能读到
export TURING_API_KEY="sk-你的密钥"变量名要和 config.toml 里的 env_key 一模一样,大小写敏感。
多供应商并存 进阶
- 在同一个 config.toml 里可以定义多个
[model_providers.xxx]段 - 用
model_provider决定当前用哪一个 - 也可以把模型和供应商打包成 profile 按需切换
[profiles.fast]
model = "gpt-5.6-terra"
model_provider = "turingapi"想同时保留官方账号和这里,用 profile 切换比每次改配置更安全。
验证是否配置成功
看到这些就说明通了
codex能正常启动,没有配置解析错误- 发起一次对话,能流式返回
- 控制台「用量」页出现记录
配置解析错误会在启动时直接报出来,能启动就说明 toml 语法和段名都对。
常见报错对照
- 配置文件解析失败 → 检查 TOML 引号与段名拼写
- 400 / 请求被拒 →
wire_api是不是写成了chat - 401 →
env_key指向的变量不存在或密钥错
echo $TURING_API_KEY这条命令输出为空,说明环境变量没设上,Codex 拿不到密钥。
常见问题
Codex CLI 的配置问题基本都是 TOML 层面的,看报错就能定位。
wire_api 到底该写什么?
responses。Codex CLI 走 Responses 协议,写成 chat 会去请求 Chat Completions 并带上不兼容的请求体,直接被拒。
base_url 要不要带 /v1?
要带。https://turingapi.space/v1。这一点和 Claude Code 正好相反——Claude Code 自己补 /v1,Codex CLI 不补。
能把密钥直接写进 config.toml 吗?
不建议。配置文件容易被同步、备份、误提交到仓库。用 env_key 指向环境变量,文件里只留变量名。
改了配置没生效?
Codex CLI 启动时读配置,改完要重启进程。另外确认改的是当前用户目录下的那份 config.toml,而不是项目目录里的另一份。
为什么一直提示找不到 provider?
model_provider 的值和 [model_providers.X] 里的 X 不一致。两者字符串必须完全相同,包括大小写。
相关客户端
CClaude Code
走 Anthropic 协议,地址不带 /v1
CCursor
必须手动添加模型名,它不会自动拉
CCline
靠工具调用干活,模型必须支持 tools
RRoo Code
支持 Profile,可多套配置切换
接入过程卡住了?到 QQ 群 1128182538 说明「客户端 + 报错码 + 时间点」,比只说"用不了"好排查得多。其他通用问题见 常见问题。