前言¶
DeepSeek Harness(DSH)的设计理念是“一切皆插件”。在构建智能体或管理专家目录时,维护一套标准化的角色描述、技能树和工具配置往往耗时费力。手动搬运文件不仅繁琐,还容易出错。
这个插件旨在解决专家目录管理与 DSH 会话流割裂的问题。它通过读取本地 WorkBuddy 的专家目录,让 DSH 用户可以直接在插件市场浏览、安装并切换专家,从而将专家能力无缝集成到日常工作流中。
它是什么¶
dsh-workbuddy-expert 是一个由社区开发者 pbwheel 维护的 DSH Web 插件。它不联网下载专家,而是作为本地 WorkBuddy 专家目录的“代理”。
该插件主要做两件事:
1. 专家市场:只读扫描本地 WorkBuddy 专家目录,提供卡片浏览、搜索和分类,支持一键安装、更新和卸载。
2. 会话选择器:在 DSH 的会话输入框旁提供专家胶囊,允许用户随时切换当前会话的专家,保留全部历史记录,在下一个模型请求边界生效。
核心功能¶
该插件通过只读扫描和文件导出机制,实现了专家能力的标准化管理。
-
本地专家市场
插件默认扫描~/.workbuddy/plugins/marketplaces/experts/plugins目录。它不联网,只做只读扫描,绝不修改 WorkBuddy 的原始目录。市场页面支持卡片浏览、搜索和分类,操作按钮包括安装、卸载和更新。 -
专家导出与安装
安装操作本质上是导出。选中专家后,插件会将其导出为标准专家文件夹到~/.dsh/experts/<id>/,包含expert.yml、清洗后的role.md、完整的skills目录以及头像文件。更新时支持就地重导,卸载则删除整个文件夹。 -
会话级专家切换
在会话输入框旁的专家胶囊中,可以展开专家列表并切换。切换是整组替换(角色描述与 skills),但保留全部会话历史。切换事务串行化,同一会话同时只允许一次切换。切换在下一个模型请求边界生效,不会打断当前的流式输出。 -
工具白名单与能力挂载
专家的expert.yml中的tools.allow配置会被挂载到当前会话的作用域,限制可用工具。专家的角色描述和专属 skills 也会随会话注册或注销。
安装与启用¶
安装前请确认宿主环境。DSH 桌面端和终端使用不同的 profile(desktop 和 web),互不相通。
终端安装¶
终端用户需要指定 --profile web,并使用 npm 包名或 Git 地址:
dsh plugin --profile web add github:pbwheel/dsh-workbuddy-expert
桌面端安装¶
桌面端(DeepSeek Harness App)使用应用内插件面板。不要在终端执行 dsh --profile desktop,因为该 profile 由 Electron 独占。
- 打开侧栏 Plugins 面板,点击 Add plugin。
- 输入插件名
dsh-workbuddy-expert(或仓库地址github:pbwheel/dsh-workbuddy-expert)。 - 安装完成后重启桌面 App(bundles 列表仅在启动时读取)。
典型用法¶
使用该插件需要先在 WorkBuddy 中“召唤”专家,插件才能扫描到它们。
- 安装专家:在 DSH 设置 → WorkBuddy 专家页面,点击专家卡片右上角的“安装”。
- 切换专家:在会话输入框旁展开专家胶囊,选择目标专家;或者在命令行使用
/expert列出专家,用/expert <name>切换。 - 新建会话:创建新会话时,也可以先选择专家,创建即生效。
适用场景与注意¶
- 前置条件:需要 DSH 版本 >= 0.2.0-rc.2。
- 数据来源:插件不联网,必须先在 WorkBuddy 桌面端专家中心点击“召唤”,专家文件落盘后才能被插件扫描。
- Profile 区分:终端执行
dsh --profile desktop会报错,请勿混淆。桌面端用户需通过应用面板安装。 - 配置:默认源目录为
~/.workbuddy/plugins/marketplaces/experts/plugins,可在设置页面修改。支持配置roots追加发现根。
结尾¶
这个插件通过引入本地 WorkBuddy 专家目录,降低了 DSH 中专家管理的门槛。它不仅提供了可视化的市场管理,还实现了会话级别的专家无缝切换,适合希望统一管理专家能力并提升开发效率的 DSH 用户。