DeepSeek Harness 插件:dsh-update-checker

前言

DeepSeek Harness (DSH) 采用插件化架构,工具链的版本迭代会直接影响运行时的兼容性与功能表现。保持 Harness 本身更新是日常维护中容易被忽略的一环。dsh-update-checker 旨在解决这个问题,它作为一个配置文件插件,会在启动时自动检查 npm 仓库中的新版本,并在 Web 界面侧边栏提供直观的更新提示。

这是什么

dsh-update-checker 是 DSH 的一个 Profile 插件,由 HarryLi-7 维护。其核心作用是监控 @deepseek-ai/dsh 包的发布情况,当检测到新版本时,在 Web 界面侧边栏显示静默的 GUI 提示,点击即可进行更新操作。该插件采用 MIT 许可证。

核心功能

该插件实现了以下功能:

  1. 版本检查机制
    • 启动时检查 registry.npmjs.org/@deepseek-ai/dsh(非阻塞启动)。
    • 检查结果缓存 6 小时,在 Web GUI 中每 30 分钟重新轮询一次。
  2. 智能显示
    • 仅在检测到实际存在新版本时显示提示。
    • 若注册表不可达或网络错误,静默失败,不会报错或显示错误信息。
  3. 侧边栏交互
    • 在 Web 侧边栏底部显示一个页脚项。
    • 展开状态下显示图标及版本号(如 “vX.Y.Z 可用”)。
    • 折叠状态下仅显示图标。
  4. 操作弹窗
    • 点击提示后弹出 Popover,显示当前版本与最新版本。
    • 提供一键复制更新命令的功能。
    • 提供跳转至 npm 页面的链接。
    • 提供“忽略此版本”选项,用于屏蔽特定版本的提示。
  5. 设计与资源
    • 自动适配 DSH GUI 的设计系统(使用 --dsw-* 令牌)。
    • 零磁盘占用,运行时为纯内存操作。
    • 仅持久化存储用户忽略的版本号(存储于浏览器 localStorage,键名为 dsh-update-checker.dismissed)。

安装与启用

安装此插件需要确保环境已安装 pnpm。

# 从包含插件的目录执行
dsh plugin --profile web add ./dsh-update-checker

安装完成后,可以通过以下命令验证配置是否生效:

dsh --profile web --dump-config

若输出中包含 # == dsh-update-checker 层,说明配置成功。对于正在运行的 Harness,插件需要重启后才会生效,因为 Profile 的 package.json 不支持热重载。

典型用法

当插件检测到新版本时,侧边栏会显示提示。点击提示弹窗中的复制按钮,即可获取更新命令:

npx --yes @deepseek-ai/dsh@latest --profile web

停止当前 Harness 进程,在终端运行上述命令,随后重新打开 GUI 即可完成更新。

若需卸载插件,执行:

dsh plugin --profile web remove dsh-update-checker

适用场景与注意

此插件适合需要频繁更新 DSH Harness 以获取最新功能或修复的开发者。使用时请注意:
* 插件以当前 DSH 进程的权限运行,建议在使用前检查源码与许可证。
* 旧版本 DSH 不支持 dsh plugin 命令,需手动将插件文件复制至 $DSH_HOME/profiles/packages/ 并编辑 cordis.patch.yml。

总结

dsh-update-checker 提供了一种低侵入式的方式管理 Harness 的版本更新。通过侧边栏的静默提示,开发者可以及时获知可用更新,减少因版本滞后带来的潜在问题。更多细节与源码可参考项目主页。

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

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

小夜