NezhaGateNezhaGate

Codex 通过 Responses 接口调用模型。在 config.toml 里加一个指向 NezhaGate 的服务商,就能用 NezhaGate 的 GPT 模型写代码。

按此版本编写:Codex CLI 0.160

准备

  • 安装 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),没有就新建一个,写入:

~/.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。

bash / zsh
export NEZHAGATE_API_KEY=YOUR_API_KEY
codex

macOS / Linux 要把 export 那一行写进 ~/.zshrc 或 ~/.bashrc 才能长期生效;Windows 用 setx 设置后,要重新打开终端或 VS Code 才能读到。

运行与测试

运行下面的命令,回复 gateway-ok 就说明接通了:

Terminal
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 的环境变量。

常见问题

Missing environment variable: NEZHAGATE_API_KEY

启动 Codex 的进程读不到这个变量:在同一个终端里设好再运行;IDE 或桌面应用需要重启,Windows 用 setx 之后要重新打开。

wire_api = "chat" is no longer supported

旧版配置:把 wire_api 改成 "responses"。

unexpected status 401

Key 不对:检查是否复制完整、有没有多余的空格,或者这把 Key 已被停用。

unexpected status 404

base_url 少了 /v1,应为 https://nezhagate.com/v1;Codex 会自己在后面加上 /responses。

选了 Claude、Gemini 或国产模型后报错

Codex 只走 /v1/responses,NezhaGate 在这个接口上只提供 GPT 模型。请换成上面列出的 GPT 模型。

stream disconnected before completion

流在结束前断开了,多半是本机代理或网络中途切断了连接。重试即可;经常出现时检查代理设置。

更多集成