AI 专题 使用教程

Codex CLI 代理设置教程:安装、登录与终端走代理的完整步骤

手把手配置 Codex CLI 的网络:npm 安装时的代理、ChatGPT 账号与 API Key 登录、HTTPS_PROXY 环境变量与 TUN 模式,以及 WSL、远程服务器场景下的处理方法。

首次发布
最后更新
内容类型
使用教程
资料核对
阅读时间
约 4 分钟

信息可能随服务调整而变化,请以最新官方信息为准。

直接答案

Codex CLI 可用 npm install -g @openai/codex 安装,支持 ChatGPT 账号或 API Key 登录。它通常不会自动使用系统代理,需要设置 HTTPS_PROXY / HTTP_PROXY 指向代理客户端的混合端口,并用 NO_PROXY 排除本地地址,或直接开启 TUN 模式。账号登录依赖浏览器回调到本地端口,回调被代理或防火墙拦截是登录失败的常见原因。

Key Takeaways · 要点速览

  • 安装、登录、日常使用三个阶段都可能受网络影响,需要分别确认。
  • 终端代理用 HTTPS_PROXY / HTTP_PROXY,端口以客户端显示的混合端口为准。
  • NO_PROXY 必须包含 localhost 与 127.0.0.1,否则可能影响登录回调。
  • 用 curl 请求 api.openai.com,收到任何 HTTP 响应即说明网络已通。
  • 远程服务器可用 API Key 登录,或通过 SSH 端口转发完成浏览器回调。

操作步骤

  1. 确认代理客户端与混合端口

    代理客户端连接到 OpenAI 官方支持地区的节点,在设置中查看混合端口,以客户端显示的为准,例如 7897。

  2. 在终端设置代理环境变量

    macOS / Linux 使用 export HTTPS_PROXY=http://127.0.0.1:7897 等命令;Windows PowerShell 使用 $env:HTTPS_PROXY="http://127.0.0.1:7897";同时设置 NO_PROXY=localhost,127.0.0.1。

  3. 安装 Codex CLI

    在已设置代理的终端中执行 npm install -g @openai/codex。如果 npm 下载缓慢,可单独为 npm 配置代理。其他安装方式以官方文档为准。

  4. 验证网络连通

    执行 curl -I https://api.openai.com/v1/models,返回 401 等 HTTP 状态码说明网络已通(未携带密钥时返回 401 属于正常现象);超时说明代理未生效。

  5. 登录 Codex

    运行 codex,按提示选择 ChatGPT 账号登录并在浏览器完成授权,或选择使用 API Key。授权后浏览器会回调到本地端口完成登录。

  6. 持久化配置

    将环境变量写入 ~/.zshrc、~/.bashrc 或 Windows 用户环境变量;需要多个工具同时走代理时,可改用 TUN 模式。

适用范围与核心思路

直接回答:Codex CLI 的网络配置分三个阶段完成,分别是安装、登录和日常使用。三个阶段都发生在终端里,而终端通常不读取系统代理,所以核心只有一件事:让终端的请求进入代理客户端。最简单的做法是设置 HTTPS_PROXY / HTTP_PROXY 环境变量;需要一劳永逸时开启 TUN 模式。

本文适用于 macOS、Linux 与 Windows(PowerShell)。为了不写死过时信息,具体版本号与 Node.js 版本要求以官方文档为准。Codex 的整体网络要求可以先阅读 Codex 网络环境完整指南。

说明中国大陆与中国香港不在 OpenAI 官方支持地区列表中。节点地区请以官方支持地区列表为准,并遵守服务条款与当地法律法规。

准备工作

项目 要求 说明
代理客户端 已连接,节点位于支持地区 建议固定节点,不用自动切换
混合端口 在客户端设置中查看 以客户端显示的为准,例如 7897
Node.js 与 npm 通过 npm 安装时需要 版本要求以官方文档为准
账号 ChatGPT 账号或 OpenAI API Key 额度与计费以官方说明为准

第一步:为终端设置代理

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

部分程序只读取小写变量名,可以再设置一份 https_proxy、http_proxy、no_proxy。确认可用后,把这几行写入 ~/.zshrc(zsh)或 ~/.bashrc(bash),新开的终端会自动生效。

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"

以上只对当前窗口生效。需要长期生效时,写入用户级环境变量:

