dsh-plugin-versions:在插件页一屏查看组合包版本与更新状态

前言

DeepSeek Harness(DSH)里,组合包往往装在「插件」页。官方在详情页里提供「版本」区块和更新入口,但那条路径只对从 registry 安装、且被 Host 标为 updatable 的第三方包完整可用。想判断「哪些该更新」,默认只能逐个打开详情页对比。

下面介绍社区插件 dsh-plugin-versions(维护者 ACGNnsj):在插件页增加「版本一览」标签,把已安装组合包的版本与可更新状态摊平成一屏,点一行即可跳到官方详情页的「版本」区块。更新动作仍走官方界面,本插件不实现独立更新流程。

这是什么

dsh-plugin-versions 是 DSH 的客户端类插件(分类:客户端)。它在 plugins.tab 上注册第 4 个标签页「版本一览」(order: 40),列出本地已安装组合包的版本,标出能否更新,并支持跳转到官方组合包详情页底部「版本」区域。

仓库:GitHub - ACGNnsj/dsh-plugin-versions
社区目录:skillhub 插件页(独立站点,与 DeepSeek / 幻方无官方从属关系)

当前 package.json 标明版本 0.1.4,许可证 MIT。

核心功能

版本一览标签页

打开 DSH「插件」页后,切换到「版本一览」。页面先渲染本地已掌握的版本信息,再对符合条件的行在后台逐条查询 registry。

后台只处理 updatable && !official 的行,且串行查询,避免同时拉起大量 pnpm 子进程。查询优先级:无缓存的行优先,其余按每行缓存时间 at 从旧到新。

状态与排序

每行展示分档状态,例如:

  • 可更新到 x
  • 已是最新
  • 随 DSH 更新
  • 无官方版本区块
  • 检查中…
  • 检查失败(附错误原文前 300 字)

可更新的行排在前面,其余按包名排序。

缓存与表头时间

结果写入浏览器 localStorage,键名为 dsh-plugin-versions:cache:v1。再次打开时先展示上次版本与状态,同时后台重新检查并逐行替换;表头显示「检查于 HH:MM」。

跳转官方更新界面

点击某一行会调用 openPackage(name),打开官方组合包详情页并自动滚到底部,落在「版本」区块。用户在该界面完成更新,与未装本插件时一致。

详情页辅助

在组合包详情页底部通过 plugins.detail.section(order: 999)追加「↑ 回到顶部」入口。

安装与启用

仓库本身即 bundle,任选其一。

方式一:本机已有源码目录时,用 DSH 插件管理器安装

将 target= 换成你机器上的绝对路径:

plugin_manager install_bundle target=<绝对路径>/dsh-plugin-versions

方式二:作为 npm 包安装到 profile

需插件已发布到 registry。注册依赖 cordis.patch.yml 中的 - insert: 一行;按 README 说明,插件不会改写 profile 的其他文件。

安装前建议通读仓库 client.js 等源码,并确认 MIT 许可与自身环境要求。插件逻辑在 DSH 客户端 / Host 提供的 API 权限下运行,与当前 DSH 进程权限一致。

典型用法

  1. 按上一节完成安装后,打开 DSH「插件」页。
  2. 切换到「版本一览」标签;首屏可先看到缓存结果(若曾打开过)。
  3. 等待后台串行检查结束,查看各行状态与表头「检查于」时间。
  4. 对显示「可更新到 x」的行,点击该行,在官方详情页「版本」区块按界面指引更新。
  5. 在详情页过长时,可使用底部「↑ 回到顶部」。

客户端无独立构建步骤:client.js 即为产物。改代码后可在「插件」页点刷新生效(README 注明桌面端 Ctrl+R 不触发重载)。

数据来源与使用注意

插件只读调用 Host 的 pluginManager.listBundles()(不触网)与 pluginManager.listVersions(name, {})。后者每个包最多访问 2 个 registry(含 fallback 镜像);README 写明单包最坏约 140 秒,因此必须串行且仅查可更新行。

适合谁: 常装多个第三方组合包、希望在一屏对比版本与更新状态、并愿意仍用官方界面执行更新的 DSH 用户。

注意:

  • 不能替代官方更新流程;无官方「版本」区块的包会显示「无官方版本区块」等状态。
  • 首次或缓存失效时,后台检查可能较慢,属 README 所述设计取舍。
  • 社区目录与 GitHub 为事实来源;星标等页面统计以站点展示为准(目录线索为 0)。

仓库结构(便于审阅)

package.json          清单:dsh.bundle.patch / dsh.client / exports ./client
cordis.patch.yml      注册一行:- insert: [{ id, name }]
index.js              Host half(空实现,满足 bundle 契约)
client.js             浏览器半:纯 JS,window.__ModuleLoader__.load 懒加载
locale/{zh,en}.json   meta.title / meta.description
icon.svg              列表图标

结尾

dsh-plugin-versions 把「逐个进详情页看版本」收成插件页里的「版本一览」,缓存减轻重复等待,跳转仍对齐官方更新路径。需要安装命令与行为细节时,以仓库 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/ACGNnsj/dsh-plugin-versions
  • GitHub:https://github.com/ACGNnsj/dsh-plugin-versions
羽毛球分组比赛记分
小程序二维码

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

小夜