news 2026/7/10 19:16:31

Codex界面反复显示 正在重新连接 n/5。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Codex界面反复显示 正在重新连接 n/5。

Codex 7890 代理与沙盒弹窗处理记录

整理时间:2026-07-10
环境:Windows 11,Codex 桌面版OpenAI.Codex 26.623.19656.0

结论

这次问题分两层:

  1. Codex 模型请求的 websocket 直连会超时,界面反复显示正在重新连接 n/5
  2. 为了解决重连设置HTTPS_PROXY=127.0.0.1:7890后,Codex elevated 沙盒又因为代理端口状态不一致反复刷新,触发codex-windows-sandbox-setup.exe弹窗。

最终处理方式:

  • 用户级环境变量固定 Codex 主进程代理。
  • Codex 配置里的shell_environment_policy不再把代理变量传给沙盒内 shell 命令。
  • 保留[windows] sandbox = "elevated",不降级到unelevated

问题链路

1. 初始重连问题

本机系统代理为:

127.0.0.1:7890

监听进程为BettboxCore

当 Codex 没有显式代理环境变量时,模型流式请求会先尝试:

wss://chatgpt.com/backend-api/codex/responses

该 websocket 路径超时,于是出现:

正在重新连接 1/5 正在重新连接 2/5 ... 正在重新连接 5/5

5 次失败后,Codex 才降级到 http:

falling back to HTTP Request completed method=POST url=https://chatgpt.com/backend-api/codex/responses status=200 OK

测试确认:只给 Codex 进程设置HTTPS_PROXY=http://127.0.0.1:7890后,请求可以直接成功,不再等待 5 次重连。

2. 后续沙盒弹窗问题

设置代理变量后,Windows 反复弹出类似错误:

C:\Program Files\WindowsApps\OpenAI.Codex_26.623.19656.0_x64__2p2nqsd0c76g0\app\resources\codex-windows-sandbox-setup.exe 找不到指定的模块。

这个弹窗不是项目代码报错,也不是7890端口坏了。

沙盒日志位置:

C:\Users\Zcs\.codex\.sandbox\sandbox.2026-07-09.log

日志显示沙盒防火墙允许端口在两个状态之间来回变化:

sandbox setup required: offline firewall settings changed (stored_ports=[], desired_ports=[7890]) sandbox setup required: offline firewall settings changed (stored_ports=[7890], desired_ports=[])

含义是:Codex 主流程和某些子流程看到的代理变量不一致,导致 elevated 沙盒一会儿认为要允许7890,一会儿又认为不需要允许代理端口。

2026-07-10 复发后重新确认:

stored_ports=[7890], desired_ports=[]

这说明普通 shell 命令和fs-helper对代理端口的判断仍不一致。继续把HTTPS_PROXY注入给沙盒内 shell 命令,会让 elevated 沙盒反复刷新。

本次修改

1. 用户级环境变量

位置:

HKCU:\Environment

当前值:

HTTPS_PROXY=http://127.0.0.1:7890 NO_PROXY=localhost,127.0.0.1,::1

未设置:

HTTP_PROXY ALL_PROXY

用途:

  • 让新启动的 Codex Desktop 主进程显式走127.0.0.1:7890
  • 解决模型 websocket 直连超时导致的n/5重连。

2. Codex 沙盒内 shell 环境

修改文件:

C:\Users\Zcs\.codex\config.toml

当前配置:

[shell_environment_policy] exclude = [ "HTTPS_PROXY", "HTTP_PROXY", "ALL_PROXY", "https_proxy", "http_proxy", "all_proxy", ] set = { NO_PROXY = "localhost,127.0.0.1,::1" }

用途:

  • Codex 主进程继续走用户级HTTPS_PROXY
  • 沙盒内 shell 命令不再继承HTTPS_PROXY/HTTP_PROXY/ALL_PROXY
  • 避免 elevated 沙盒因为7890端口状态不一致反复刷新。

影响:

  • 不影响 Codex 聊天、思考、模型请求。
  • 可能影响沙盒内命令联网,例如pip installnpm installcurlgit clone
  • 如果某条命令必须走代理,临时在那条命令里加:
$env:HTTPS_PROXY='http://127.0.0.1:7890';要运行的命令

3. 保留 elevated 沙盒

当前配置仍是:

[windows] sandbox = "elevated"

未切换到:

[windows] sandbox = "unelevated"

未做的事

  • 没有修改 Bettbox 配置。
  • 没有改 Windows 系统代理。
  • 没有改 WinHTTP 代理。
  • 没有删除 Codex 沙盒用户。
  • 没有删除防火墙规则。
  • 没有删除C:\Users\Zcs\.codex\.sandbox
  • 没有重装 Codex。

备份

修改C:\Users\Zcs\.codex\config.toml前已备份:

