前言¶
在 DeepSeek Harness(DSH)的开发生态中,一切皆插件。随着插件数量的增加,单纯依赖配置文件管理依赖、bundles 以及启停状态容易出错且效率低下。dsh-plugin-manager 提供了一个可视化的管理入口,解决插件查看、启用、停用及卸载的痛点。
插件简介¶
这是一个客户端插件,由 HTUP1 维护。它允许用户在 DSH 的设置面板中查看已安装插件,支持停用、启用与卸载操作。界面随 DSH 界面语言自动切换中英文。
核心功能¶
插件一览¶
在设置面板左侧的「插件管理」页,可以看到已安装插件的名称、版本、安装方式(pnpm 市场或手动安装)以及当前的启用状态。
启停与持久化¶
支持通过按钮快速停用或启用插件。操作会立即生效,并持久化写入 profile 的 bundles 注册列表,重启后状态保持不变。
卸载机制¶
- pnpm 插件:通过
dsh plugin remove彻底删除包文件并移除注册。 - 手动安装插件:移除注册并停用,
node_modules中的文件保留。 - 降级处理:若 CLI 删除失败,自动降级为“软卸载”(移除注册 + 停用),并显示错误信息。
状态提示与自保护¶
界面会区分“已停用但重启后恢复”和“已注册但重启生效”等中间状态,避免误导。此外,插件市场(dshmarket)和插件管理自身受到保护,不能被卸载。
安装与启用¶
本插件以 DSH 插件包形式安装到 profiles 中:
- 将插件包放入
profiles\node_modules\dsh-plugin-manager。 - 在
profiles\web\package.json的dependencies与dsh.profile.bundles中登记dsh-plugin-manager。 - 重启 dsh web(或通过市场安装)。
使用示例¶
- 在 DSH 设置面板左侧找到「插件管理」页。
- 查看列表中的插件信息。
- 点击「停用」或「启用」按钮控制插件运行。
- 点击「卸载」按钮(需二次确认)移除插件。
技术实现与注意¶
运行环境¶
插件以 trusted-host 权限运行,需要宿主提供 loader、connection、slots、locale 服务以及 dsh-client-* 客户端依赖。
安全设计¶
- 输入校验:插件名参数经过
TARGET_RE白名单校验(^[A-Za-z0-9@:./_+-]+$)。 - 操作校验:卸载/停用前会校验插件是否在 dependencies 中。
- 错误处理:所有 RPC 返回统一
{ ok, value | error }结构,异常信息不外泄堆栈。
目录与源码¶
更多详情请查看插件目录页或 GitHub 仓库。