前言¶
下面介绍 DeepSeek Harness(DSH)Web 插件 dsh-sm-version-display。这个插件用于在 Web 界面的侧边栏“设置”按钮上方显示当前已安装的 dsh 版本,并检测 npm registry 与官方 GitHub Release 的新版本。
安装该插件后,你可以在界面直接查看当前 DSH 版本、比较 npm 与 GitHub 的版本信息,以及通过插件内置的流程执行更新或管理备份。插件由维护者 hjj345 开发,遵循 MIT 许可证。
核心功能¶
侧边栏版本卡片¶
插件在侧边栏底部“设置”按钮上方显示一个圆角版本卡片,该卡片独占一行。
- 运行时读取:host 半区在渲染页面时读取已安装的
@deepseek-ai/dsh版本,DSH 升级并重启后自动跟随。 - 安全回退:host 版本暂时不可用时显示“版本未知”,不会猜测或伪造固定版本。
- 交互功能:卡片内提供刷新按钮,检查期间显示加载状态,完成后显示 DSH 原生 Toast。
- 响应式与主题:侧边栏折叠为窄栏时显示圆形版本图标,文本空间不足时自动换行。卡片和图标会跟随浅色和深色主题适配,并使用 DSH 设计系统变量。
- 悬停提示:鼠标悬停在卡片或窄栏图标上时,会显示插件英文名
dsh-sm-version-display及当前版本。
版本检测与比较¶
插件会自动检测并比较 npm 和 GitHub 两个来源的版本。
- 检测触发:页面加载、每 30 分钟以及窗口重新回到前台时进行检查。结果在 DSH 进程内缓存,设置页重新打开后仍可查看。
- 来源:
- npm:检测官方 npm registry。
- GitHub:检测官方 GitHub Release。
- 容错机制:GitHub API 受限时自动改用官方 Releases Atom Feed;npm 检测不受影响。
- 版本类型:GitHub 版本区分预发布 Alpha、测试版 Beta、公测版 RC 和正式版 Release。
- 语义化比较:内置轻量版本比较逻辑,支持 Alpha、Beta、RC、正式版和多位数字版本号比较。
DSH 设置页¶
在 DSH 设置中注册了“DSH版本检测”一级页面,整体复刻参考插件的设计。
- 设置卡片:包含插件名称、副标题、开关、通用设置、关于插件和安装命令。
- 三语支持:支持简体中文、English、繁體中文,默认简体中文,并持久化语言选择。
- 展开式检测:在设置页按钮下方并排显示 npm 与 GitHub 版本、类型、发布时间、Release 链接、当前安装方式和插件管理方式。
- 排序位置:位于参考插件
sm-context-piano(排序 21)下方,使用默认齿轮图标(排序 22)。
更新与备份¶
插件提供了完整的更新流程和备份管理能力。
双路径更新¶
- 自动更新:更新前必须确认风险,默认备份。支持 host 后台自动执行,自动更新时显示执行命令、实时输出、成功/失败状态和重启要求。
- 手动更新:打开完整命令和步骤,支持手动逐条执行。更新前建议备份
.dsh配置和 profile 数据。 - 安全限制:仅执行 host 内固定的精确版本命令;请求仅限本机回环地址;GitHub 源码版本无对应 npm 包时仅提供手动构建步骤。
备份管理¶
- 备份选择:更新确认时默认备份,也可明确跳过(跳过后本次更新不提供备份回滚)。可选择 DSH 所在电脑上的保存目录,并记住上次位置。
- 备份查看:统一查看默认及已登记自定义目录中的完整、失败和中断备份,显示实际文件大小合计,支持刷新、扫描指定目录。
- 备份删除:支持批量删除已登记目录中的备份。删除备份不可撤销;删除当前任务对应的完整备份后,该任务将无法回滚。正在使用的备份不允许删除。
- 失败恢复:备份失败后显示停止时间、原因和已复制大小,可重新备份并重试。只有完整且校验通过的对应备份才能回滚。
安装与启用¶
先执行安装命令,插件会安装到 DSH Web profile 中:
dsh plugin --profile web add @hjj345345/dsh-sm-version-display
安装完成后,需要重启 DSH Web 服务以使插件生效:
dsh web
使用示例¶
安装完成后,你可以通过以下方式使用插件:
- 检查语法:在插件根目录下检查源码语法。
npm run check
- 构建插件:执行构建命令打包 host 和 client 半区。
npm run build
- 打开设置:在 DSH 界面打开设置,选择“DSH版本检测”页面进行版本检测、更新或备份管理。
安全与隐私¶
插件在设计和实现上遵循安全原则:
- 权限范围:host 半区只读取本机已安装的 DSH 包清单中的版本字段和安装路径类型,不向浏览器暴露绝对路径。
- 请求隔离:更新路由只接受本机回环地址和匹配 token,命令和参数在 host 内固定,不接受浏览器传入任意命令。
- 数据安全:请求不携带 DSH 登录凭据、会话内容或用户文件,插件也不会读取聊天内容。
- 备份逻辑:备份列表不扫描整台电脑,仅扫描指定目录;大小为备份普通文件的逻辑大小合计,不包含链接目标。备份不会跟随备份内链接删除外部文件。