Codex 专题 · 子页

Codex CLI 走代理:环境变量、TUN 与登录回调一次配好

Codex CLI 在终端中运行,需要单独配置代理。本文介绍 macOS、Linux 与 Windows 下设置 HTTPS_PROXY 的方法、TUN 模式、npm 安装、localhost 登录回调问题、远程服务器登录以及长任务稳定性设置。

简短回答

在运行 Codex CLI 的终端中设置 HTTPS_PROXY 与 HTTP_PROXY 指向本地代理端口,或开启代理客户端的 TUN 模式;登录时确保 localhost 不被代理,出口固定在美国、日本或新加坡等支持地区。

最后更新:作者:梯子Z编辑部5 分钟阅读首发 2026年9月12日

快速步骤 · 6 步

  1. 01
    确认代理端口与节点

    在代理客户端中查看 HTTP 或混合端口(Clash 系常见为 7890),并为 OpenAI 相关域名选好美国、日本或新加坡节点。

  2. 02
    设置环境变量

    在终端设置 HTTPS_PROXY、HTTP_PROXY,并用 NO_PROXY 排除 localhost 与 127.0.0.1。

  3. 03
    验证连通性

    运行 curl -I https://api.openai.com,能返回 HTTP 状态行即说明网络可达。

  4. 04
    安装 Codex CLI

    通过 npm 安装 @openai/codex,安装卡住时为 npm 配置代理。

  5. 05
    登录

    运行 codex 或 codex login,在浏览器中完成授权并等待回调到 localhost,或改用 API Key。

  6. 06
    运行测试任务

    在项目目录中执行一个简单任务,确认连接稳定后再处理大型任务。

Codex CLI 的网络走法

Codex CLI 是运行在终端中的编程代理,它通过 HTTPS 与 OpenAI 的服务通信。终端程序通常不读取系统代理设置,所以即便浏览器里 ChatGPT 一切正常,CLI 也可能直接超时。配置分三部分:让终端请求经过代理(环境变量或 TUN 模式)、让登录回调能回到本机 localhost、让长任务期间出口保持不变。出口地区需在 OpenAI 支持列表内,截至 2026 年 10 月不包括中国大陆和香港,以官方列表为准。Codex 各形态的整体说明见 Codex 网络环境与使用完整指南。

第一步:确认端口与节点

打开代理客户端设置,记下 HTTP 端口或混合端口。Clash 系客户端常见的默认混合端口是 7890,下文以此为例,请替换为你的实际端口。同时,确认 OpenAI 相关域名走的是美国、日本或新加坡节点,并且是手动选择、不会自动切换的策略组。

第二步:设置环境变量

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

NO_PROXY 用于排除本地地址,避免登录回调等本机请求被发往代理。若要长期生效,把这几行追加到 ~/.zshrc(zsh)或 ~/.bashrc(bash),然后执行 source ~/.zshrc。

也可以只在启动 Codex 时临时带上变量,不影响其他命令:

HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890 codex

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"

以上写法只对当前 PowerShell 窗口有效。git、npm 等其他工具的代理写法可参考 终端代理设置。

第三步:验证连通性

curl -I https://api.openai.com

能返回 HTTP 状态行(即使是 4xx)就说明网络可达。若卡住不动或报 Connection timed out,说明请求没有经过代理或节点不可用;若报 Connection refused 并指向 127.0.0.1:7890,说明端口写错或客户端没有运行。

检查终端的实际出口地区

curl -s https://chatgpt.com/cdn-cgi/trace | grep loc

输出 loc=US、loc=JP、loc=SG 等说明终端出口在支持地区;若是 loc=HK 或 loc=CN,说明 OpenAI 相关流量走到了不支持地区的节点,或没有经过代理。这一步检查的是终端里的出口,和浏览器中看到的结果可能不同。

第四步:安装 Codex CLI

Codex CLI 可通过 npm 安装,其他安装方式以官方仓库说明为准:

npm install -g @openai/codex

如果安装长时间没有进展,为 npm 配置代理后重试:

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

第五步:登录与 localhost 回调

在已设置代理的终端中运行 codex(首次运行会引导登录)或 codex login。选择用 ChatGPT 账号登录时,流程如下:

  1. CLI 在本机启动一个临时回调服务,并打开浏览器授权页面;
  2. 你在浏览器中登录 ChatGPT 账号并确认授权;
  3. 浏览器跳转到 localhost 上的回调地址,CLI 收到凭据后完成登录。

第 3 步最容易出问题。如果浏览器提示授权成功但 CLI 一直等待,请检查:

  • 系统代理的绕过列表是否包含 localhost 和 127.0.0.1;
  • 是否有浏览器代理扩展把所有请求(包括本地地址)都转发了;
  • 回调端口是否被其他程序占用。

