dsh-plugin-manager:DeepSeek Harness 插件管理工具

前言

在 DeepSeek Harness(DSH)的开发生态中,一切皆插件。随着插件数量的增加,单纯依赖配置文件管理依赖、bundles 以及启停状态容易出错且效率低下。dsh-plugin-manager 提供了一个可视化的管理入口,解决插件查看、启用、停用及卸载的痛点。

插件简介

这是一个客户端插件,由 HTUP1 维护。它允许用户在 DSH 的设置面板中查看已安装插件,支持停用、启用与卸载操作。界面随 DSH 界面语言自动切换中英文。

核心功能

插件一览

在设置面板左侧的「插件管理」页,可以看到已安装插件的名称、版本、安装方式(pnpm 市场或手动安装)以及当前的启用状态。

启停与持久化

支持通过按钮快速停用或启用插件。操作会立即生效,并持久化写入 profile 的 bundles 注册列表,重启后状态保持不变。

卸载机制

  • pnpm 插件:通过 dsh plugin remove 彻底删除包文件并移除注册。
  • 手动安装插件:移除注册并停用,node_modules 中的文件保留。
  • 降级处理:若 CLI 删除失败,自动降级为“软卸载”(移除注册 + 停用),并显示错误信息。

状态提示与自保护

界面会区分“已停用但重启后恢复”和“已注册但重启生效”等中间状态,避免误导。此外,插件市场(dshmarket)和插件管理自身受到保护,不能被卸载。

安装与启用

本插件以 DSH 插件包形式安装到 profiles 中:

  1. 将插件包放入 profiles\node_modules\dsh-plugin-manager。
  2. 在 profiles\web\package.json 的 dependencies 与 dsh.profile.bundles 中登记 dsh-plugin-manager。
  3. 重启 dsh web(或通过市场安装)。

使用示例

  1. 在 DSH 设置面板左侧找到「插件管理」页。
  2. 查看列表中的插件信息。
  3. 点击「停用」或「启用」按钮控制插件运行。
  4. 点击「卸载」按钮(需二次确认)移除插件。

技术实现与注意

运行环境

插件以 trusted-host 权限运行,需要宿主提供 loader、connection、slots、locale 服务以及 dsh-client-* 客户端依赖。

安全设计

  • 输入校验:插件名参数经过 TARGET_RE 白名单校验(^[A-Za-z0-9@:./_+-]+$)。
  • 操作校验:卸载/停用前会校验插件是否在 dependencies 中。
  • 错误处理:所有 RPC 返回统一 { ok, value | error } 结构,异常信息不外泄堆栈。

目录与源码

更多详情请查看插件目录页或 GitHub 仓库。

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

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

小夜