前言¶
DeepSeek Harness (DSH) 采用插件化架构,工具链的版本迭代会直接影响运行时的兼容性与功能表现。保持 Harness 本身更新是日常维护中容易被忽略的一环。dsh-update-checker 旨在解决这个问题,它作为一个配置文件插件,会在启动时自动检查 npm 仓库中的新版本,并在 Web 界面侧边栏提供直观的更新提示。
这是什么¶
dsh-update-checker 是 DSH 的一个 Profile 插件,由 HarryLi-7 维护。其核心作用是监控 @deepseek-ai/dsh 包的发布情况,当检测到新版本时,在 Web 界面侧边栏显示静默的 GUI 提示,点击即可进行更新操作。该插件采用 MIT 许可证。
核心功能¶
该插件实现了以下功能:
- 版本检查机制
- 启动时检查
registry.npmjs.org/@deepseek-ai/dsh(非阻塞启动)。 - 检查结果缓存 6 小时,在 Web GUI 中每 30 分钟重新轮询一次。
- 启动时检查
- 智能显示
- 仅在检测到实际存在新版本时显示提示。
- 若注册表不可达或网络错误,静默失败,不会报错或显示错误信息。
- 侧边栏交互
- 在 Web 侧边栏底部显示一个页脚项。
- 展开状态下显示图标及版本号(如 “vX.Y.Z 可用”)。
- 折叠状态下仅显示图标。
- 操作弹窗
- 点击提示后弹出 Popover,显示当前版本与最新版本。
- 提供一键复制更新命令的功能。
- 提供跳转至 npm 页面的链接。
- 提供“忽略此版本”选项,用于屏蔽特定版本的提示。
- 设计与资源
- 自动适配 DSH GUI 的设计系统(使用
--dsw-*令牌)。 - 零磁盘占用,运行时为纯内存操作。
- 仅持久化存储用户忽略的版本号(存储于浏览器 localStorage,键名为
dsh-update-checker.dismissed)。
- 自动适配 DSH GUI 的设计系统(使用
安装与启用¶
安装此插件需要确保环境已安装 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 的版本更新。通过侧边栏的静默提示,开发者可以及时获知可用更新,减少因版本滞后带来的潜在问题。更多细节与源码可参考项目主页。