dsh-plugin-groups:在 DSH「已安装插件」页做分组、标签与批量管理

前言

DeepSeek Harness(DSH)采用「一切皆插件」的扩展方式,插件多了以后,官方「已安装插件」页主要是平铺列表:开关、详情、搜索都围绕单条插件,很难按自己的习惯归类,也不方便对一整类插件做批量启停。

下面介绍社区插件 dsh-plugin-groups(维护者 lerwa2025-a11y)。它在「已安装插件」页增加 「我的分组」 标签页,用分组、标签、备注和锁定来整理插件;启停与状态读写走 DSH 官方 ctx.remote.pluginManager,不另造一套开关逻辑。分类为客户端插件,当前 npm 包版本为 0.3.1(MIT 许可证)。

这是什么

dsh-plugin-groups 的定位是:DSH 插件分组视图——在「已安装插件」页新增分组 / 标签 / 备注 / 锁定相关能力。

实现上,Client 半(client.js)负责界面;Host 半(index.js)只提供一个小 HTTP 路由用于落盘,并返回包版本号。README 写明:纯原生实现,无构建工具、无 npm 依赖;数据只走官方接口与本地 JSON,不联网、不上传。

核心功能

以下能力均来自仓库 README,可按需使用。

分组与排序

  • 把插件拖进自定义分组,组之间也可拖拽排序。
  • 分组锁定:锁定后整组固定,不能拖动、改名、删除、启停(「详情」仍可打开)。

搜索

顶部工具栏提供搜索框,按插件名、分组名、标签、备注实时过滤(v0.3.0 起还可搜插件简介;插件名含中文标题与包名)。

  • 分组名命中时整组显示,而不是只显示组内碰巧匹配的插件。
  • 所在组会自动展开;清空后恢复原来的展开/收起状态。
  • 计数始终显示整组真实数量;Esc 或右侧 × 可清空搜索。

一键批量开关

每个分组标题旁有「全部启用 / 全部停用」:逐条按序调用官方接口,带 done/total 进度。遵守锁定的分组、无法切换的插件、已在目标状态的插件会被跳过;按钮会根据剩余待改数量自行禁用。

预设快照

两个固定槽位,一键保存 / 还原整套配置(开关、组件、分组、标签备注)。

标签、备注与状态展示

  • 彩色文字标签:例如「工具型 / 界面型 / 桥接型」,9 种颜色。
  • 中文备注:写一句备注,覆盖插件的英文原始简介。
  • 真实开关:显示每个插件的真实启用 / 停用状态,并在本页直接切换。
  • 组件健康检测:插件开着但内部零件没跑齐时会标出来(如 组件 2/3);分组标题圆点表示组内组件健康度。
  • 自动隐藏内核插件:只列用户可管理的插件,DSH 内核中不可开关的插件不出现。

工具栏还会统计非官方(第三方)插件数量(v0.2.0 起)。

安装与启用

推荐在 DSH 插件管理器里搜索 dsh-plugin-groups 安装,或使用 README 中的命令。

方式一:从 npm 安装(推荐)

npm install dsh-plugin-groups

方式二:从 GitHub 安装

npm install github:lerwa2025-a11y/dsh-plugin-groups

方式三:本地目录安装

  1. 将仓库放到本地任意目录(README 写的是克隆到本地;安装步骤以插件管理器为准)。
  2. 在 DSH 插件管理器中选择「从本地目录安装」,指向该目录。
  3. 安装后在「设置 → 插件 → 我的分组」即可看到。

npm 包名与仓库名均为 dsh-plugin-groups。v0.3.1 修复了 package.json 文件头带 BOM 导致 DSH 安装校验 JSON.parse 失败、装完被回滚的问题。

典型用法

安装并打开「我的分组」后,界面大致如下(摘自 README 示意):

+ 新建分组  ↻ 刷新  ⌕ 搜插件、分组、标签、备注 │ ▾ 全部展开  🗂存为预设 ⚡应用预设    v0.3.1

▾ 工具型插件(组名)  3/5    ⚡全部启用 ⛔全部停用 +添加插件 🔓 🗑
  ● dsh-click  [工具型] [吃token]   ↗详情 🏷标签 ✎备注 ↩移出  [已启用]
  ● modsearch   [工具型]            ↗详情 🏷标签 ✎备注 ↩移出  [已禁用]

可按下面顺序上手:

  1. 点击「新建分组」,命名后把插件拖进组内;需要固定布局时对分组上锁。
  2. 用「标签」「备注」给插件打彩色标签和中文说明,便于搜索过滤。
  3. 对整组使用「全部启用 / 全部停用」,或单条切换开关;需要备份当前整理结果时用「存为预设」,换环境后用「应用预设」还原。
  4. 顶部搜索框快速定位插件或分组;工具栏「刷新」与版本号(读 package.json)可确认当前安装版本。

数据存放

分组、标签、备注写在 DSH profile 目录下的 JSON(plugin-groups.json),路径为 DSH_HOME/dsh-plugin-groups/,不在插件包内。换电脑或清浏览器缓存不会丢分组数据;升级或卸载插件也不会自动删这份数据。若要一并清除,需手动删除该文件夹。

自 v0.2.1 起数据即存于此目录,更新插件不再丢分组。

适用场景与注意

适合谁:本地或团队里 DSH 插件数量较多、需要按用途分组、批量启停、用标签和备注做检索的开发者。

权限与安全:插件在 DSH 进程内运行,安装前建议阅读 GitHub 源码 与 MIT 许可证,确认符合你的安全策略。README 说明界面内置错误边界,出错时显示错误信息而非白屏。

生态说明:SkillHub 插件目录 为社区站点,与 DeepSeek / 幻方无官方从属关系;本文事实以仓库 README 与 package.json 为准。

结尾

dsh-plugin-groups 不改变 DSH 官方插件管理机制,只是在「已安装插件」页多一个可持久化的分组视图,把整理、搜索、批量开关和预设快照放在同一处。需要安装或 issue 时,可访问目录页与仓库:

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

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

Xiaoye