VS Code 中 Codex 在其他工作区一直加载:只读排查报告

排查时间:2026-07-23。整个排查只读取了 VS Code 配置、进程和日志;没有关闭 VS Code、没有删除扩展/聊天记录、没有修改任何 VS Code 配置或缓存

结论

这更像是 VS Code 的 Chat/扩展宿主兼容性与多 AI 扩展竞争问题,而不是“某个工作区的聊天记录太多”或单纯的网络断开。

网络不能完全排除:Codex 依赖本地 Clash 代理,代理切换线路时仍可能使加载卡住;但本次抓到的运行态并不支持把网络当作主因。当前 Codex 进程已经通过 127.0.0.1:7897 建立了 3 条代理连接,日志中也没有 DNS、TLS、401、网络超时或登录失败。

证据

  1. Codex 在“失效窗口”实际被激活。 多窗口日志均有 ExtensionService#_doActivateExtension openai.chatgpt,触发原因为打开 Codex 侧栏;不是工作区未信任、扩展被禁用或找不到二进制。
  2. VS Code 的 Chat 基础设施存在版本不匹配。 当前 VS Code 为 1.119.0,而已安装的 github.copilot-chat 0.48.1 明确要求 ^1.120.0。日志重复记录“不兼容”和 No bundle location found for extension GitHub.copilot-chat。同一套 Chat 扩展 API 被 Codex、Copilot Chat、MarsCode 等共同使用,这种不匹配会让某些窗口的 Chat/Webview 生命周期异常。
  3. 日志出现 Codex 会话类型未被识别。 记录了 Attempted to report in-progress status for unknown chat session type 'openai-codex'。这与“侧栏一直 Loading、切换工作区偶尔恢复”一致:Codex 后端已启动,但 VS Code 的会话 UI 状态没有正常接上。
  4. 同时运行的 AI 扩展带来扩展宿主负担。 MarsCode 的日志出现 Stopping the server timed out;它还保留了独立的 AI server、知识库 server 和 agent 进程。Copilot Chat 本身又处于不兼容状态。它们未必是唯一根因,但确实会放大多窗口切换时的宿主/Chat API 问题。
  5. 不是当前工作区聊天记录加载过大。 最近三个工作区的 workspaceStorage 数据库只有约 132–152 KB。与 Codex 相关的键主要是侧栏可见性和容器状态;仅一个工作区有约 442 B 的 workbench.view.chat.sessions.state。没有看到会造成加载卡死的大型当前聊天状态。
  6. “绑定工作区”的现象来自 VS Code 的正常工作区状态隔离。 VS Code 会为每个文件夹在 User/workspaceStorage/<hash>/state.vscdb 里分别保存侧栏、Webview 和 Chat 状态。因此一个工作区能唤醒侧栏、另一个不能,并不意味着 Codex 账号或聊天记录真的被绑定到了该项目。
  7. 代理当前处于可用状态,但它是一个风险点。 VS Code 设置和 Codex 子进程环境均使用 HTTP_PROXY/HTTPS_PROXY=http://127.0.0.1:7897;该端口由 clash-meta 监听,且 Codex 已有已建立连接。故它不是本次快照中“完全无法加载”的直接证据,但若 Clash 规则、节点或系统代理状态切换,所有新窗口会一起受影响。

最可能的原因排序

  1. VS Code 1.119.0 与已安装的 Copilot Chat 版本不兼容,扰动了共享的 Chat 会话/Webview 机制。
  2. MarsCode、Copilot Chat、Codex 同时在多个窗口启动,造成扩展宿主或 AI 后台服务竞争;日志已经证明 MarsCode 停止服务会超时。
  3. Clash 代理的节点/规则偶发问题。它是次要嫌疑,不能仅靠本次成功的本地连接排除。
  4. 工作区聊天记录损坏或过大:本次证据不支持。

后续验证(本次没有执行)

优先在维护窗口中把 VS Code 升级到与 Copilot Chat 相容的版本,或使 Copilot Chat 版本与 VS Code 对齐;随后完全退出并重开 VS Code,再测试两个不同文件夹。若仍复现,可在不删除聊天数据的前提下,临时禁用其他 AI 扩展(尤其 MarsCode 与 Copilot Chat)后测试 Codex;这能直接区分“Codex 自身/网络”与“扩展竞争”。最后再在 Clash 保持同一节点时比较两个窗口的加载表现。

官方 IDE 文档入口:https://developers.openai.com/codex/ide