dsh-plugin-catalog: Upgrade DSH Web GUI plugin page to a plugin catalog

前言

DSH 的理念是「一切皆插件」。第三方插件装得多了之后,Web GUI 设置页里那份内置的「插件列表」就开始不够用:想确认某个插件是不是第三方的、挂在哪些位置、具体做什么,都得另外翻资料。下面介绍的 dsh-plugin-catalog 针对的就是这个问题——它把 设置 → 插件 页升级为一本插件目录,补充第三方徽标、挂载点聚合和中英文功能说明,但不改变插件本身的安装与管理方式。

这是什么

dsh-plugin-catalog 是一个 DeepSeek Harness(DSH)Web GUI 插件,由 LuniteGlaze 维护,当前版本 1.0.0,License 为 MIT。它接管设置页中的「插件列表」标签页,把原来的列表替换为一本可搜索、可筛选的插件目录,解决「装了一堆插件,却看不清全貌」的问题。

核心功能

第三方徽标与头部计数

以 profile 依赖清单判定插件是否为第三方,卡片上直接给出徽标,页面头部汇总计数。

挂载点聚合

一个插件一张卡。如果同一插件挂载了多个位置,卡片显示 ×N 挂载 徽标,展开后可以查看每个挂载点的层级/状态。

中英文功能说明

卡片标题行单行展示中英文功能说明,悬停查看全文,展开后可在线编辑。说明是模块级的,编辑结果持久化在 $DSH_HOME/plugin-descriptions.json。说明功能与内置描述字典来自 dsh-plugin-description(MIT),详见仓库中的 THIRD_PARTY_NOTICES.md。

搜索、筛选与排序

  • 搜索:分词 AND、相关性排序、命中高亮;
  • 快速筛选:全部 / 第三方 / 已启用 / 已停用;
  • 排序:名称 / 第三方优先 / 状态优先。

一键复制

来源 profile 与 entryId 支持一键复制,方便在排查问题或写脚本时直接引用。

安装与启用

推荐从 GitHub Release 安装:

dsh plugin --profile web add https://github.com/LuniteGlaze/dsh-plugin-catalog/releases/latest/download/dsh-plugin-catalog.tgz
# 重启 dsh web 生效

也可以从 git 安装。仓库已提交构建产物 lib/,无需构建授权:

dsh plugin --profile web add github:LuniteGlaze/dsh-plugin-catalog

经过上面的步骤,重启 dsh web 后,设置 → 插件 页即为目录视图。

二次开发

TypeScript 源码在 src/,先修改源码,再执行构建与类型检查:

pnpm build
pnpm typecheck

适用场景与注意

适合插件装得比较多、需要经常确认「装了什么、挂在哪、干什么用」的 DSH 使用者。

  • 本插件会禁用内置的「插件列表」标签页行;卸载后内置列表自动恢复。
  • 与同样接管「插件列表」tab 的插件(如 dsh-plugin-description)互斥,不建议同时安装。
  • 插件以当前 dsh 进程的权限运行。安装前建议先阅读源码与许可证(MIT),确认可以接受再安装。

结尾

dsh-plugin-catalog 没有引入新的插件管理流程,只是把设置页里已有的信息组织成一本可检索的目录。源码与发布包见 GitHub:https://github.com/LuniteGlaze/dsh-plugin-catalog 。社区插件目录(独立站点,与 DeepSeek、幻方无官方从属关系)上的条目地址来自插件线索,仓库资料中未出现,仅供参考:https://www.skillhub.cn/plugins/LuniteGlaze/dsh-plugin-catalog 。

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

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

Xiaoye