博客

2026 Codex 代理配置快速上手:新协议 5 步清单与常见坑

快速回答

2026 年给 Codex 配代理,核心变化就一句话:Codex 新版本默认走 /v1/responses(Responses API),你的代理 / 网关 / 中转站必须能转发这个路径,否则会莫名其妙超时或 404。如果你不想碰这些坑,最省事的路是直接用 TeamoRouter——它原生支持 /v1/responses,模型层根本不需要代理。

最省事的 5 步清单(不想看原理,直接照做):

  1. 确认 Codex 版本与账号类型;
  2. 终端设置代理环境变量;
  3. npm / Git 走同一代理;
  4. 用 curl 验证连通性;
  5. 或干脆换 TeamoRouter 端点,跳过代理。

旧文是完整版,这篇只讲 2026 变化

本站的《Codex 代理配置完全指南》把终端、npm、Git、WSL2、IDE 五个层面的代理配置都讲全了,包含完整的 WSL2 宿主机转发函数和 IDE settings.json 示例。那篇是"从零到一";这篇是"2026 年新版本下有什么变化、怎么快速配好、会遇到什么新坑"——两篇配合读。

2026 年 Codex 代理配置有哪些变化

1. /v1/responses 新协议:代理必须会转发

2026 年的 Codex 默认调用的是 Responses API(/v1/responses,不再是旧的 /v1/chat/completions。这对代理配置有直接影响:

  • 老的中转站 / 网关如果只实现了 chat/completions 转发,遇到 /v1/responses 会直接 404 或超时
  • 自建反向代理时,务必确认路由规则同时覆盖 /v1/responses(以及 /v1/models 等元数据路径);
  • Codex 有时会先探测 /v1/models 再发请求,只转发 responses 而漏掉 models 同样会出问题。

这是 2026 年"代理配好了还是报错"最常见的新原因。

2. 配置方式:环境变量 + config.toml 双轨

2026 年的 Codex 支持两种接入方式:

方式 A:环境变量(最快)

bash
export OPENAI_BASE_URL="https://api.teamorouter.cn/v1"
export OPENAI_API_KEY="sk-teamo-你的Key"

方式 B:config.toml 的 model_providers(更可控)

toml
# ~/.codex/config.toml
model = "gpt-5.6-codex"
model_provider = "teamo"

[model_providers.teamo]
name = "TeamoRouter"
base_url = "https://api.teamorouter.cn/v1"
env_key = "TEAMO_API_KEY"
bash
export TEAMO_API_KEY=sk-teamo-你的Key

注意:新旧版本对 base_url 变量名的兼容不完全一致,有的版本读 CODEX_BASE_URL、有的读 OPENAI_BASE_URL2026 年推荐统一用 OPENAI_BASE_URL(新版标准),并在 codex --verbose 里确认实际请求地址。

3. 桌面版走系统网络,与终端不是一条路

Codex Desktop App 用的是系统网络配置,终端 CLI 只认环境变量。经常出现"App 超时、CLI 正常"或反过来。配置时两个通道要分别验证。

4. DNS 解析顺序:IPv4 优先

新版本在部分网络环境下会出现 getaddrinfo ENOTFOUND 或连接挂起,多为 IPv6 解析顺序导致。可加:

bash
export NODE_OPTIONS=--dns-result-order=ipv4first

5. base_url 变量名的变迁:CODEX_BASE_URL → OPENAI_BASE_URL

老版本里,Codex 用 CODEX_BASE_URL 指向自定义端点。2026 年的新版逐步统一到 OpenAI 生态的标准变量 OPENAI_BASE_URL,原因是 Codex 底层就是 OpenAI 的 Responses API 客户端,直接复用同一套环境变量命名。

实际影响:

  • 老教程 / 老配置里可能还在用 CODEX_BASE_URL,新版本可能不再读取;
  • 最稳妥的做法是两个都设置,让新旧版本都覆盖:
bash
export OPENAI_BASE_URL="https://api.teamorouter.cn/v1"
export CODEX_BASE_URL="https://api.teamorouter.cn/v1"
export OPENAI_API_KEY="sk-teamo-你的Key"
  • 设置后用 codex --verbose 验证实际请求地址,别靠猜。

三条路线怎么选:直连、代理、网关

配置之前先想清楚走哪条路,能省掉一半的折腾:

路线 适用情况 优点 缺点
直连 api.openai.com 网络环境无限制 零配置 国内基本不可用
终端 / 工具代理 已有稳定代理节点 不改 Codex 配置 多层配置,节点不稳定时反复折腾
API 网关直连(TeamoRouter) 国内网络、团队共享 免代理、一个端点、统一计费 需注册获取 Key

判断标准:如果你已经有稳定的代理且不想换,走代理方案没问题;如果你的诉求是"少折腾",直接上网关。多数 2026 年新踩的坑(/v1/responses 404、DNS 解析、节点被限流)都发生在第二条路线上,网关路线把这些坑一次性绕开。

最省事的 5 步快速配置清单

第 1 步:确认版本与账号

bash
codex --version
codex login status

知道自己是不是新版、走积分还是 API Key。

第 2 步:终端代理(走代理方案时)

bash
export HTTPS_PROXY=http://127.0.0.1:7890
export HTTP_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1

7890 是 Clash 等工具的默认端口,按你的实际工具调整。加到 ~/.zshrc / ~/.bashrc 持久化。

第 3 步:npm 与 Git 同路

bash
npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

第 4 步:验证连通性

bash
curl -I --max-time 20 https://api.openai.com/v1/models

快速返回 401 = 网络通(401 是未授权,说明能到达);超时或 000 = 网络路径有问题。

第 5 步:或直接换 TeamoRouter,跳过代理

bash
export OPENAI_BASE_URL="https://api.teamorouter.cn/v1"
export OPENAI_API_KEY="sk-teamo-你的Key"
codex

国内直连可达,不需要为模型层配代理。

验证方法:3 条命令定位问题

要验证什么 命令 结果判断
终端代理是否生效 curl -I --max-time 20 https://api.openai.com/v1/models 快 401 = 通;超时 = 不通
代理节点本身是否可用 curl -x http://127.0.0.1:7890 -I --max-time 20 https://api.openai.com/v1/models 401 = 节点可用;超时 = 换节点
Codex 实际请求地址 codex "hello" --verbose 看日志里 base_url 是否为期望值

常见错误表(2026 版)

错误信息 可能原因 2026 年最可能的坑 解决
404 on /v1/responses 网关/中转不支持 Responses API 老中转只做了 chat/completions 换原生支持 /v1/responses 的网关(如 TeamoRouter)
connect ETIMEDOUT 代理连接超时 代理地址/端口写错 检查 HTTP_PROXY 与工具端口是否一致
connect ECONNREFUSED 代理服务未运行 代理工具没启动 启动代理
getaddrinfo ENOTFOUND DNS 解析失败 IPv6 解析顺序 export NODE_OPTIONS=--dns-result-order=ipv4first
self signed certificate SSL 证书错误 代理中间人证书不被信任 换可靠节点,或仅测试时 NODE_TLS_REJECT_UNAUTHORIZED=0
read ECONNRESET 连接被重置 SNI 阻断 / 节点被限流 换节点,或改走网关直连
request timed out on /v1/responses 请求未收到响应 网关不支持 responses 路径导致挂起 先 curl 验证路径,再换网关

捷径:用 TeamoRouter 后模型层根本不需要代理

这是 2026 年最值得推荐的一条路:TeamoRouter 原生支持 /v1/responses(Codex 协议),无需任何本地协议转换,端点国内直连。

  • 不用为模型流量配 HTTP_PROXY / HTTPS_PROXY
  • 不用担心中转站不支持新协议;
  • 一个 Key 同时接 Codex / Claude Code / dsh / Gemini CLI,统一计费;
  • 缓存命中率 >99%,响应极快,SLA 99.98%,5000 QPM;
  • 国内支付宝按量充值,余额不过期,失败请求不计费。

注意:TeamoRouter 解决的是"模型 API 的国内访问",终端 / npm / Git 访问 GitHub 等仍按需配代理。

CI / 团队环境怎么配

如果 Codex 跑在 CI 或团队共享的 Runner 上,注意两点:

  1. 环境变量通过 CI 的 Secrets 注入:不要把 Key 硬编码进仓库。在 CI 配置里把 OPENAI_API_KEY 设成 secret,OPENAI_BASE_URL 设成 TeamoRouter 端点;
  2. Runner 的网络路径可能和本机不同:CI Runner 通常在国内云主机上,直连 OpenAI 更容易超时。此时直接用 TeamoRouter 端点最省事,避免在 CI 里再配一层代理。
yaml
# 示例:GitHub Actions 环境变量
env:
  OPENAI_BASE_URL: https://api.teamorouter.cn/v1
  OPENAI_API_KEY: ${{ secrets.TEAMO_API_KEY }}

常见疑问(FAQ)

Q:2026 年 Codex 还用配 CODEX_BASE_URL 吗? 推荐统一用 OPENAI_BASE_URL。新旧版本变量名有差异,用 codex --verbose 确认实际请求地址即可。

Q:我的中转站不支持 /v1/responses,只改代理能修吗? 不能。协议不支持是网关侧问题,代理救不了。要么换支持 Responses API 的网关,要么自建时把 /v1/responses 路由加进去。

Q:WSL2 里怎么配最省事? 宿主机跑代理 + WSL2 里转发,或 WSL2 里直跑代理,两种方式的完整函数示例都在旧完整版文里。更省事的是在 WSL2 里直接配 TeamoRouter 端点,彻底绕开转发问题。

Q:桌面版超时但 CLI 正常? 桌面版走系统网络。先在系统设置里确认代理,再在 App 设置里直接填网关 base_url,让两个通道统一。

Q:用 TeamoRouter 还需要给 npm / Git 配代理吗? 看用途。模型 API 不再需要;但如果要访问 GitHub 等站点,npm / Git 层面的代理仍按需配置。

Q:为什么我照旧教程配了代理还是报 404? 大概率是网关不支持 /v1/responses。2026 年 Codex 默认走 Responses API,老的中转站如果只实现了 chat/completions,就会 404。确认网关原生支持 responses 协议,或换 TeamoRouter。

Q:自建反代要转发哪些路径? 至少覆盖 /v1/responses/v1/models。Codex 常先探测 /v1/models 再发请求,漏掉 models 也会导致配置验证失败。

小结

2026 年配 Codex 代理,最大的变化就是 /v1/responses 协议对网关的新要求。5 步清单能快速配好走代理的方案;但更省事的是直接用 TeamoRouter,让模型层根本不经过代理。注册 TeamoRouter,免代理直连 + 多模型路由 + 统一计费一次搞定。

准备好接入了吗?登录控制台 · 购买额度 · 创建 API Key,三步即可开始。
2026 Codex 代理配置快速上手:新协议 5 步清单与常见坑 · TeamoRouter