AI 工具进阶

Codex 代理配置:CLI、IDE 插件与云端网络指南

Codex CLI 和 IDE 插件需要让本机进程走代理,登录还依赖一个本地回调;云端任务则跑在 OpenAI 的服务器上,只要浏览器能正常打开 ChatGPT 即可。

文章目录
  1. Codex 的三种用法,网络要求不一样
  2. Codex CLI:让终端走代理
  3. 用 TUN 模式省掉变量
  4. 验证终端出口
  5. 登录:回调与设备码
  6. IDE 插件与 WSL
  7. 节点、地区与 Claude Code 的区别
  8. 常见报错
  9. 常见问题
  10. 参考资料

简要回答

Codex CLI 运行在终端,不跟随浏览器的系统代理,需要在启动前设置 HTTPS_PROXY 等代理变量,或开启客户端的 TUN 模式。登录时浏览器要访问本机 1455 端口完成回调,浏览器和终端最好走同一个节点;回调走不通时可以改用 codex login --device-auth 设备码登录。节点选美国、日本或新加坡,香港不可用。

Codex 的三种用法,网络要求不一样

OpenAI 的 Codex 现在有几种入口,网络上要关心的东西并不相同:

用法 请求从哪里发出 你需要做什么
Codex CLI 你电脑上的终端进程 让终端走代理,登录回调要通
IDE 插件 编辑器里的插件进程 让编辑器进程走代理,最好用 TUN
Codex 云端 OpenAI 的服务器 浏览器能打开 ChatGPT 即可

AI 工具通用的地区与 IP 原理见AI 工具网络环境指南,ChatGPT 网页端的节点选择见 ChatGPT 指南,这里集中讲 Codex 本地运行时的配置。

Codex CLI:让终端走代理

Codex CLI 不会读取浏览器的系统代理。最直接的办法是在启动前设置代理环境变量。下面示例里的 7897 只是举例,端口号是代理客户端的本地端口,例如 Clash Verge Rev 默认 7897、v2rayN 默认 10808,以你的设置为准。

macOS / Linux:

export HTTPS_PROXY=http://127.0.0.1:7897
export HTTP_PROXY=http://127.0.0.1:7897
export NO_PROXY=localhost,127.0.0.1
codex

Windows PowerShell:

$env:HTTPS_PROXY = "http://127.0.0.1:7897"
$env:HTTP_PROXY = "http://127.0.0.1:7897"
$env:NO_PROXY = "localhost,127.0.0.1"
codex

需要长期生效时,把这几行写进 ~/.zshrc、~/.bashrc 或 PowerShell 的 $PROFILE。

用 TUN 模式省掉变量

TUN 模式在系统网络层接管流量,终端、IDE 插件、WSL 里的进程都能覆盖到,也能让浏览器和终端天然使用同一个出口。Clash 系客户端的开法见 Clash 教程,v2rayN 见 v2rayN 教程。开启 TUN 后建议关闭系统代理开关,并清掉终端里的代理变量,方便排查。

验证终端出口

在设置变量的同一个窗口执行 curl -s https://ipinfo.io(PowerShell 写 curl.exe),country 应显示节点所在地区。看到 CN 说明变量没生效,或者分流规则让 OpenAI 域名走了直连。

登录:回调与设备码

Codex 用 ChatGPT 账号登录时,会打开浏览器完成授权,再通过本机的回调地址把凭据交回 CLI。官方文档写明默认回调服务在 localhost:1455,本地网络设置拦截这个回调时登录就会失败。

  1. 先统一出口

    浏览器和终端走同一个节点,开 TUN 是最简单的做法。授权页和终端出口不一致,是登录卡住的常见原因。

  2. 确认 localhost 不走代理

    回调发生在本机,代理客户端的「绕过」列表里应包含 localhost 和 127.0.0.1,终端的 NO_PROXY 也一样。

  3. 回调走不通就换设备码

    在 ChatGPT 的安全设置里启用设备码登录后,运行 codex login --device-auth,在任意浏览器里输入页面显示的代码即可,官方标注此功能为 beta。

  4. 查看登录日志

    官方文档说明,直接运行 codex login 会在日志目录写入 codex-login.log,登录失败时可以从这里找原因。

