DeepSeek Harness (DSH) 更新检查插件 dsh-update-checker

前言

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在开发或使用过程中,保持 DSH 主程序版本最新可以避免潜在的兼容性问题或功能缺失。手动查看版本号或访问 npm 搜索最新发布通常需要离开当前界面。dsh-update-checker 插件旨在解决这一痛点,它将版本检查能力集成到 Web GUI 的会话顶栏中,提供即时的版本状态反馈。

核心功能

该插件提供以下核心能力:

  • 顶栏版本徽章:插件注册在会话顶栏的动作区(标题旁),采用加法式注册,不会替换 DSH 自带的 UI 组件。
  • 自动检查:页面加载时自动触发一次版本检查,无需手动操作。
  • 状态反馈:徽章显示三种状态:
    1. 已是最新:显示“已经是最新版本”。
    2. 有新版本:显示“更新到 vX.Y.Z”,右上角显示红点。
    3. 检查失败:徽章变红,显示“检查失败”。
  • 对比面板:点击徽章可立即重新检查,并弹出面板展示当前版本、最新版本、更新状态及升级指引。
  • 诊断信息:当检查失败时,面板会展示详细的诊断块(包含当前版本与最新版本探测的具体记录),便于排查问题。

安装与启用

使用官方命令安装插件,安装完成后重启 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:

  1. 调用 cordis_define,将 host.js 内容作为 code.host,client.js 内容作为 code.client(设置 plugin.kind: 'new',idPrefix 为 3-6 个小写字母)。
  2. 调用 cordis_run 激活插件。
  3. 刷新页面即可在会话顶栏看到徽章。

注意:动态插件的生命周期与当前 dsh 进程绑定,重启后需重新定义。

该插件为 DSH 用户提供了直观的版本管理入口,帮助开发者快速掌握工具更新情况。项目地址:https://github.com/YZz-S/dsh-update-checker

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

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

小夜