DeepSeek Harness (DSH) 采用插件化架构,允许开发者通过 dsh plugin 安装自定义组件。在官方插件列表中同时管理内置插件与个人安装的插件,容易造成界面混乱。dsh-my-plugins 在「设置 → 插件」区域新增了「我的插件」标签页,仅用于管理用户通过 dsh plugin 安装的插件。
核心功能¶
该面板提供以下能力:
- 状态查看:展示已安装插件的版本与运行相位(Phase)。
- 热切换:支持启用和关闭插件,状态变更即时生效。
- 卸载清理:提供卸载功能,并清理相关残留。
- 重启服务:面板内提供一键重启
dsh web的工具,用于在卸载或完成关键操作后刷新环境。 - 样式与主题:界面风格与官方插件清单保持一致,自动跟随系统的亮色/暗色模式。
- 持久化:停用状态会被写入
cordis.patch.yml,重启后依然保持。
安装¶
通过官方命令安装插件包:
dsh plugin --profile web add https://github.com/I-am-shy/dsh-my-plugins.git
安装完成后,刷新浏览器,进入 设置 → 插件 → 我的插件 即可使用。
使用方法¶
- 在面板中点击卡片展开详情。
- 点击卡片内的「启用」或「关闭」按钮控制插件状态。
- 需要卸载插件时,展开卡片点击「卸载」,并在确认后使用工具栏的「重启 dsh web」以确保完全生效。
注意事项¶
- 管理范围:仅管理
profile的dependencies中定义的插件。官方自带插件(如@deepseek-ai/dsh-base)不显示也不管理。 - 安全性:组条目(
options.group)无法作为操作目标,防止因关闭自身导致无法从界面恢复。 - 卸载生效:卸载操作需要重启
dsh web后才能完全生效。 - 审计日志:所有操作均写入审计日志。
HTTP API¶
面板提供同源仅回环的 HTTP API,用于脚本或外部工具调用:
| 端点 | 方法 | 请求体 | 作用 |
|---|---|---|---|
/my-plugins/list |
GET | — | 获取插件列表、profile 及端口信息 |
/my-plugins/set-enabled |
POST | {pkg, enabled} |
启用或停用插件并持久化 |
/my-plugins/uninstall |
POST | {pkg} |
卸载插件并清理 |
/my-plugins/restart |
POST | {} |
重新拉起 dsh web |