前言¶
如果你在 Windows 上同时使用 ChatGPT(或 Codex)桌面应用和 Clash 类系统代理,可能遇到过这样的现象:应用启动正常,但约 60-90 秒后整个进程退出,系统不弹任何错误对话框。README 记录崩溃前最后一条应用日志是 [windows-store-updater] Checking Windows Store for package updates。手工排查需要翻崩溃转储、核对 Microsoft Store 通道和代理配置,链条长、容易漏。
dsh-plugin-chatgpt-crash-fix 把这套排查和修复做成了 DSH 插件。按 DSH「一切皆插件」的思路,诊断脚本、修复脚本和操作手册随插件一起分发,DSH 代理可以按手册自动走完「诊断 → 修复 → 验证」流程。
这是什么¶
dsh-plugin-chatgpt-crash-fix 由 lammarco86 维护,MIT 许可,当前版本 1.0.2。它面向的问题很具体:Windows Store 包 OpenAI.Codex(ChatGPT/Codex 桌面应用)启动约 60-90 秒后崩溃。
根因方面,README 自述了一条经崩溃转储验证的链路(资料中未见独立的第三方验证):
Clash 类软件设置系统代理(如 127.0.0.1:7897)
└─ 代理转发微软更新域名失败(直连可用,走代理失败)
└─ Windows Update / Microsoft Store 通道中断(0x80072EFD)
└─ 应用的 Store-updater 原生模块 windows-updater.node 崩溃(0xC0000005)
└─ 整个应用退出
对应的修复思路是:保持代理开启,OpenAI 流量继续走代理;仅把微软域名加入代理 bypass 列表,让 Store / Windows Update 直连。通道恢复后,应用经 Store 更新到修复版本,崩溃停止。
核心功能¶
插件包含以下内容:
skills/chatgpt-crash-fix/SKILL.md:操作手册,教会任意 DSH 代理「诊断 → 修复 → 验证」流程scripts/diagnose-chatgpt-crash.ps1:一次性只读诊断,覆盖应用状态、崩溃转储、Store 通道、代理scripts/check-store-channel.ps1:Microsoft Store / Windows Update 通道检查(只读)scripts/check-proxy-config.ps1:代理与 bypass 列表检查(只读)scripts/fix-proxy-bypass.ps1:一键修复,先备份 → 添加微软域名到代理 bypass 列表 → 验证,支持-Restore回滚lib/index.js:Cordis 插件,注册/chatgpt-crash-fix命令
三个检查脚本均为只读;fix-proxy-bypass.ps1 只修改用户代理设置,且修改前始终先备份。
安装与启用¶
作为 DSH 插件安装:
dsh plugin add dsh-plugin-chatgpt-crash-fix
如果只需要脚本和 Skill 文件,也可以直接克隆仓库:
git clone https://github.com/lammarco86/dsh-plugin-chatgpt-crash-fix.git
依赖方面,插件通过 peerDependencies 声明 @deepseek-ai/cordis 4.0.1,Node 版本要求 ^22.19.0 || >=24.0.0。PowerShell 脚本需以 -ExecutionPolicy Bypass 运行,下面示例已带上该参数。
典型用法¶
先做只读诊断,确认环境是否匹配预期:
powershell -ExecutionPolicy Bypass -File scripts\diagnose-chatgpt-crash.ps1
这一步不修改任何配置,输出应用状态、崩溃转储、Store 通道和代理情况。
如果诊断报告同时满足「WU 失败 + 代理开启 + 无微软 bypass」三个条件,执行修复。-ProxyServer 换成你自己的代理地址:
powershell -ExecutionPolicy Bypass -File scripts\fix-proxy-bypass.ps1 -ProxyServer "127.0.0.1:7897"
脚本会先备份当前代理设置,再把微软域名加入 bypass 列表并验证。需要撤销时,用 -Restore 回滚:
powershell -ExecutionPolicy Bypass -File scripts\fix-proxy-bypass.ps1 -Restore
README 记录的验证结果:添加微软域名 bypass 后,Windows Update 扫描恢复,应用经 Store 从 26.818.2441.0 更新到 26.818.5229.0,保持运行不再退出,updater 日志显示 overallState=NoUpdates;代理保持开启,OpenAI 认证可用。崩溃转储定位到的出错模块是 ...\resources\native\windows-updater.node(0xC0000005)。
适用场景与注意¶
适合两类人:一是 Windows 上使用 ChatGPT/Codex 桌面应用、开着 Clash 类系统代理、遇到启动后约 60-90 秒崩溃的用户;二是希望在 DSH 里让代理按 SKILL.md 自动完成「诊断 → 修复 → 验证」的智能体开发者。
使用前注意以下几点:
1、插件以当前 dsh 进程的权限运行,安装前应检查源码与许可证(MIT)。
2、脚本仅修改用户代理设置,且始终先备份;运行前请先审查脚本内容。
3、不要通过此仓库发布崩溃转储、auth.json 或代理订阅,这些内容包含敏感信息。
4、该项目与 OpenAI、Anywhere Labs 或 DeepSeek 无关联,无安全背书。
5、根因结论与验证结果均来自项目 README 自述,动手修复前建议先跑一遍只读诊断,确认自己的环境匹配。
结尾¶
dsh-plugin-chatgpt-crash-fix 的价值在于把一条难以手工定位的崩溃链路(系统代理 → Store 通道 → 原生模块崩溃)拆成了可复现、可回滚的脚本流程,并且保留了代理本身不动。仓库与社区目录页如下:
- GitHub:https://github.com/lammarco86/dsh-plugin-chatgpt-crash-fix
- 社区插件目录页:https://www.skillhub.cn/plugins/lammarco86/dsh-plugin-chatgpt-crash-fix
社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。