前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在开发或使用过程中,保持 DSH 主程序版本最新可以避免潜在的兼容性问题或功能缺失。手动查看版本号或访问 npm 搜索最新发布通常需要离开当前界面。dsh-update-checker 插件旨在解决这一痛点,它将版本检查能力集成到 Web GUI 的会话顶栏中,提供即时的版本状态反馈。
核心功能¶
该插件提供以下核心能力:
- 顶栏版本徽章:插件注册在会话顶栏的动作区(标题旁),采用加法式注册,不会替换 DSH 自带的 UI 组件。
- 自动检查:页面加载时自动触发一次版本检查,无需手动操作。
- 状态反馈:徽章显示三种状态:
- 已是最新:显示“已经是最新版本”。
- 有新版本:显示“更新到 vX.Y.Z”,右上角显示红点。
- 检查失败:徽章变红,显示“检查失败”。
- 对比面板:点击徽章可立即重新检查,并弹出面板展示当前版本、最新版本、更新状态及升级指引。
- 诊断信息:当检查失败时,面板会展示详细的诊断块(包含当前版本与最新版本探测的具体记录),便于排查问题。
安装与启用¶
使用官方命令安装插件,安装完成后重启 dsh 即可生效。
dsh plugin --profile web add github:<your-username>/dsh-update-checker
工作原理¶
- 当前版本探测:按顺序尝试读取安装路径(
process.cwd()/node_modules/@deepseek-ai/dsh/package.json)、常见全局安装路径(如/usr/local/lib、/opt/homebrew/lib)以及 npm 缓存目录。 - 最新版本探测:优先请求
registry.npmmirror.com,若失败则重试registry.npmjs.org。 - 结果缓存:检查结果会缓存 60 秒。点击徽章可跳过缓存强制刷新。
注意事项¶
- 隐私:网络请求仅指向公开的 npm registry(npmmirror.com / npmjs.org),不采集本地数据,无遥测或文件写入。
- 限制:当前版本探测依赖安装位置,探测失败时诊断面板会给出具体原因;徽章仅显示在有标题栏的会话中,空白新会话(无标题栏)不显示;此插件检查的是 DeepSeek Harness (
@deepseek-ai/dsh) 自身的版本,而非插件版本。
进阶用法(动态 Cordis 插件)¶
除了安装包形式,该插件也支持在会话中动态定义和运行。在 dsh Web GUI 的会话工具中调用 cordis_define 和 cordis_run:
- 调用
cordis_define,将host.js内容作为code.host,client.js内容作为code.client(设置plugin.kind: 'new',idPrefix为 3-6 个小写字母)。 - 调用
cordis_run激活插件。 - 刷新页面即可在会话顶栏看到徽章。
注意:动态插件的生命周期与当前 dsh 进程绑定,重启后需重新定义。
该插件为 DSH 用户提供了直观的版本管理入口,帮助开发者快速掌握工具更新情况。项目地址:https://github.com/YZz-S/dsh-update-checker