Codex 对接 51API
本文适合
适合想在终端里直接把 51API 接进 Codex 的用户。零基础可以照着做,程序员可以直接复制配置。
先说清楚
Codex 官方当前的自定义 provider 走的是 Responses API。
而 51API 当前公开文档主写法是 OpenAI 兼容的 chat/completions。
所以这篇教程应理解为:有条件接入方案。如果你的 51API 线路对 Codex 当前请求方式不兼容,就不要继续硬接,直接改用 OpenCode 或 VS Code + Continue。
先说结论
Codex 不是“无脑一定能通”的接法,但如果你的 51API 线路兼容 Codex 当前自定义 provider 所需的请求方式,它依然是一个很好的终端方案。
原因是官方文档已经明确支持:
~/.codex/config.toml- 自定义
model_provider - 自定义
base_url - 自定义
env_key wire_api = "responses"
但要注意,能自定义 provider 不等于 任何 OpenAI-compatible 网关都一定能直接跑通。Codex 这块还要看 51API 线路是否兼容 Responses API。
Codex、51API、模型三者是什么关系?
你可以把它理解成:
- Codex:你本地的代码助手,负责对话、读写文件、执行命令
- 51API:统一模型网关,负责接收请求并转发到具体模型
- 模型:真正生成回答的模型,如
gpt-5-codex、claude-sonnet-4-6
调用链就是:
你 -> Codex -> 51API -> 具体模型所以你真正要配的核心只有 3 件事:
- 让 Codex 知道 51API 的地址
- 让 Codex 知道你的 51API Key 放在哪个环境变量里
- 告诉 Codex 默认用哪个模型
你要准备什么?
1. 一个可用的 51API Key
去 51API 控制台创建一个 sk-xxx。
2. 安装 Codex
官方当前常见安装方式:
npm install -g @openai/codex或者:
brew install --cask codex3. 确认你本机能访问 51API
先在终端里测试一下:
curl https://www.51api.org/v1/models \
-H "Authorization: Bearer sk-你的密钥"2
如果这里就报网络错误、401、403,先别配 Codex,先把 Key 和网络打通。
第一步:设置环境变量
macOS / Linux
export FIFTYONE_API_KEY="sk-你的密钥"如果你希望每次开终端都自动生效,把它写进:
~/.zshrc- 或
~/.bashrc
Windows PowerShell
$env:FIFTYONE_API_KEY="sk-你的密钥"第二步:创建 ~/.codex/config.toml
根据 Codex 官方文档,用户级配置文件位置是:
~/.codex/config.toml第一次没有这个文件,自己新建即可。
第三步:先用最小配置跑通
把下面这份最小可用配置贴进去:
model = "gpt-5-codex"
model_provider = "fiftyone"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
[model_providers.fiftyone]
name = "51API"
base_url = "https://www.51api.org/v1"
env_key = "FIFTYONE_API_KEY"
wire_api = "responses"2
3
4
5
6
7
8
9
10
这几行分别是什么意思?
model = "gpt-5-codex"让 Codex 默认使用这个模型model_provider = "fiftyone"告诉 Codex 默认走你自定义的 51API providerbase_url = "https://www.51api.org/v1"告诉 Codex 51API 的基础地址env_key = "FIFTYONE_API_KEY"告诉 Codex 去环境变量里读取真正的 API Keywire_api = "responses"告诉 Codex 这个自定义 provider 走 Responses API
注意
base_url 只写到 /v1 即可。
不要写成:
https://www.51api.orghttps://www.51api.org/v1/chat/completions
关键限制
如果你的 51API 当前线路只支持 chat/completions,不支持 Codex 自定义 provider 所需的 responses 路线,那么这里即使配置正确,也不一定能跑通。
这种情况下不要继续硬耗时间,直接改用:
第四步:启动 Codex
在你的项目目录执行:
codex第一次建议直接问一个最简单的问题,比如:
请先读一下这个项目目录结构,并告诉我你看到了什么。如果能正常返回,说明 Codex 已经通过 51API 打通了。
第五步:切换模型
方法一:直接改 config.toml
把:
model = "gpt-5-codex"改成你要的模型,比如:
model = "gpt-5"或:
model = "claude-sonnet-4-6"或:
model = "gemini-2.5-flash"方法二:命令行临时切换
codex --model claude-sonnet-4-6这适合偶尔临时换模型,不想改默认配置时用。
更适合长期使用的写法:加 Profiles
Codex 官方文档支持 profiles。如果你想在不同模型之间切换,建议这样写:
model = "gpt-5-codex"
model_provider = "fiftyone"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
[model_providers.fiftyone]
name = "51API"
base_url = "https://www.51api.org/v1"
env_key = "FIFTYONE_API_KEY"
wire_api = "responses"
[profiles.fast]
model = "gemini-2.5-flash"
[profiles.balance]
model = "gpt-5"
[profiles.claude]
model = "claude-sonnet-4-6"2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
然后这样切:
codex --profile fast
codex --profile balance
codex --profile claude2
3
推荐模型怎么选?
先追求稳定和代码能力
建议先试:
gpt-5-codex先追求通用性
建议试:
gpt-5先追求低成本试跑
建议试:
gemini-2.5-flash先追求长文和复杂解释
建议试:
claude-sonnet-4-6常见报错怎么排查?
1. 报 404
通常是 base_url 写错了。
正确写法:
base_url = "https://www.51api.org/v1"2. 报 401 Unauthorized
通常是:
FIFTYONE_API_KEY没设置成功- Key 复制时多了空格
- Key 本身无效或已停用
可以先在终端里检查:
echo $FIFTYONE_API_KEY3. 报接口不支持 / 请求体不兼容
这通常不是你 config.toml 的语法问题,而是 Codex 当前请求方式和 51API 当前公开线路不匹配。
如果出现这种情况,优先结论不是“再乱改几轮”,而是:
- Codex 这条线当前不适合你这组 51API 线路
- 直接改用 OpenCode 对接 51API →
- 或改用 VS Code 对接 51API →
4. 报模型不存在 / 无权限
通常是:
- 模型名写错
- 你的 51API 令牌没有勾选这个模型
- 令牌分组和模型不匹配
5. 能聊天,但不会改文件
先检查是不是你把权限配得太保守:
approval_policy = "on-request"
sandbox_mode = "workspace-write"2
如果你配成只读,Codex 就只能看,不能改。
常见问题
Q1:我能不能在 Codex 里同时用 GPT、Claude、Gemini?
可以。
只要模型名是 51API 允许的,并且你的 Key 允许访问,就可以切换。
Q2:Codex 里用 Claude、Gemini,会不会单独扣一份钱?
不会。
只要都是通过同一个 51API Key 调用,就共用同一个 51API 余额体系。
Q3:为什么不直接用 openai_base_url?
如果你只是把 OpenAI 官方地址换成自己的代理,openai_base_url 确实能用。
但对 51API 这种统一网关来说,单独定义一个 fiftyone provider 更清晰也更稳:
- 不会影响你以后继续用官方 OpenAI provider
- 配置更容易维护
- 一眼就能看出当前请求走的是 51API
Q4:如果我只是想稳定在终端里用 51API,优先选什么?
先选:
- OpenCode 对接 51API →
- 再考虑 Codex
原因很简单:按当前公开文档,OpenCode 和 51API 的协议匹配度更高。
下一步
官方参考
- Codex GitHub:https://github.com/openai/codex
- Codex Config Basics:https://developers.openai.com/codex/config-basic
- Codex Advanced Config:https://developers.openai.com/codex/config-advanced
- Codex Config Reference:https://developers.openai.com/codex/config-reference