dsh-check-for-updates:DSH 安全更新与完整性检查插件

前言

DeepSeek Harness (DSH) 的升级涉及原生模块(koffi)的替换,若在进程运行中直接执行安装,会导致模块断链,引发启动崩溃。dsh-check-for-updates 是一个用于解决此问题的插件(MIT 许可证,由 ShanHaiFish 维护)。它会在首次打开页面时自动检查新版本,并在发现更新时通过弹窗提供一键升级入口。

核心功能

该插件通过以下机制保证更新过程的稳定与安全:

  1. 自动检查与弹窗提示:首次打开 Web 页面时自动触发一次更新检查。发现新版本时,在左下部“设置”按钮上方弹窗提示,并提供【更新到 {版本}】按钮。
  2. 分离式两阶段更新:点击更新只“安排任务”,退出 DSH 后由独立进程完成安装。这从根本上避免了 Windows 运行中升级导致 koffi 断链、dsh 无法启动的问题。
  3. 安装后三重校验:独立更新器在安装完成后执行 npm 退出码、对盘版本、koffi 原生模块一致性三项校验。
  4. koffi 断链自愈:若校验发现断链,自动从 registry tarball 恢复,修复失败会在下次启动时告知。
  5. 启动自检:每次检查更新时校验 koffi 完整性,发现损坏弹警告卡,提供【安排修复】按钮。
  6. 调试工具:添加“测试网络”按钮用于调试网络连接。

安装与启用

使用 DSH 官方 CLI 安装插件:

dsh plugin --profile web add dsh-check-for-updates

插件安装后无需手动启用,Web 页面加载即生效。

使用方式

  1. 自动检查:首次打开 Web 页面时自动检查一次。
  2. 手动检查:进入“设置 > 通用 > DSH 更新”入口,可手动点击“检查更新”或“测试网络”。
  3. 执行更新:在弹窗或设置页面点击“更新到 {版本}”,该操作仅安排任务,退出 DSH 后由后台进程完成安装。

技术细节与注意事项

  1. 无硬编码路径:插件在运行时探测 DSH 安装根、版本及 node/npm-cli,不依赖固定路径。
  2. Mac/Linux 路径限制:若路径含空格或非 ASCII 字符,建议先复制到无空格的路径再使用 file: 安装。
  3. 版本选择:插件从 npm registry 取实际最高版本(不局限于 latest 标签)。

总结

该插件通过分离式更新流程和三重校验机制,解决了 DSH 升级时的原生模块断链问题,提升了系统的稳定性与安全性。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