DSH 版本检测 | dsh-sm-version-display

前言

下面介绍 DeepSeek Harness(DSH)Web 插件 dsh-sm-version-display。这个插件用于在 Web 界面的侧边栏“设置”按钮上方显示当前已安装的 dsh 版本,并检测 npm registry 与官方 GitHub Release 的新版本。

安装该插件后,你可以在界面直接查看当前 DSH 版本、比较 npm 与 GitHub 的版本信息,以及通过插件内置的流程执行更新或管理备份。插件由维护者 hjj345 开发,遵循 MIT 许可证。

核心功能

侧边栏版本卡片

插件在侧边栏底部“设置”按钮上方显示一个圆角版本卡片,该卡片独占一行。

  1. 运行时读取:host 半区在渲染页面时读取已安装的 @deepseek-ai/dsh 版本,DSH 升级并重启后自动跟随。
  2. 安全回退:host 版本暂时不可用时显示“版本未知”,不会猜测或伪造固定版本。
  3. 交互功能:卡片内提供刷新按钮,检查期间显示加载状态,完成后显示 DSH 原生 Toast。
  4. 响应式与主题:侧边栏折叠为窄栏时显示圆形版本图标,文本空间不足时自动换行。卡片和图标会跟随浅色和深色主题适配,并使用 DSH 设计系统变量。
  5. 悬停提示:鼠标悬停在卡片或窄栏图标上时,会显示插件英文名 dsh-sm-version-display 及当前版本。

版本检测与比较

插件会自动检测并比较 npm 和 GitHub 两个来源的版本。

  1. 检测触发:页面加载、每 30 分钟以及窗口重新回到前台时进行检查。结果在 DSH 进程内缓存,设置页重新打开后仍可查看。
  2. 来源:
    • npm:检测官方 npm registry。
    • GitHub:检测官方 GitHub Release。
  3. 容错机制:GitHub API 受限时自动改用官方 Releases Atom Feed;npm 检测不受影响。
  4. 版本类型:GitHub 版本区分预发布 Alpha、测试版 Beta、公测版 RC 和正式版 Release。
  5. 语义化比较:内置轻量版本比较逻辑,支持 Alpha、Beta、RC、正式版和多位数字版本号比较。

DSH 设置页

在 DSH 设置中注册了“DSH版本检测”一级页面,整体复刻参考插件的设计。

  1. 设置卡片:包含插件名称、副标题、开关、通用设置、关于插件和安装命令。
  2. 三语支持:支持简体中文、English、繁體中文,默认简体中文,并持久化语言选择。
  3. 展开式检测:在设置页按钮下方并排显示 npm 与 GitHub 版本、类型、发布时间、Release 链接、当前安装方式和插件管理方式。
  4. 排序位置:位于参考插件 sm-context-piano(排序 21)下方,使用默认齿轮图标(排序 22)。

更新与备份

插件提供了完整的更新流程和备份管理能力。

双路径更新

  1. 自动更新:更新前必须确认风险,默认备份。支持 host 后台自动执行,自动更新时显示执行命令、实时输出、成功/失败状态和重启要求。
  2. 手动更新:打开完整命令和步骤,支持手动逐条执行。更新前建议备份 .dsh 配置和 profile 数据。
  3. 安全限制:仅执行 host 内固定的精确版本命令;请求仅限本机回环地址;GitHub 源码版本无对应 npm 包时仅提供手动构建步骤。

备份管理

  1. 备份选择:更新确认时默认备份,也可明确跳过(跳过后本次更新不提供备份回滚)。可选择 DSH 所在电脑上的保存目录,并记住上次位置。
  2. 备份查看:统一查看默认及已登记自定义目录中的完整、失败和中断备份,显示实际文件大小合计,支持刷新、扫描指定目录。
  3. 备份删除:支持批量删除已登记目录中的备份。删除备份不可撤销;删除当前任务对应的完整备份后,该任务将无法回滚。正在使用的备份不允许删除。
  4. 失败恢复:备份失败后显示停止时间、原因和已复制大小,可重新备份并重试。只有完整且校验通过的对应备份才能回滚。

安装与启用

先执行安装命令,插件会安装到 DSH Web profile 中:

dsh plugin --profile web add @hjj345345/dsh-sm-version-display

安装完成后,需要重启 DSH Web 服务以使插件生效:

dsh web

使用示例

安装完成后,你可以通过以下方式使用插件:

  1. 检查语法:在插件根目录下检查源码语法。
    npm run check
  1. 构建插件:执行构建命令打包 host 和 client 半区。
    npm run build
  1. 打开设置:在 DSH 界面打开设置,选择“DSH版本检测”页面进行版本检测、更新或备份管理。

安全与隐私

插件在设计和实现上遵循安全原则:

  1. 权限范围:host 半区只读取本机已安装的 DSH 包清单中的版本字段和安装路径类型,不向浏览器暴露绝对路径。
  2. 请求隔离:更新路由只接受本机回环地址和匹配 token,命令和参数在 host 内固定,不接受浏览器传入任意命令。
  3. 数据安全:请求不携带 DSH 登录凭据、会话内容或用户文件,插件也不会读取聊天内容。
  4. 备份逻辑:备份列表不扫描整台电脑,仅扫描指定目录;大小为备份普通文件的逻辑大小合计,不包含链接目标。备份不会跟随备份内链接删除外部文件。
羽毛球分组比赛记分
小程序二维码

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

小夜