1 为什么 Codex CLI 值得单独做一条「终端 Agent」分流叙事
在 2025–2026 的讨论里,终端原生 Agent 反复被提到的痛点并不是「会不会写规则」,而是同一条用户路径上叠了太多异构流量:包管理器去公共 npm registry 拉 tarball;OAuth 或设备码流程弹浏览器;随后进程长时间持有到 OpenAI API 的 TLS 连接做流式补全;若启用沙箱,底层往往还要走 docker pull 命中 Docker Hub 或镜像加速站。任何一环走了错误出口,表现都像「Codex 坏了」——其实是规则顺序、DNS 或企业隧道抢路由的问题。
本站已有《2026 年用 Clash 稳定访问 ChatGPT:OpenAI 域名分流与 API 代理》覆盖浏览器与通用 API 面,也有《MCP 工具链与 npm、GitHub 分流》讲 IDE 侧协议与注册表。本文夹在二者之间:主角是 OpenAI Codex CLI 与包名 @openai/codex,强调命令行进程如何与系统代理、TUN、以及容器守护进程并存,让读者能对照连接日志自查,而不是背诵一张会过期的域名表。
若你尚未安装图形客户端,可先到本站下载页获取支持 Mihomo 与订阅管理的 Clash 系客户端;下文规则请合并进现有 Profile 的 rules: 靠前位置,并保留订阅里自带的兜底策略。
2 全局安装 @openai/codex:npm registry 与 tarball 依赖
执行 npm install -g @openai/codex 或 npx @openai/codex 时,客户端会访问官方 npm registry 主机族(常见为 registry.npmjs.org,并可能伴随 npmjs.org 上的元数据与文档跳转)。在企业内网或教育网环境,若 registry 被定向到内网私服,Clash 侧可能完全看不到这些连接——此时应改查私服连通性而非节点质量。
若你使用淘宝源、腾讯云镜像等国内 registry,出站域名会换成镜像站主机名;Clash 分流规则也应改成匹配实际解析结果。建议为「Node 包管理」单独准备策略组 PROXY_NPM 或 DIRECT_NPM:直连镜像能显著降低 tarball 下载时延,但请确认镜像同步延迟是否可接受;走代理则与上游版本更一致,适合跨国团队对齐 lockfile。
排障时打开 Mihomo 连接日志,过滤进程名为 node 或你的包管理器包装器;若出现大量指向对象存储或 CDN 的主机名,把其中稳定出现的后缀并入远程 Rule Provider,而不是在本地堆几十条一次性 DOMAIN。
3 首次登录与持续调用:OpenAI API 与相关控制台域名
Codex CLI 登录阶段通常会拉起系统浏览器完成 OAuth 或设备码授权,涉及的主机往往落在 openai.com、auth.openai.com、chatgpt.com 等后缀树下(具体以你当前版本与区域为准)。这与《ChatGPT 与 OpenAI 分流》一文高度重叠,因此基线做法是复用该文已经验证过的 DOMAIN-SUFFIX 组合,放进统一策略组 PROXY_OPENAI,避免浏览器与 CLI 命中不同出口导致 Cookie 或令牌校验异常。
进入实际编码会话后,流量主体变为对 OpenAI API 端点的 HTTPS 长连接与 text/event-stream 流式响应。此类连接对抖动与丢包远比普通网页敏感;若你把 API 与下载大文件共用同一「拥堵」节点,常见症状是偶发半截输出或 TLS 超时。可为 API 单独绑定策略组,或在 url-test 组里选用更适合长连接的节点池,细节可参考《Clash URL-Test 与 Fallback 策略组》。
DNS 方面,FakeIP 与 DoH 若与规则不一致,会出现「规则显示命中代理但仍握手失败」的假阳性。建议结合《Meta 内核 DoH 与 FakeIP 最佳实践》核对 dns 段与 fake-ip-filter,并在改规则后清理本机 DNS 缓存再测。
node 进程未必继承环境变量。若浏览器登录成功而 CLI 仍报网络错误,优先考虑 TUN 模式或按会话导出 HTTPS_PROXY,并检查 NO_PROXY 是否误伤相关主机。
4 沙箱与容器:Docker Hub、认证与镜像层拉取
当 Codex 或周边工具需要在沙箱里执行不可信命令时,往往会触发 docker 或兼容运行时去拉官方基础镜像。以 Docker 官方注册表为例,常见主机包括 registry-1.docker.io、auth.docker.io、index.docker.io 以及 hub.docker.com 的网页控制台流量。它们与 OpenAI 流量解耦:即便 API 已通,镜像层若被错误直连或错误走劣质代理,仍会卡在 pull 阶段。
若你使用国内镜像加速或私有 Harbor,请在规则里显式匹配实际拉取域名,而不是照抄本文示例。对于需要匿名拉取的公共仓库,一种务实折衷是:PROXY_DOCKER 走低丢包线路,DIRECT 留给已加速的镜像域名;关键是避免被一条过于宽泛的 GEOIP,CN,DIRECT 提前匹配到错误路径。
注意 Docker Desktop 在 macOS 或 Windows 上可能使用虚拟机或 WSL2 后端;从宿主机视角看到的连接源地址与 Linux 服务器裸跑 Docker 不同。若沙箱跑在 VM 内,还需参考虚拟机网关教程(例如站内 Hyper-V、VMware、KVM 相关文章)保证 VM 到宿主机 Mihomo 入站端口的 TCP 可达性。
5 可选 MCP 与工具链:别和 Codex 主链路绑死
许多团队会给 Agent 配 MCP 服务器,于是又叠加 npx、GitHub、对象存储等域名。此类流量更适合沿用《MCP 与 npm、GitHub 分流》中的维护方式:单独 Rule Provider、与 OpenAI 核心后缀解耦,避免一次全局规则更新打断 Codex 的长连接。
若 MCP 与 Codex 共用同一台开发机,建议至少在策略组命名上区分 PROXY_OPENAI 与 PROXY_DEVTOOLS,并在日志里用进程名或规则备注做对照,减少「改 MCP 规则却把 API 打爆」的误操作。
6 可复制 YAML 示意:DOMAIN-SUFFIX 与 Rule Provider 插槽
下面片段仅作结构演示,合并到完整配置时请对齐你已有的 proxy-groups 名称,并把细粒度域名增量放进远程规则文件而非写死在主配置里。
# Example only — merge with your full profile and proxy-groups
proxy-groups:
- name: PROXY_OPENAI
type: select
proxies: [AUTO-BEST, DIRECT]
- name: PROXY_NPM
type: select
proxies: [AUTO-BEST, DIRECT]
- name: PROXY_DOCKER
type: select
proxies: [AUTO-BEST, DIRECT]
rule-providers:
codex-dev-extra:
type: http
behavior: classical
url: "https://example.com/rules/codex-extra.txt"
path: ./ruleset/codex-dev-extra.yaml
interval: 86400
rules:
- DOMAIN-SUFFIX,npmjs.org,PROXY_NPM
- DOMAIN-SUFFIX,registry.npmjs.org,PROXY_NPM
- DOMAIN-SUFFIX,openai.com,PROXY_OPENAI
- DOMAIN-SUFFIX,chatgpt.com,PROXY_OPENAI
- DOMAIN-SUFFIX,auth.openai.com,PROXY_OPENAI
- DOMAIN-SUFFIX,registry-1.docker.io,PROXY_DOCKER
- DOMAIN-SUFFIX,auth.docker.io,PROXY_DOCKER
- DOMAIN-SUFFIX,index.docker.io,PROXY_DOCKER
- DOMAIN-SUFFIX,hub.docker.com,PROXY_DOCKER
- RULE-SET,codex-dev-extra,PROXY_OPENAI
生产环境请谨慎使用过于宽泛的 DOMAIN-KEYWORD 做长期规则;优先 DOMAIN-SUFFIX 与可审计的 Rule Provider。上游产品线迭代会引入新主机名,以本机日志为准做增量才是可持续策略。
7 企业 VPN 与本机 Docker 并存时的路由与策略
许多公司电脑强制全局隧道 VPN,会把默认路由或 DNS 劫持到隧道内,导致本机 Mihomo 的 TUN 分流看起来「突然失效」。处理思路与《Windows 企业 VPN 与 Clash 同开》一致:先厘清拆分隧道是否允许本地环回仍指向 Clash、以及 VPN 是否为 DNS 下发覆盖;再决定 Codex 是否改走「会话级代理环境变量」或「允许局域网」的混合端口方案。
Docker 与 Clash 同时运行时,注意谁监听混合端口、以及容器网络是否通过宿主 NAT。若沙箱容器使用 bridge 网络,其出站可能绕过宿主系统代理;此时要么让 Docker 配置 HTTP_PROXY,要么让 Mihomo 在 TUN 层接管宿主路由。不要同时在未理解拓扑的情况下叠加多个「全局代理」,否则排障日志会互相污染。
8 排错顺序:从安装到 pull 的最小验证
- npm 阶段:确认日志里 tarball 请求命中
PROXY_NPM或预期直连镜像;检查是否误配公司私服证书。 - 浏览器鉴权:确认
openai.com/chatgpt.com等与 CLI 同属PROXY_OPENAI,避免 split-brain。 - API 流式:固定一条低丢包线路试跑长回答;观察是否仍有未覆盖主机名。
- docker pull:单独拉最小镜像验证
PROXY_DOCKER;若仅沙箱失败,优先查 Docker 守护进程侧环境变量而非 Clash 全局。
Geo 数据过期也会造成「明明写了后缀却仍走默认策略」的错觉,可定期参考《Clash Meta 手动更新 GeoIP 与 Geosite》核对本地数据版本。
9 总结
OpenAI Codex CLI代表的开发体验,把 npm registry、浏览器鉴权、OpenAI API 长连接与 Docker Hub 镜像拉取绑在同一条路径上;用 Mihomo 把它们拆成可命名、可回滚的策略组,并配合可更新的 Rule Provider,比反复切换全局模式更能扛住产品与 CDN 的迭代。与站内 ChatGPT 泛化分流、MCP 工具链专文互补而非重复:此处强调终端 Agent 与容器侧工程化排障。
相比依赖零散脚本临时导出环境变量,Clash 系在规则透明度与图形客户端生态上更适合长期放在开发机后台;把日志读清楚,往往比频繁更换节点更能解决间歇性失败。
需要安装或升级客户端时,请优先使用本站下载页获取各平台安装包;开源仓库适合了解协议与参与贡献,与日常安装包获取路径区分开,更符合版本与安全习惯。