[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://127.0.0.1:7897", "User")
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://127.0.0.1:7897", "User")
[Environment]::SetEnvironmentVariable("NO_PROXY", "localhost,127.0.0.1", "User")

写入后需要重新打开终端才能读取到新变量。

提示代理地址建议使用 http:// 前缀。代理客户端的混合端口同时接受 HTTP 与 SOCKS 连接,http:// 形式对命令行工具的兼容性最好。

第二步:安装 Codex CLI

在已经设置代理的终端中执行:

npm install -g @openai/codex

如果安装过程很慢或中断,可以单独为 npm 配置代理:

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

不再需要时用 npm config delete proxy 与 npm config delete https-proxy 移除。其他安装方式(例如系统包管理器)以官方文档为准。

第三步:验证网络连通

安装完成后,先不急着登录,用 curl 确认终端到 OpenAI 的网络:

curl -I https://api.openai.com/v1/models
结果 含义 下一步
返回 401 等 HTTP 状态码 网络已通,未携带密钥属于正常 进入登录
长时间无响应后超时 代理未生效或节点不可用 检查环境变量与节点
连接被拒绝 端口错误或代理客户端未运行 核对混合端口
证书相关错误 公司网络或安全软件进行了 HTTPS 检查 联系网络管理员

第四步:登录

运行 codex,首次启动会提示选择登录方式:

  • ChatGPT 账号登录:终端会在本地启动一个回调端口并打开浏览器。你在浏览器中完成授权后,浏览器把结果回调到本地端口,终端随即完成登录。
  • API Key 登录:适合服务器或无图形界面的环境。具体命令与参数以 codex login --help 的输出为准。

登录相关的常见问题:

  1. 浏览器授权成功,终端无反应:回调请求被代理或防火墙拦截。确认 NO_PROXY 包含本地地址,暂时关闭可能接管 localhost 的浏览器代理插件。
  2. 浏览器无法打开授权页面:浏览器本身没有走代理,或者分流规则没有覆盖 OpenAI 相关域名。
  3. 授权页提示地区不受支持:节点出口不在官方支持地区,更换节点并核实 IP 归属。

特殊环境的处理

WSL2

WSL2 中的 127.0.0.1 指向 WSL 自身。可在代理客户端开启「允许局域网连接」,把代理地址改为 Windows 宿主机在虚拟网络中的 IP;较新的 WSL 版本也可以启用 mirrored 网络模式,让 127.0.0.1 直接可用。

远程 SSH 服务器

服务器访问本机代理,可以用 SSH 反向转发:

ssh -R 7897:127.0.0.1:7897 user@server

如果要在服务器上用 ChatGPT 账号登录,还需要把回调端口转发到本机,回调端口以终端提示的地址为准:

ssh -L <回调端口>:localhost:<回调端口> user@server

然后在本机浏览器打开终端给出的授权链接。更省事的做法是在服务器上使用 API Key 登录。

改用 TUN 模式

如果你同时使用 git、npm、Codex CLI 等多个命令行工具,或者某个工具不读取环境变量,可以直接开启代理客户端的 TUN 模式。开启后终端无需再设置代理变量,具体步骤见 Clash Verge Rev TUN 模式设置。环境变量与 TUN 同时启用一般不会冲突,但排查问题时建议先只保留一种。

常见错误速查

症状 可能原因 处理方式
npm 安装卡住 npm 未走代理 为 npm 配置 proxy 与 https-proxy
对话请求超时 终端代理未生效 在同一终端检查环境变量,用 curl 验证
授权后终端仍未登录 回调被拦截 NO_PROXY 包含 localhost 与 127.0.0.1
用着用着断开 线路丢包或切换节点 固定节点,选择晚高峰稳定的线路
只在某个终端能用 变量只在当前窗口生效 写入 shell 配置文件或用户环境变量

完成以上步骤仍然无法连接时,参考 Codex 无法连接怎么办 按问题页逐项排查;如果怀疑是线路本身的问题,Codex 稳定机场推荐 介绍了适合长连接场景的线路选择方法。

常见问题

安装 Codex CLI 需要什么前置条件?

通过 npm 安装需要先安装 Node.js 与 npm,Node.js 版本要求以官方文档为准。安装过程需要从 npm 仓库下载文件,网络较慢时可以为 npm 配置代理。

浏览器显示授权成功,终端却一直卡在登录界面怎么办?

通常是浏览器回调本地端口的请求被拦截。检查 NO_PROXY 是否包含 localhost 与 127.0.0.1,关闭可能接管本地地址的浏览器代理插件,并确认防火墙或安全软件没有阻止本地端口。

在没有浏览器的服务器上怎么登录 Codex?

可以改用 API Key 登录;或者通过 SSH 本地端口转发,把服务器上的回调端口映射到本机,再在本机浏览器中完成授权。回调端口以终端提示的地址为准。

设置了 HTTPS_PROXY 还是连不上,下一步查什么?

先在同一终端用 curl 验证代理是否生效,再确认节点位于官方支持地区且浏览器能打开 ChatGPT。仍然失败时开启 TUN 模式做对照,若 TUN 下正常,说明问题在环境变量配置。