使用教程教程
Codex CLI 网络配置:安装、登录与终端代理设置
Codex CLI 是 OpenAI 的命令行编程助手,登录和调用模型都需要稳定访问 OpenAI 服务。本文介绍如何为 Codex CLI 设置代理环境变量、处理浏览器登录回调,以及验证连通性与排查常见错误。
简要回答
Codex CLI 在终端中运行,需要通过 HTTPS_PROXY / HTTP_PROXY 环境变量或客户端的 TUN 模式访问 OpenAI 服务。设置代理时应把 localhost 加入 NO_PROXY,避免浏览器登录的本地回调被转发到代理,导致登录卡住。
- 终端程序不读取系统代理,需单独设置环境变量或开启 TUN
- 用 ChatGPT 账号登录时会使用本地回调地址,NO_PROXY 要包含 localhost
- 用 curl 访问 api.openai.com 能拿到 HTTP 状态码即说明网络可达
- 出口节点需位于 OpenAI 支持的地区
- 难度
- 入门
- 预计用时
- 约 10 分钟
- 适用平台
- macOS / Linux / Windows
准备工作
- 已安装 Node.js 与 npm(用于安装 Codex CLI)
- 本地代理客户端已运行,并知道它的 HTTP 或混合端口
- 一个 ChatGPT 账号或 OpenAI API Key
问题说明
Codex CLI 是 OpenAI 推出的终端编程助手,可以在本地仓库中读代码、改代码、执行命令。它的所有推理请求都发往 OpenAI 的服务,因此网络是否通畅直接决定能否使用。常见问题有三类:安装后启动超时、浏览器登录卡住、使用中途请求失败。
和 Claude Code 终端网络配置 一样,核心是让终端里的进程走代理。不同之处在于 Codex CLI 的登录流程会用到本地回调,需要额外注意 NO_PROXY。
操作步骤
第 1 步:安装 Codex CLI
使用 npm 全局安装:
npm install -g @openai/codex
codex --version
如果 npm 下载缓慢,可以先完成第 2 步的代理设置再安装,npm 同样会读取这些环境变量。
第 2 步:设置代理环境变量
先在代理客户端设置中确认 HTTP 或混合端口,下文以 7890 为例,请替换为实际端口。
macOS / Linux:
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
Windows PowerShell:
$env:HTTPS_PROXY="http://127.0.0.1:7890"
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:NO_PROXY="localhost,127.0.0.1"
想要长期生效,可以把 export 语句写入 ~/.zshrc 或 ~/.bashrc;Windows 下可以写入用户级环境变量:
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://127.0.0.1:7890", "User")
[Environment]::SetEnvironmentVariable("NO_PROXY", "localhost,127.0.0.1", "User")
写入后需要重新打开终端窗口。
第 3 步:登录
在同一个终端中运行 codex,按提示选择登录方式:
- 使用 ChatGPT 账号:CLI 会打开浏览器完成授权,授权结果通过本地回调地址返回给 CLI。如果
NO_PROXY没有排除 localhost,这个回调可能被转发到代理,表现为浏览器授权完成后 CLI 仍在等待。 - 使用 API Key:把 Key 写入环境变量
OPENAI_API_KEY,CLI 会读取它。Key 属于敏感凭据,不要写进会提交到仓库的文件。
第 4 步:让 npm 与 git 也走代理(可选)
Codex 在工作过程中经常需要安装依赖、拉取代码。npm 和 git 都会读取 HTTPS_PROXY 环境变量,但如果你习惯在其他终端或脚本中使用它们,也可以单独写入各自的配置:
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
不再需要时,用 npm config delete proxy、npm config delete https-proxy 和 git config --global --unset http.proxy 撤销。
需要区分的是:CLI 本身连接 OpenAI 与 Codex 在沙箱中替你执行的命令 是两件事。默认配置下,Codex 可能会限制沙箱内命令的网络访问,这属于安全策略,与代理是否设置正确无关。如果是 Codex 执行的 npm install 失败,而 Codex 自身对话正常,应先检查沙箱与审批相关的设置,而不是修改代理。
验证是否生效
env | grep -i proxy
curl -I https://api.openai.com/v1/models
返回 401 一类的状态码说明网络已连通(只是没有带认证信息);如果命令卡住直到超时,说明终端流量没有走代理。之后在项目目录中运行 codex,发送一个简单请求,能收到回复即配置完成。
常见错误
- 在一个终端设置变量,在另一个终端运行:export 只对当前会话有效。
- 端口写错或客户端未启动:报错中通常包含
connection refused。 - 代理地址写成
https://127.0.0.1:7890:本地代理一般使用 HTTP 协议,应写http://。 - 节点地区不受支持:请求被服务端拒绝,换到支持地区的节点后再试。
问题排查
- 确认浏览器能正常打开 ChatGPT 网页版,排除账号与节点问题。
- 临时把代理客户端切换到全局模式,判断是否为分流规则问题。
- 长时间任务中途断开,多与节点稳定性有关,可以参考 Codex 稳定梯子与网络要求,或在 开发者梯子推荐 中查看适合长连接的选择。
更多相关内容见 Codex 专题。
本站主推
二猫云
9.4/10
- 三网优化 IEPL 专线,丢包 0.2%
- Claude / Codex / ChatGPT 全实测可用
- 不限设备,年付折合 ¥7.4 / 月
常见问题
Codex CLI 登录时浏览器一直转圈怎么办?
常见原因是本地回调请求被转发到了代理。确认 NO_PROXY 包含 localhost 和 127.0.0.1,并确保浏览器能正常打开 OpenAI 的登录页面后重试。
Codex CLI 需要开 TUN 模式吗?
不是必须的。设置好 HTTPS_PROXY 环境变量通常就足够;如果你不想每次设置,或者终端里还有其他工具需要联网,开启 TUN 会更省事。
用 API Key 和用 ChatGPT 账号登录对网络的要求一样吗?
都需要访问 OpenAI 的服务,网络要求基本相同。使用 ChatGPT 账号登录额外涉及浏览器授权流程,因此浏览器端也要能正常访问。
curl 测试 api.openai.com 返回 401 正常吗?
正常。没有携带 API Key 时服务端返回 401,说明网络已经连通,只是请求未经认证。