前言¶
DSH 的扩展能力以插件形式进入 Web 设置页。对使用者来说,内置「插件列表」标签页主要展示模块名和短名,英文信息较多;第三方插件想要启用或禁用时,也缺少一个直观的操作入口。
下面介绍 dsh-plugin-zh-inventory。它为 DSH 设置页的「插件列表」标签页添加中文说明、分类标签、分组文件夹与启停开关,让插件名、用途和启停状态更容易查看,并允许在 Web UI 中直接管理第三方插件。
这是什么¶
dsh-plugin-zh-inventory 是 anxinyuanshiyu 维护的 DSH Web UI 插件,用于增强设置页中的插件列表。
该插件在 package.json 中声明的版本号为 0.2.0,许可证为 MIT。安装启用后,它会自动禁用内置的只读「插件列表」标签页,并用带中文说明的「插件列表(中文)」替代。
核心功能¶
中文说明与分类标签¶
插件会为列表中的条目补充中文说明和分类标签。搜索框支持同时匹配以下内容:
- 模块名
- 短名
- 中文描述
- 分组标题
分组折叠状态保存在 localStorage 中,刷新页面后仍保留上一次的折叠状态。
分组文件夹¶
插件按 6 个可折叠分组展示,每组显示「已启用 n/总数」。这种展示方式比平铺列表更适合快速定位插件。
第三方插件启停开关¶
第三方插件卡片右侧提供启停开关。点击开关后,配置会写入:
~/.dsh/cordis.patch.yml
DSH 配置监听器随后热重载,几秒内生效,无需重启 DSH 进程。
系统插件与关键组件¶
DSH 系统插件,也就是 DSH 官方包,保持固定启用,不显示启停开关。关键组件会显示锁图标,表示禁止关闭。
安装与启用¶
本地插件方式(推荐)¶
README 将本地插件方式标注为推荐,并说明升级 DSH 不丢失。
1、克隆仓库:
git clone https://github.com/anxinyuanshiyu/dsh-plugin-zh-inventory.git
2、把插件注册进 web profile 的 package.json。在:
~/.dsh/profiles/web/package.json
的 dependencies 中添加:
"dsh-plugin-zh-inventory": "link:<插件绝对路径>"
并在 dsh.profile.bundles 数组末尾追加:
"dsh-plugin-zh-inventory"
3、安装依赖:
dsh plugin --profile web install
4、启动 Web 端:
dsh web
完成上面的步骤后,进入设置页的插件列表,应该能看到由该插件提供的「插件列表(中文)」标签页。
直接覆盖内置组件(临时方案)¶
也可以将插件目录中的:
lib/client.js
复制到:
node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js
然后重启 DSH。
这种方式仅作临时使用。README 说明,此方式在 npm 升级 DSH 后会丢失。
典型用法¶
查找插件¶
进入「插件列表(中文)」后,可以使用搜索框按模块名、短名、中文描述或分组标题查找插件。
例如,想找某个处理会话、终端、技能或界面相关的插件时,可以先通过分组标题缩小范围,再在搜索框中输入中文关键词。
启停第三方插件¶
找到第三方插件卡片后,点击右侧启停开关。插件会调用 host 侧路由:
POST /api/zh-inventory/toggle
host 侧校验通过后,会把启用或禁用状态写入:
~/.dsh/cordis.patch.yml
随后 DSH 配置监听器热重载,几秒内生效。
自定义中文说明与分类¶
如果后续需要调整插件说明,可以修改:
lib/client.js
中的 SHORT_ZH 对象。
如果要调整分类,可以编辑 categoryByShort 函数。
如果要修改受保护组件清单,需要同步修改以下两处中的 PROTECTED 集合:
lib/index.js
lib/client.js
两处需保持一致。
安全与限制¶
host 侧只允许启停第三方插件。DSH 系统插件返回 400;关键组件位于 PROTECTED 集合中,即使误调用启停接口也会被拒绝。
插件会以当前 DSH 进程权限运行。安装前建议先检查仓库源码,并确认 MIT 许可证符合你的使用场景。
本地插件方式更适合长期使用;直接覆盖内置组件的方式只适合临时调试,因为 DSH 升级后可能丢失该覆盖。
结尾¶
dsh-plugin-zh-inventory 主要解决三个问题:插件名看不懂、插件用途不直观、第三方插件启停不方便。安装后,DSH 设置页的插件列表会带上中文说明、分类标签、分组和启停开关,第三方插件的启用与禁用也能直接在 Web UI 中完成。
仓库地址:
https://github.com/anxinyuanshiyu/dsh-plugin-zh-inventory