前言¶
在 DeepSeek Harness(DSH)里做智能体或工作流时,往往会装不少插件:有的来自官方 bundle,有的从社区目录安装,有的在本地用路径导入。默认要在设置或插件页里逐项找开关,改完还要自己判断要不要重启 Host。dsh-plugin-switchboard 把这件事收到左侧栏底部:一行一个插件,点一下启停;需要重启的改动会标出来,同一块面板里还能刷新列表、重载界面或结束 Host 进程。下面按安装、界面用法和实现要点说明。
这是什么¶
dsh-plugin-switchboard 是 DSH 的侧边栏「插件开关板」:面向已安装插件的行级启停,并提示 restart-required、overridden 等宿主返回状态。维护者为 AnJiaqi0926;在 SkillHub 插件目录 中归类为工作流。源码与说明见 GitHub 仓库(MIT,当前包版本 0.1.1)。它不负责安装或卸载 bundle,只管理「哪一行插件当前是否启用」。
核心功能¶
面板入口在左侧栏底部、设置旁的开关图标。打开后主要能力如下(均来自项目 README):
- 分类:默认按来源分成「官方自带 / 市场安装 / 本地导入」三组;组头显示「已启用/总数」,点组头可折叠。判定规则:
availability: 'installation'记为官方自带;source为file:/link:记为本地导入;其余为市场安装。 - 搜索与筛选:全部、官方、市场、本地、待重启;也可按插件名搜索。
- 发现:列出若干未安装的推荐插件,点「安装」走插件管理器安装。
- 一行一个插件:状态点、中文名、模块名、开关;整行可点。
- 待重启:宿主返回
application: 'restart-required'时,该行标「待重启」,顶部黄色横幅并统计条数。 - 被覆盖:返回
overridden时提示「已保存,但被更高优先级层覆盖」,开关此时不会真正生效。 - 底部动作:刷新列表;重载界面(
location.reload,仅对界面层改动有效);重启 Host。
安装与启用¶
先确认 DSH 版本满足 >= 0.2.1(package.json 中 engines.dsh 为 >=0.2.1-rc.1,依赖 sidebar.footer.action 与 shell.overlay 插槽)。
命令行安装(将 <profile> 换成你的 profile 名):
dsh plugin --profile <profile> add dsh-plugin-switchboard
也可以在 DSH 桌面端 插件 → 添加插件 中填入包名或 GitHub 地址;本地目录安装示例:
dsh plugin --profile <profile> add /absolute/path/to/dsh-plugin-switchboard
安装后:Web 端刷新页面;桌面端重启应用。
典型用法¶
- 打开 DSH,在左侧栏底部点开关图标,展开面板。
- 按组或筛选找到目标插件,点整行或开关切换启用状态。
- 若出现「待重启」,改完后在面板底部点 重启 Host;注意桌面端会结束应用进程,需手动重新打开 DeepSeek Harness(会话与插件配置在磁盘上,不会因此丢失)。
- 若只是界面层插件、宿主支持热生效,可先尝试 重载界面;仍不生效再重启 Host。
- bundle 的安装与卸载仍在 DSH 自带插件页完成,本插件不替代该流程。
工作原理(简述)¶
插件分宿主与浏览器两部分:
index.js:经ctx.webServer注册同源路由,内部调用官方pluginManager,不依赖生成的 Remote 类型。
| 路由 | 作用 |
|---|---|
GET /dsh-switchboard/list |
读取 pluginManager.listPlugins() |
POST /dsh-switchboard/toggle |
调用 setPluginEnabled(id, enabled),返回精简 ChangeResult |
POST /dsh-switchboard/restart |
应答后约 1.2 秒结束 Host 进程 |
client.js:React 组件,挂到sidebar.footer.action(按钮)与shell.overlay(浮层);样式使用--dsw-alias-*主题变量。无第三方运行时依赖。
适用场景与注意¶
适合:经常开关多个 DSH 插件、需要区分官方/市场/本地来源、希望一眼看到「待重启」条目的开发者。
限制与权限(安装前建议通读仓库源码与许可证):
- 插件在当前 dsh 进程权限下运行;切换与重启 Host 会影响本机上的 DSH 会话与已加载模块。
- 「重启 Host」在桌面端不会自动重开应用,只会结束进程。
- 是否立即生效由宿主决定:多数界面层可热生效;改 system prompt 或占用宿主模块的插件通常要重启。
- 仅操作行级
entryId,不提供 bundle 级安装/卸载。
DSH 生态提倡「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-plugin-switchboard 把「像管理 Mod 一样」的诉求落在侧边栏:列表、筛选、启停、重启提示和操作集中在一处,减少在多个页面之间来回找开关的成本。进一步了解可查看 SkillHub 目录页 与 GitHub README。