AI 专题 使用教程
Codex CLI 代理设置教程:安装、登录与终端走代理的完整步骤
手把手配置 Codex CLI 的网络:npm 安装时的代理、ChatGPT 账号与 API Key 登录、HTTPS_PROXY 环境变量与 TUN 模式,以及 WSL、远程服务器场景下的处理方法。
- 作者
- AI 工具编辑组
- 首次发布
- 最后更新
- 内容类型
- 使用教程
- 资料核对
- 阅读时间
- 约 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 端口转发完成浏览器回调。
操作步骤
-
确认代理客户端与混合端口
代理客户端连接到 OpenAI 官方支持地区的节点,在设置中查看混合端口,以客户端显示的为准,例如 7897。
-
在终端设置代理环境变量
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。
-
安装 Codex CLI
在已设置代理的终端中执行 npm install -g @openai/codex。如果 npm 下载缓慢,可单独为 npm 配置代理。其他安装方式以官方文档为准。
-
验证网络连通
执行 curl -I https://api.openai.com/v1/models,返回 401 等 HTTP 状态码说明网络已通(未携带密钥时返回 401 属于正常现象);超时说明代理未生效。
-
登录 Codex
运行 codex,按提示选择 ChatGPT 账号登录并在浏览器完成授权,或选择使用 API Key。授权后浏览器会回调到本地端口完成登录。
-
持久化配置
将环境变量写入 ~/.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的输出为准。
登录相关的常见问题:
- 浏览器授权成功,终端无反应:回调请求被代理或防火墙拦截。确认
NO_PROXY包含本地地址,暂时关闭可能接管 localhost 的浏览器代理插件。 - 浏览器无法打开授权页面:浏览器本身没有走代理,或者分流规则没有覆盖 OpenAI 相关域名。
- 授权页提示地区不受支持:节点出口不在官方支持地区,更换节点并核实 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 下正常,说明问题在环境变量配置。