两种登录方式的网络差异

对比ChatGPT 账号登录API Key
是否需要浏览器需要,完成授权后回调到本机不需要
是否依赖 localhost 回调是否
适合环境本地电脑服务器、容器、CI 等无界面环境
额度与计费按 ChatGPT 订阅计划按 API 用量计费
网络要求浏览器与终端都需走支持地区出口只需终端走支持地区出口

如果本地回调反复失败,又急于开始工作,可以先改用 API Key 方式确认网络本身没有问题,再回头排查回调。

第六步:开启 TUN 模式(可选)

如果你同时使用 Codex 的 IDE 插件,或不想维护环境变量,可以在代理客户端开启 TUN 模式。以 Clash Verge Rev 为例,在设置中打开“虚拟网卡模式”,首次开启可能需要管理员权限或安装服务组件,详见 Clash Verge Rev 完整使用教程。TUN 模式下需要确认两点:OpenAI 相关域名的分流规则指向支持地区节点;本地回调地址不会被错误接管(多数客户端默认已排除本地地址)。

WSL、远程开发与取消代理

WSL2:默认网络模式下,WSL2 里的 127.0.0.1 指向子系统自身而不是 Windows 主机,所以直接使用 http://127.0.0.1:7890 通常连不上 Windows 上运行的代理客户端。可以启用 WSL 的镜像网络模式(mirrored),或把代理地址改为 Windows 主机在虚拟网络中的 IP,并在代理客户端中开启“允许局域网连接”。具体配置以微软 WSL 官方文档为准。

远程服务器:在云服务器上运行 Codex CLI 时,服务器本身的出口就是请求的来源。服务器所在地区需要在 OpenAI 支持列表内;如果服务器位于不支持的地区,需要在服务器上另行配置合规的网络环境,本地代理对其不起作用。

配置文件位置:Codex CLI 的配置与登录凭据默认保存在用户目录下的 ~/.codex 中,配置文件通常为 ~/.codex/config.toml。代理一般通过环境变量设置即可,不必写进这个文件。

取消代理:

unset HTTPS_PROXY HTTP_PROXY NO_PROXY

PowerShell 中使用 Remove-Item Env:HTTPS_PROXY 等命令;npm 代理用 npm config delete proxy 与 npm config delete https-proxy 移除。

长任务稳定性设置

问题原因建议
任务中途断开自动测速组切换了节点使用手动选择的策略组,固定节点
晚上频繁失败线路拥堵大任务放在非高峰时段,或换更稳定的线路
合盖后任务失败设备休眠中断网络长任务期间保持设备唤醒
Codex 运行的命令无法联网沙箱默认限制命令联网查阅官方文档中沙箱网络访问的配置,这不是代理问题

此外,大型任务开始前先用 git 提交当前进度,即使中途断线,也能清楚地看到 Codex 已经做了哪些修改,再决定是继续还是回退。

常见报错速查

报错或现象处理方法
Connection timed out检查环境变量是否生效,用 curl 验证,必要时换节点
Connection refused 127.0.0.1:7890核对端口,确认代理客户端在运行
403 或地区不支持出口在不支持地区,换美国、日本或新加坡节点
授权后 CLI 无响应排除 localhost 代理,检查端口占用
流式输出中途停止固定节点,避开晚高峰

更完整的排查顺序见 Codex 无法连接怎么办。请在遵守所在地法律法规与 OpenAI 服务条款的前提下使用以上配置。

常见问题

QCodex CLI 会自动使用系统代理吗?

通常不会。终端程序一般只读取 HTTPS_PROXY、HTTP_PROXY 等环境变量,系统代理设置只对浏览器和部分图形应用生效。需要手动设置变量或开启 TUN 模式。

Q登录时浏览器显示授权成功,但 CLI 一直在等待怎么办?

多半是回调到 localhost 的请求被代理拦截或转发了。确认系统代理的绕过列表包含 localhost 和 127.0.0.1,关闭可能接管本地地址的浏览器代理扩展后重新登录。

Q在 SSH 远程服务器上怎么登录 Codex CLI?

远程服务器没有浏览器,回调无法直接完成。可以用 SSH 本地端口转发把回调端口映射到本机,或使用 API Key 登录;较新版本可能提供其他登录方式,以 codex login --help 输出为准。

QCodex 执行 npm install 失败,是代理问题吗?

不一定。Codex 在沙箱中执行命令时可能默认限制网络访问,这与你的代理无关。先确认 Codex 本身能正常对话,再查看官方文档中沙箱网络访问相关的配置项。

参考来源

  1. Codex CLI 开源仓库与文档
  2. Codex 开发者文档
  3. OpenAI API 支持的国家和地区
Esc

热门搜索

    ↑↓ 选择 · Enter 打开 · Esc 关闭打开搜索页