AI API 中转站使用说明:Claude Code / Codex / OpenAI 兼容客户端配置、购买前须知与错误排查。

Codex API 手动配置指南

Codex API 中转站手动配置指南:config.toml 字段决策树、openai_base_url、model_providers、wire_api、项目级覆盖与验证步骤。

Codex API 手动配置指南

如果你现在主要在 VS Code / Cursor 插件里使用 Codex,建议先看这篇更完整的入口文档:

当自动安装、扩展登录态或 ccswitch 导入不可用时,再手动配置 Codex。Codex 的常见难点不是“文件在哪”,而是:到底该用 openai_base_url,还是该新建 [model_providers.<id>];到底要不要改 wire_api;用户级和项目级配置谁覆盖谁。

不要把 API Key 写进公开项目。Key 只放在你自己的用户目录,不能提交到 GitHub、README、截图或聊天记录。

适合谁看

  • Codex 配了第三方 API 后仍然走默认配置。
  • 想检查 ~/.codex/config.toml 和项目内 .codex/config.toml 到底谁生效。
  • 不确定该用 openai_base_url 还是自定义 model_providers
  • 想判断 wire_api = "responses" 还是 "chat" 更合适。

你需要准备

信息从哪里拿示例
API Key控制台或账户页面sk-xxxxxxxxxxxxxxxx
Base URL业务侧确认后的兼容入口https://YOUR_API_DOMAIN/v1
模型名控制台模型列表控制台显示的 OpenAI compatible model id
Provider ID自定义命名custom

本文继续使用 YOUR_API_DOMAIN 占位,不写真实线路域名。

找到 Codex 配置目录

Windows

%USERPROFILE%\.codex\config.toml

macOS / Linux

~/.codex/config.toml

如果目录不存在,可以先启动一次 Codex,或者手动创建。

先看字段决策树

1) 只是把内置 OpenAI provider 指向代理或兼容网关

优先用:openai_base_url

model = "控制台显示的 OpenAI compatible model id"
openai_base_url = "https://YOUR_API_DOMAIN/v1"

适合场景:

  • 你仍然走 OpenAI compatible 语义;
  • 只是把请求改到代理、路由器或数据驻留入口;
  • 不想额外维护自定义 provider 名称。

2) 你要新增第三方 provider,而不是复用内置 OpenAI provider

优先用:[model_providers.<id>]

model_provider = "custom"
model = "控制台显示的 OpenAI compatible model id"

[model_providers.custom]
name = "custom"
base_url = "https://YOUR_API_DOMAIN/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"

适合场景:

  • 想显式区分多个 provider;
  • 需要不同环境或线路分别切换;
  • 后续要配多个 profile 或 provider。

3) 你需要临时切换 provider

优先检查:

  • model_provider = "..."
  • profile 覆盖
  • --provider 启动参数

如果 CLI 参数指定了 provider,它可能覆盖你在 config.toml 里的默认设置。

4) 不确定 wire_api 该写什么

先按兼容能力判断:

场景建议
兼容 /v1/responseswire_api = "responses"
只兼容 Chat Completions 风格wire_api = "chat"
不确定先看服务方文档或最小请求结果,不要瞎猜

/v1 不等于一定支持所有 OpenAI 风格端点,wire_api 选错时常见报错是 404、请求体字段不匹配或响应结构异常。

最小 TOML 示例

方案 A:只改内置 OpenAI provider

model = "控制台显示的 OpenAI compatible model id"
openai_base_url = "https://YOUR_API_DOMAIN/v1"

方案 B:新增自定义 provider

model_provider = "custom"
model = "控制台显示的 OpenAI compatible model id"

[model_providers.custom]
name = "custom"
base_url = "https://YOUR_API_DOMAIN/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"

用户级、项目级和 trusted project

Codex 常见冲突不是语法问题,而是“你改了 A 文件,实际运行读的是 B 文件”。

位置作用常见问题
~/.codex/config.toml用户级默认配置大多数情况下先从这里开始
.codex/config.toml项目级配置通常只在 trusted project 下生效
profile同一 provider 的多套策略容易覆盖默认 model/provider
CLI 参数本次运行临时覆盖关闭当前会话后失效

如果你在项目里也放了 .codex/config.toml,记得确认当前项目是否已 trusted,否则你会以为项目级配置没生效,其实是根本没被读取。

验证步骤

  1. 确认 config.toml 已保存。
  2. 确认 API Key 已按当前 provider 方式提供。
  3. 完全关闭 Codex 和当前终端。
  4. 重新打开终端。
  5. 启动 Codex,先看当前 provider / model 是否符合预期。
  6. 发送一个短 prompt,只验证配置是否生效,不要一上来就跑长任务。

常见冲突排查

现象可能原因处理方式
仍然走默认配置实际读的不是你改的那个文件先确认是用户级还是项目级配置生效
401 / invalid keyKey 错、过期或 provider 使用的 env_key 不匹配重新检查 Key 来源与字段名
404 / model not found模型名不对、provider 不对,或 /v1 路径错误先换成控制台展示模型,再看 provider 和路径
404 / endpoint not foundwire_api 选错responseschat 间按兼容能力重查
改完没反应旧终端、旧 profile 或 --provider 覆盖清理临时覆盖项后再测
TOML 报错引号、表头、缩进或重复字段问题用 TOML 校验器检查

如果报 model not found,继续看:Model Not Found 排查。如果是 429 或额度问题,看:429 Rate Limit 与余额排查

相关页面