夜雨聆风学习资料网

ARTICLE · 1092937

我差点把 Codex 卸载了,结果发现问题根本不在 Codex

我差点把 Codex 卸载了,结果发现问题根本不在 Codex

我是懒猫。

前段时间,我差点把 Codex 卸载了。

不是因为它不好用,而是因为它突然开始一直卡在:

正在思考……

等了一会儿,没反应。

再等一会儿,还是没反应。

然后变成:

正在重新连接……

这时候,一个程序员的第一反应通常不是“让我冷静分析一下”,而是:

这玩意是不是又出问题了?

于是,一场原本只想花十分钟解决的问题,最后硬是让我折腾了半天。

而这一折腾,也让我重新认识了一件事:

很多看起来像软件出问题的问题,最后可能根本不是软件本身的问题。

01|一开始,我以为只是 Codex 抽风

最近我一直在用 Codex 帮我处理一些代码。

正常情况下,把需求告诉它之后,它会开始分析,然后修改代码或者给出解决方案。

但那天不一样。

我输入内容之后,它就一直停在那里:

正在思考……

等了半天,没有结果。

接着:

正在重新连接……

然后又回到:

正在思考……

循环往复。

看到这里,我第一反应就是:

是不是 Codex 出问题了?

于是我开始尝试重新打开、重新连接,甚至考虑重新安装。

毕竟程序员排查问题的经典流程之一就是:

重启一下试试。

02|重新折腾了一遍,问题还是存在

重新启动之后,问题没有明显改善。

这时候我开始意识到:如果只是 Codex 临时异常,重启之后应该至少会有一些变化。

于是,我开始换一个方向:

网络。

这个时候,我注意到了 Mac 上的代理设置。

03|127.0.0.1:7890 到底是什么?

我的 Mac 当时配置了本地代理,其中一个地址是:

127.0.0.1:7890

如果你平时不怎么接触代理,这串东西看起来可能有点懵。

其实可以简单理解成:

Codex → 本地代理 → 互联网 → 目标服务

其中,127.0.0.1 代表的是:

你自己的电脑。

而 7890 是本地代理程序监听的端口。

所以,如果某个应用通过这个代理访问网络,它实际上可能会先把请求交给运行在自己电脑上的代理程序。

这时候问题就来了:如果代理配置、代理软件或者网络链路其中一环出现问题,应用层面看到的可能只是“连接失败”。

于是我开始检查 Mac 的代理设置。

配图说明:解释 Codex → 本地代理 → 互联网 → 目标服务的请求链路。

04|我把 Mac 的代理设置翻了个底朝天

打开:

系统设置 → 网络 → Wi‑Fi → 详细信息 → 代理

可以看到 HTTP、HTTPS、SOCKS 等代理配置。

当时我的配置中出现了类似:

127.0.0.17890

看到这里,我突然意识到:之前排查 Codex 的时候,我一直在盯着 Codex 本身,却忽略了它的网络请求可能还经过了另外一层。

这就有点像:

你发现外卖一直没送到,然后一直怀疑骑手。

结果最后发现:

小区大门根本没开。

05|端口能通,不代表一切都正常

当然,看到 127.0.0.1:7890,不能直接认定代理就是罪魁祸首。

我先做了一个基础测试:

curl -I https://api.openai.com --proxy http://127.0.0.1:7890

如果返回 HTTP/1.1 200 Connection established,只能说明本地代理端口至少能够建立连接。

但这并不等于:

  • Codex 一定使用了同一套代理配置;

  • 代理一定能稳定访问所有目标服务;

  • TLS、DNS、认证和长连接都没有问题。

这也是排查网络问题时很容易踩的坑:

一个测试成功,只能证明这一条路径在这一刻成功过。

不能直接把它当成“整个系统都没问题”。

06|最后,我把排查范围从“软件”扩大到了“链路”

后来我重新检查了代理软件是否正在运行、监听端口是否一致、系统代理是否和应用实际使用的代理一致,也分别尝试了关闭代理和切换网络。

排查到这里,我才真正把问题拆开来看:

应用有没有发出请求?↓请求有没有进入代理?↓代理能不能连接目标服务?↓连接是否能稳定保持?

当你这样一层一层往下看,原本一句“Codex 怎么又不动了”,就变成了几个可以验证的小问题。

配图说明:展示“应用有没有发出请求、请求经过哪些环节、当前现象能证明什么”三个排查问题。

07|写在最后

这次经历给我的最大提醒是:

不要太早给问题下结论。

看到“正在重新连接”,不一定是软件坏了;看到端口能通,也不代表整条链路都正常。

很多问题真正的答案,可能藏在你一开始根本没注意到的地方:代理、证书、DNS、权限,或者只是某个服务恰好没有启动。

所以,下次再遇到类似问题,我大概不会第一时间卸载软件了。

我会先问自己三个问题:

  1. 请求有没有发出去?

  2. 请求经过了哪些中间环节?

  3. 我现在看到的现象,究竟能证明什么?

毕竟,程序员的电脑里,最容易被误判的东西,往往不是代码。

而是那些“看起来一直都在正常工作”的配置。

我是懒猫,这里是 懒猫搞开发。

下次见。

本文记录的是一次排查思路,不代表所有“正在重新连接”都由代理导致。具体原因仍需结合日志、网络环境和应用配置判断。

相关学习资料