C:\Users\Zcs\.codex\config.toml.bak-20260710-102936 C:\Users\Zcs\.codex\config.toml.bak-20260709-101223

验证

检查用户级变量:

Get-ItemProperty-Path'HKCU:\Environment'|Select-ObjectHTTPS_PROXY,NO_PROXY,HTTP_PROXY,ALL_PROXY

检查 Codex 配置:

Select-String-Path'C:\Users\Zcs\.codex\config.toml'`-Pattern'^\[shell_environment_policy\]|HTTPS_PROXY|NO_PROXY|^\[windows\]|sandbox\s*='`-Context 0,2

观察日志时,正常情况应看到:

proxy(http://127.0.0.1:7890/) intercepts 'https://chatgpt.com/' Request completed method=POST url=https://chatgpt.com/backend-api/codex/responses status=200 OK

不应继续反复出现:

stream disconnected - retrying sampling request (1/5 ...) Reconnecting... 2/5 sandbox setup required: offline firewall settings changed (stored_ports=[], desired_ports=[7890]) sandbox setup required: offline firewall settings changed (stored_ports=[7890], desired_ports=[]) setup refresh: spawning ... codex-windows-sandbox-setup.exe

2026-07-10 验证结果:

改完后跑一次最小命令,C:\Users\Zcs\.codex\.sandbox\sandbox.2026-07-10.log没有新增setup refresh,日志最后停在改动前的10:25:36

端口变化时怎么改

如果代理端口从7890改成7897,只需要改用户级环境变量。

用户级环境变量:

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

改完后完全退出 Codex Desktop,再重新打开。

回滚

删除用户级环境变量:

reg delete HKCU\Environment/v HTTPS_PROXY/f reg delete HKCU\Environment/v NO_PROXY/f

恢复 Codex 配置前,先确认是否要用备份覆盖当前配置:

C:\Users\Zcs\.codex\config.toml.bak-20260709-101223

其他电脑是否适用

适用条件:

  • 也是 Windows。
  • 也使用 Codex Desktop。
  • 也使用本机代理。
  • 代理端口确实是127.0.0.1:7890,或能替换成对应端口。
  • 问题表现同样是 websocket 先重连,http 降级后才成功。

不建议无脑照搬的情况:

  • 代理端口不是7890
  • Codex 直连本来就正常。
  • 公司网络或安全软件限制用户级代理环境变量。

迁移到其他电脑时,先查端口:

Get-NetTCPConnection-State Listen|Where-Object{$_.LocalAddress-eq'127.0.0.1'}|Select-ObjectLocalAddress,LocalPort,OwningProcess

再按实际端口设置用户级HTTPS_PROXYshell_environment_policy不要再固定代理变量,保持排除代理变量即可。

参考

  • https://developers.openai.com/codex/windows#windows-sandbox
  • https://developers.openai.com/codex/config-advanced#shell-environment-policy
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 19:16:19

告别兼容性问题:3步实现PS4手柄在PC上的完美游戏体验

告别兼容性问题:3步实现PS4手柄在PC上的完美游戏体验 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 你是否曾经遇到过这样的困扰:购买了昂贵的PS4手柄&#xff0c…

作者头像 李华
网站建设 2026/7/10 19:16:05

Wand-Enhancer:为WeMod带来免费专业级游戏功能扩展体验

Wand-Enhancer:为WeMod带来免费专业级游戏功能扩展体验 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为游戏修改工具的付费墙而烦恼吗…

作者头像 李华
网站建设 2026/7/10 19:15:55

STM32F756ZG与DTH-08模块的上拉下拉动态切换实现

1. 项目背景与核心需求 在嵌入式系统设计中,信号的上拉和下拉配置是确保电路稳定工作的基础操作。STM32F756ZG作为一款高性能ARM Cortex-M7内核微控制器,其GPIO端口支持灵活的上拉/下拉电阻配置。而DTH-08作为一款数字信号调理模块,常被用于信…

作者头像 李华
网站建设 2026/7/10 19:15:25

EM3080-W与PIC18F85J10的嵌入式条码识别系统设计

1. EM3080-W与PIC18F85J10的硬件协同设计在嵌入式条码识别系统中,EM3080-W解码芯片与PIC18F85J10微控制器的组合堪称黄金搭档。EM3080-W作为新大陆自动识别技术有限公司的拳头产品,其双核DSP架构设计令人印象深刻——主处理核心以120MHz频率实时处理1280…

作者头像 李华
网站建设 2026/7/10 19:14:06

初音未来MOD管理器完整指南:一站式管理你的Project Diva游戏体验

初音未来MOD管理器完整指南:一站式管理你的Project Diva游戏体验 【免费下载链接】DivaModManager 项目地址: https://gitcode.com/gh_mirrors/di/DivaModManager Diva Mod Manager是一款专为《初音未来:Project Diva Mega Mix》玩家设计的终极M…

作者头像 李华