公司网络做了 TLS 解密时,官方给出的做法是在登录前把 CODEX_CA_CERTIFICATE 指向 PEM 格式的根证书;未设置时会退回读取 SSL_CERT_FILE。

IDE 插件与 WSL

Codex 的 VS Code 插件在编辑器内运行,网络请求由编辑器一侧的进程发出。最省事的办法是开启 TUN;不想开 TUN 的话,可以先在设置好代理变量的终端里用 code . 启动 VS Code,让它继承这些变量。

在 Windows 上通过 WSL2 使用时,Codex 运行在 Linux 环境里。WSL 中的 127.0.0.1 指向 Linux 自身,不是 Windows 宿主机,所以要么开 TUN,要么在代理客户端开启「允许局域网连接」后把地址换成宿主机的 IP。

节点、地区与 Claude Code 的区别

Codex 可用地区跟随 OpenAI 的支持范围,香港不可用,建议美国、日本、新加坡。它同样会进行持续数分钟的长连接任务,选节点时看丢包而不是只看延迟,并把 openai.com、chatgpt.com 等域名放进手动选择的固定策略组。

与 Claude Code 相比:两者都要求终端走代理、线路低丢包;Claude Code 对机房 IP 和频繁换区更敏感,Codex 更容易在浏览器回调这一步出问题。同一个合适的节点通常可以两边共用。机场选择见机场推荐。

常见报错

现象连接失败、请求超时

检查当前窗口的代理变量、curl 出口检查结果

处理

终端没有走代理或端口填错。重新设置变量后再启动 codex,或改用 TUN。

现象stream disconnected 或任务中途断开

检查节点是否被自动测速切换、晚高峰丢包

处理

固定单个专线节点,避开负载均衡组;晚高峰问题参考晚上变慢排查。

现象浏览器授权后终端一直等待

检查浏览器与终端出口是否一致、localhost 是否被代理

处理

统一出口后重试,仍不行就用 codex login --device-auth。

现象提示地区不支持

检查出口 IP 是否在香港等不支持地区

处理

换到支持地区的节点,详见AI 地区不可用。

需要更详细的信息时,官方文档建议用 RUST_LOG=debug 提高日志级别后复现问题。

常见问题

Codex 和 Claude Code 能共用一个节点吗?

通常可以。两者都要求终端走代理、线路低丢包,美国、日本、新加坡节点一般都能同时满足。区别在于 Claude Code 对 IP 类型更敏感,Codex 更容易卡在登录回调。

用 Codex 云端任务也需要配置终端代理吗?

不需要。云端任务在 OpenAI 的服务器上执行,你这边只需要浏览器或 ChatGPT 客户端能正常访问。云端环境里的「互联网访问」设置控制的是容器能否联网,与你本地的代理无关。

远程服务器上没有浏览器,怎么登录 Codex?

官方文档给了三种办法:用 codex login --device-auth 设备码登录(需先在 ChatGPT 安全设置中启用);用 ssh -L 1455:localhost:1455 把回调端口转发到本地;或者在有浏览器的电脑上登录后,把 ~/.codex/auth.json 复制过去,这个文件要像密码一样保管。

参考资料

  1. OpenAI Codex 官方文档:Authentication
  2. OpenAI Codex 官方文档:Environment variables
  3. 梯子指南:Codex 网络环境完整指南
  4. 机场Z:Codex CLI 代理配置教程:让终端稳定走代理
  5. 机场Z:Codex 和 Claude Code 的网络要求有什么区别?

技术编辑的提醒文章内容会随客户端版本更新而调整,最后核对时间为 2026年10月29日。发现过时信息,欢迎通过关于页反馈。