Codex
Codex 通过 Responses 接口调用模型。在 config.toml 里加一个指向 NezhaGate 的服务商,就能用 NezhaGate 的 GPT 模型写代码。
准备
- 安装 Codex CLI,或在 VS Code、Cursor、Windsurf 里安装 Codex 扩展;再到控制台创建一把 API Key。
- Codex 只使用 OpenAI 的 Responses 接口(
/v1/responses),NezhaGate 在这个接口上提供 GPT 模型。Claude、Gemini 和国产模型请用对话接口,或者换用 Claude Code 等工具。
可以在 Codex 里使用的模型:
gpt-5.6-sol · gpt-5.6-terra · gpt-5.6-luna · gpt-5.5 · gpt-6-astra · gpt-6.1-sol · gpt-6-sol · gpt-6-luna
在 config.toml 里添加服务商
打开 ~/.codex/config.toml(Windows 是 %USERPROFILE%\.codex\config.toml),没有就新建一个,写入:
model = "gpt-6.1-sol" model_provider = "nezhagate" web_search = "disabled" [model_providers.nezhagate] name = "NezhaGate" base_url = "https://nezhagate.com/v1" wire_api = "responses" env_key = "NEZHAGATE_API_KEY"
model、model_provider这些顶层设置要写在第一个[...]段之前,否则 Codex 会把它们当成那个段的内容。web_search = "disabled":Codex 自带的联网搜索依赖 OpenAI 托管的工具,经其他服务商调用时不保证可用,建议关闭。- 服务商只能写在用户目录的 config.toml 里,项目里的
.codex/config.toml设置model_provider会被忽略。服务商 ID 不能用openai、ollama、lmstudio,它们是 Codex 保留的。
设置 API Key
Codex 从环境变量 NEZHAGATE_API_KEY 读取 Key(也就是上面 env_key 的值),以 Authorization: Bearer 发送,不需要 codex login。
export NEZHAGATE_API_KEY=YOUR_API_KEY codex
macOS / Linux 要把 export 那一行写进 ~/.zshrc 或 ~/.bashrc 才能长期生效;Windows 用 setx 设置后,要重新打开终端或 VS Code 才能读到。
运行与测试
运行下面的命令,回复 gateway-ok 就说明接通了:
codex exec "Reply with exactly: gateway-ok"
- 在 Codex 里输入
/status,可以看到当前的模型和服务商。 - 换模型:启动时用
codex -m gpt-6.1-sol,或修改 config.toml 里的model。Codex 的/model菜单只列出它自带的型号,不读取 NezhaGate 的模型列表。 - 再让它做一件需要工具的事(例如列出当前目录的文件),确认工具调用也正常。
IDE 扩展
VS Code、Cursor、Windsurf 里的 Codex 扩展读取同一个 config.toml:在扩展面板点齿轮 → Codex Settings → Open config.toml。改完后重启编辑器;如果编辑器不是从终端启动的,要确认它能读到 API Key 的环境变量。
常见问题
NEZHAGATE_API_KEY启动 Codex 的进程读不到这个变量:在同一个终端里设好再运行;IDE 或桌面应用需要重启,Windows 用 setx 之后要重新打开。
wire_api = "chat" is no longer supported旧版配置:把 wire_api 改成 "responses"。
Key 不对:检查是否复制完整、有没有多余的空格,或者这把 Key 已被停用。
base_url 少了 /v1,应为 https://nezhagate.com/v1;Codex 会自己在后面加上 /responses。
Codex 只走 /v1/responses,NezhaGate 在这个接口上只提供 GPT 模型。请换成上面列出的 GPT 模型。
流在结束前断开了,多半是本机代理或网络中途切断了连接。重试即可;经常出现时检查代理设置。