前言¶
DeepSeek Harness (DSH) 的升级涉及原生模块(koffi)的替换,若在进程运行中直接执行安装,会导致模块断链,引发启动崩溃。dsh-check-for-updates 是一个用于解决此问题的插件(MIT 许可证,由 ShanHaiFish 维护)。它会在首次打开页面时自动检查新版本,并在发现更新时通过弹窗提供一键升级入口。
核心功能¶
该插件通过以下机制保证更新过程的稳定与安全:
- 自动检查与弹窗提示:首次打开 Web 页面时自动触发一次更新检查。发现新版本时,在左下部“设置”按钮上方弹窗提示,并提供【更新到 {版本}】按钮。
- 分离式两阶段更新:点击更新只“安排任务”,退出 DSH 后由独立进程完成安装。这从根本上避免了 Windows 运行中升级导致 koffi 断链、dsh 无法启动的问题。
- 安装后三重校验:独立更新器在安装完成后执行 npm 退出码、对盘版本、koffi 原生模块一致性三项校验。
- koffi 断链自愈:若校验发现断链,自动从 registry tarball 恢复,修复失败会在下次启动时告知。
- 启动自检:每次检查更新时校验 koffi 完整性,发现损坏弹警告卡,提供【安排修复】按钮。
- 调试工具:添加“测试网络”按钮用于调试网络连接。
安装与启用¶
使用 DSH 官方 CLI 安装插件:
dsh plugin --profile web add dsh-check-for-updates
插件安装后无需手动启用,Web 页面加载即生效。
使用方式¶
- 自动检查:首次打开 Web 页面时自动检查一次。
- 手动检查:进入“设置 > 通用 > DSH 更新”入口,可手动点击“检查更新”或“测试网络”。
- 执行更新:在弹窗或设置页面点击“更新到 {版本}”,该操作仅安排任务,退出 DSH 后由后台进程完成安装。
技术细节与注意事项¶
- 无硬编码路径:插件在运行时探测 DSH 安装根、版本及 node/npm-cli,不依赖固定路径。
- Mac/Linux 路径限制:若路径含空格或非 ASCII 字符,建议先复制到无空格的路径再使用
file:安装。 - 版本选择:插件从 npm registry 取实际最高版本(不局限于 latest 标签)。
总结¶
该插件通过分离式更新流程和三重校验机制,解决了 DSH 升级时的原生模块断链问题,提升了系统的稳定性与安全性。