DSH 专家工坊(dsh-expert-suite):单角色专家与多 Agent 专家团

前言

在 DSH(DeepSeek Harness)里做复杂任务,常见做法是改系统提示词或临时约定「你现在扮演某某角色」。这类做法依赖模型自觉,工具调用往往仍走全量权限,多步骤协作也缺少可复用的编排结构。DeepSeek Harness 社区插件 dsh-expert-suite(目录名 lanyun417/dsh-expert-suite,npm 包名 dsh-expert-suite)把协作拆成两个维度:专家(单角色 + 工具白名单)与 专家团(团长派工、串并行交付)。下面介绍它是什么、如何安装,以及命令与工具层面的典型用法。

这是什么

DSH 专家工坊 由维护者 LanYun417 发布,分类为工作流。定位是:给 AI 增加「角色与团队」——要么以某一领域专家身份执行任务,要么拉起一支多 Agent 团队按流程交付。

随包内置 8 位专家与 1 个「全栈交付团」,可直接试用。用户自定义数据落在 $DSH_HOME/expert-suite/(专家 experts/<id>.json,团队 teams/<id>.json);与内置同 id 时,用户目录版本优先。

README 标明对齐 DSH 0.2.0-rc.2 运行时;package.json 中 engines.dsh 为 >=0.1.5-rc.1,更早版本需按宿主安装时的 peer 提示处理(例如 dsh plugin --profile <profile> allow-version)。

核心功能

专家(Expert)

一个专家 = 人设与方法论(persona) + 工具白名单(toolFilter)。召唤后模型以该身份干活;白名单外的工具调用由宿主 tools.guard() 进程内拒绝,不是仅靠提示词提醒。空白名单表示不限制工具。

主要字段包括:id、name、category、description、capabilities、expertise[]、exampleTasks[]、persona、可选 model、toolFilter[]、source。

专家团(Expert Team)

一个团队 = 团长(lead) + 成员(members)(按 order 排序,各带 responsibility)。支持两种用法:

  1. 会话式(默认):进入团队后与团长对话;打招呼不会自动跑全队,有任务时团长澄清目标,再通过 team_dispatch 按需派工给成员(每次派工为 one-shot 子代理,交付后整合回复)。
  2. 批量(显式):使用 team_run,给定自包含总目标,一次拆解并跑完相关成员后整合总结。

批量执行模式(团队定义里的 executionMode)包括:serial(按 order 串行,后续成员可见前序交付物)、parallel(同波次并行,默认受 maxParallelMembers 限制为 4)、auto(团长先做波次规划,失败则回退串行)。interventionMode: step 时,每位成员或每个并行波次交付后会暂停,需 team_message(action=continue) 放行。

团长默认 leadToolFace: coordinator,只协调不执行(拒绝 bash/pwsh/write/edit 等);可在插件配置改为 full。

三种创建方式

方式 入口
手动创建 面板「创建专家 / 创建专家团」,或工具 expert_create / team_create
文件导入 面板「导入」,或 expert_import / team_import(专家支持 JSON / Markdown,团队仅 JSON)
AI 生成 面板「AI 生成」,或 expert_generate / team_generate(描述 → 校验后入库,save=false 可只预览)

每位专家、每个团队及使用说明会注册为运行时 skill,AI 可随时加载。图形入口:设置 →「DSH 专家工坊」,或右下角悬浮按钮。

插件共注册 19 个工具(如 expert_list、expert_summon、team_dispatch、team_run 等),详见官方 README 工具清单。

安装与启用

推荐从 npm 安装:在 DSH「插件」页搜索 dsh-expert-suite,或执行:

dsh plugin add dsh-expert-suite

安装完成后重启一次 DSH。插件加载时会把「专家模式」「专家团模式」两个预设铺到 $DSH_HOME/.agent-presets/,重启后可在预设选择器中看到。

可选配置(写在 cordis.yml 插件行的 config 下)示例:

- insert:
    - id: expert-suite
      name: 'dsh-expert-suite'
      config:
        dataDir: ''              # 缺省 $DSH_HOME/expert-suite
        layPresets: true         # 自动铺设两个预设
        maxParallelMembers: 4    # 波次内最大并行子代理数
        leadToolFace: 'coordinator'  # coordinator | full

典型用法

斜杠命令

# 单专家
/expert-list                          # 浏览名册
/expert data_analyst                  # 召唤数据分析师
/expert data_analyst 帮我解读这份报表   # 召唤并发送第一句话
/expert-dismiss                       # 退出专家模式

# 专家团(会话式)
/team-list                            # 浏览团队
/team fullstack_delivery              # 进入全栈交付团
/team fullstack_delivery 你好          # 进入并发送第一句话

# 在会话中请求 AI 调用生成工具
请调用 expert_generate:我需要一个专门写技术文档的专家
请调用 team_generate:帮我组建一个能完成产品从设计到上线的团队

工具驱动

单专家:expert_list → expert_summon → expert_dismiss。

团队:team_dispatch(团长按需派工)、team_status、team_end;需要一次跑完整条流水线时用 team_run(可配合 serial / parallel / auto 与 step 干预)。

召唤成功后面板会收起,界面状态条显示当前专家或团队,可一键退出。

导入专家(Markdown 示例)

专家 Markdown 为 YAML frontmatter + 正文(正文即 persona):

---
id: tech_doc_writer
name: 技术文档专家
category: 写作
description: 面向开发者的技术文档写作
expertise: [技术写作, Vue, Vite]
exampleTasks:
  - 把这份源码注释整理成教程
toolFilter: [read, write, grep, glob]
capabilities: |-
  多行能力介绍……
---

你是资深技术文档工程师……(persona 正文)

专家团 JSON 中成员通过 expertId 引用已存在的专家,需先保证名册里已有对应专家。

适用场景与注意

适合谁:需要 repeatable 角色设定(含工具边界)的开发者;需要团长编排、串并行多子代理交付的工作流场景;希望用面板或 JSON/Markdown 管理专家资产、而非每次手写长提示词的用户。

权限与安全:插件在当前 DSH 进程权限下运行;专家与成员的 toolFilter 是进程内门禁,但宿主本身能调用的工具仍取决于你的环境与配置。安装前建议阅读 GitHub 仓库 源码与 MIT 许可证(package.json version 0.1.0),确认符合你的合规要求。

兼容性:Client 侧依赖 web profile;无 webserver 的 profile 下面板会降级为只读空态,核心斜杠命令与工具仍可用。若专家定义指定了 model,需宿主开启「子代理模型选择」opt-in,否则派工可能报错;内置专家默认不指定模型。

生态说明:DSH 采用「一切皆插件」思路;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-expert-suite 把「专家人设 + 工具白名单」和「专家团编排」做成可安装、可导入、可 AI 生成的插件能力,并内置专家与全栈交付团供开箱试用。若要浏览元信息与安装入口,见目录页 https://www.skillhub.cn/plugins/LanYun417/dsh-expert-suite ;完整说明与架构细节见 https://github.com/LanYun417/dsh-expert-suite 。

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

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

Xiaoye