让 Codex 使用番石榴本地代理

如果 Codex 提示网络连接失败、请求超时,先打开番石榴并连接节点,再运行下面的“一键配置 Codex 网络”脚本。脚本会自动识别本地代理端口,并重启 Codex。

此方案只影响从 macOS 图形界面启动的 Codex,不会接管整台电脑流量;如果脚本仍无法让 Codex 联网,或需要整机全局代理,建议改用 Proxifier 全局代理 或 Clash 的 TUN 模式。

适用情况

macOS 端已经能登录、续费、选择节点,也能在“节点页 - 右上角设置 - 手动模式”里看到本地代理端口,但当前版本还不能直接接管 Codex 流量时,可以使用本页面的脚本。

番石榴手动模式默认 SOCKS5 地址为 127.0.0.1:10793。如果您的页面显示了其他 SOCKS5 端口,请按下方“端口不是 10793”说明运行。

操作步骤

1

连接番石榴节点

打开 macOS 客户端,在节点页选择一个可用节点并连接成功。

2

下载并运行脚本

解压下载的 zip,双击“一键配置Codex网络.command”。若弹出“Apple 无法验证”拦截,见下方放行方法

3

回到 Codex 测试

脚本会自动退出并重新打开 Codex,重新发送一次请求即可验证。

节点页已连接
手动模式SOCKS5 10793
$ ./一键配置Codex网络.command
检测本地代理端口...
检测到 HTTP 端口: 10793
正在重启 Codex...
完成,请重新发起请求测试。

端口不是 10793 怎么办

请在番石榴 macOS 客户端里打开“节点页 - 右上角设置 - 手动模式”,查看 SOCKS5 端口。假设显示为 10808,可以在终端这样运行:

cd ~/Downloads
chmod +x ./一键配置Codex网络.command
./一键配置Codex网络.command 10808

脚本会先检测新版 HTTP/SOCKS5 共用端口;如果失败,再尝试旧版 HTTP = SOCKS5 - 1;最后用 SOCKS5 作为补充。

脚本做了什么

脚本会通过 macOS 的 launchctl setenv 写入 Codex 可读取的代理环境变量:

HTTP_PROXY=http://127.0.0.1:<http_port>
HTTPS_PROXY=http://127.0.0.1:<http_port>
ALL_PROXY=socks5h://127.0.0.1:<socks_port>

优先使用 HTTP 代理是为了兼容更多网络库;同时设置 ALL_PROXY=socks5h://...,让不读取 HTTP 变量的请求也有机会走 SOCKS5 代理。

常见问题

双击后弹出“Apple 无法验证…”、只有“完成 / 移到废纸篓”怎么办?

这是 macOS 的 Gatekeeper 安全提示(弹窗通常只有“完成 / 移到废纸篓”两个按钮)。因为脚本没有购买 Apple 付费签名,系统会先拦一次,这属于正常现象,脚本是安全的。按下面任一方法放行即可,千万不要点“移到废纸篓”

方法 A · 图形界面放行(推荐,最直观)

先双击一次脚本(让系统记录到这次拦截),在弹窗上点“完成”,再按你的系统版本操作:

macOS Ventura(13) / Sonoma(14) / Sequoia(15) 及更新版本:

  1. 点屏幕左上角的 Apple 菜单(苹果图标)。
  2. 打开 系统设置(System Settings)。
  3. 左侧选择 隐私与安全性(Privacy & Security)。
  4. 向下滚动到 安全性(Security)区域,会看到“已阻止使用‘一键配置Codex网络.command’,因为无法验证开发者”。
  5. 点旁边的 仍要打开(Open Anyway)按钮。
  6. 输入开机密码(管理员密码)确认,然后再次双击脚本即可运行。

macOS Monterey(12) 及更早版本:

  1. Apple 菜单系统偏好设置(System Preferences)。
  2. 打开 安全性与隐私(Security & Privacy)→ 通用(General)标签。
  3. 窗口底部会出现关于该脚本被阻止的提示,点 仍要打开(Open Anyway)。
  4. 再次双击脚本即可运行。

方法 B · 终端一行命令(最省事,所有版本通用)

打开“终端”(在“启动台 - 其他”里,或按 ⌘+空格 搜索 Terminal),输入下面这行命令后先不要回车,把脚本文件从访达拖进终端窗口(会自动补全路径),再按回车:

xattr -dr com.apple.quarantine 

回车后会清除系统给脚本打的“隔离”标记,之后直接双击脚本就能运行,不会再弹拦截。如提示没有执行权限,可再执行 chmod +x ~/Downloads/一键配置Codex网络.command

⚠️ 新版 macOS(Sonoma 14 / Sequoia 15)已取消“右键 → 打开”绕过方式,请用上面方法 A 或 B。

运行脚本前需要关闭 Codex 吗?
不需要。脚本会自动尝试退出 Codex 并重新打开,因为已运行的 Codex 不会自动读取新的代理环境变量。
这和 Clash 的 TUN 模式有什么区别?
这个脚本只配置 Codex 的网络环境,改动小、适合临时救急。TUN 模式会接管更多软件的流量,更适合需要全局代理的场景。