召唤领域专家或组建多智能体团队按流程交付任务
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/10 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add LanYun417/dsh-expert-suite该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 22 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 27 处,展示前 27 条)
- 发起网络请求src/client/host.ts:52
res = await fetch(`/expert-suite${path}`, { - 读取本地文件src/presets.ts:34
presetIds = readdirSync(sourceRoot, { withFileTypes: true }) - 写入本地文件src/presets.ts:41
mkdirSync(targetRoot, { recursive: true }) - 读取本地文件src/presets.ts:47
if (!existsSync(join(target, 'preset.yml'))) { - 写入本地文件src/presets.ts:48
mkdirSync(dirname(stampPath), { recursive: true }) - 写入本地文件src/presets.ts:50
writeFileSync(stampPath, `${version}\n`, 'utf8') - 读取本地文件src/presets.ts:54
const stamp = existsSync(stampPath) ? readFileSync(stampPath, 'utf8').trim() : '' - 读取本地文件src/presets.ts:54
const stamp = existsSync(stampPath) ? readFileSync(stampPath, 'utf8').trim() : '' - 写入本地文件src/presets.ts:57
writeFileSync(stampPath, `${version}\n`, 'utf8') - 写入本地文件src/storage/expert-store.ts:43
mkdirSync(this.expertsDir, { recursive: true }) - 读取本地文件src/storage/expert-store.ts:64
if (existsSync(userFile)) { - 写入本地文件src/storage/expert-store.ts:77
writeFileSync(file, `${JSON.stringify(validated, null, 2)}\n`, 'utf8') - 读取本地文件src/storage/expert-store.ts:84
if (existsSync(userFile)) { - 删除本地文件src/storage/expert-store.ts:85
rmSync(userFile) - 读取本地文件src/storage/expert-store.ts:99
if (!existsSync(filePath)) { - 读取本地文件src/storage/expert-store.ts:102
const raw = readFileSync(filePath, 'utf8') - 读取本地文件src/storage/expert-store.ts:136
files = readdirSync(this.expertsDir).filter((f) => f.endsWith('.json')) - 读取本地文件src/storage/expert-store.ts:153
const raw = readFileSync(path, 'utf8') - 写入本地文件src/storage/team-store.ts:30
mkdirSync(this.teamsDir, { recursive: true }) - 读取本地文件src/storage/team-store.ts:42
if (existsSync(userFile)) { - 写入本地文件src/storage/team-store.ts:53
writeFileSync(join(this.teamsDir, `${validated.id}.json`), `${JSON.stringify(validated, null, 2)}\n`, 'utf8') - 读取本地文件src/storage/team-store.ts:59
if (existsSync(userFile)) { - 删除本地文件src/storage/team-store.ts:60
rmSync(userFile) - 读取本地文件src/storage/team-store.ts:70
if (!existsSync(filePath)) { - 读取本地文件src/storage/team-store.ts:73
return this.importFromContent(readFileSync(filePath, 'utf8'), source) - 读取本地文件src/storage/team-store.ts:97
files = readdirSync(this.teamsDir).filter((f) => f.endsWith('.json')) - 读取本地文件src/storage/team-store.ts:114
const result = teamSchema.safeParse(JSON.parse(readFileSync(path, 'utf8')))
扫描于 2026/10/31(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-commands@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm@deepseek-ai/dsh-scope@deepseek-ai/dsh-skill@deepseek-ai/dsh-subagent@deepseek-ai/dsh-tools@deepseek-ai/dsh-util-values@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 召唤领域专家
- 组建多智能体团队
- 按流程交付任务
面向 DSH(DeepSeek Harness)的专家与专家团插件:给 AI 加"角色与团队"两个协作维度——用一个领域专家的身份干活,或拉起一支多 Agent 团队按流程交付。
README
由 DeepSeek 最新模型翻译生成DSH 专家工坊 · dsh-expert-suite
面向 DSH(DeepSeek Harness)的专家与专家团插件:给 AI 加上「角色与团队」两个协作维度——用一个领域专家的身份干活,或拉起一支多智能体团队按流程交付。
- 专家(Expert):单角色切换——「人设 + 方法论 + 工具白名单」,让 AI 以特定领域专家身份执行任务,且白名单是进程内强约束;
- 专家团(Expert Team):多智能体协作——团长把任务拆解、按需派工给成员子代理、整合交付,支持会话式(和团长对话)与批量(一次跑完)两种工作方式;
- 三种创建方式:手动创建(工具 / 面板表单)、文件导入(JSON / Markdown)、AI 生成(一句话描述 → 自动成稿入库)。
随包内置 8 位专家与 1 个「全栈交付团」,开箱即用。
展开完整文档(README 剩余 1 节)
DSH 专家工坊 · dsh-expert-suite
面向 DSH(DeepSeek Harness)的专家与专家团插件:给 AI 加上「角色与团队」两个协作维度——用一个领域专家的身份干活,或拉起一支多智能体团队按流程交付。
- 专家(Expert):单角色切换——「人设 + 方法论 + 工具白名单」,让 AI 以特定领域专家身份执行任务,且白名单是进程内强约束;
- 专家团(Expert Team):多智能体协作——团长把任务拆解、按需派工给成员子代理、整合交付,支持会话式(和团长对话)与批量(一次跑完)两种工作方式;
- 三种创建方式:手动创建(工具 / 面板表单)、文件导入(JSON / Markdown)、AI 生成(一句话描述 → 自动成稿入库)。
随包内置 8 位专家与 1 个「全栈交付团」,开箱即用。
特性
- 🧑💻 召唤专家:注入 persona + 工具白名单门禁,/expert data_analyst 即用;
- 👥 会话式专家团:进入团队和团长对话,打招呼就只是打招呼,有任务才按需派工;
- ⚙️ 批量交付:team_run 一次跑完整条流水线(serial / parallel / auto 三种执行模式 + step 干预);
- 📥 多种创建方式:手动表单 / 文件导入(JSON、Markdown)/ AI 生成,均校验后入库;
- 🔒 进程内权限隔离:工具白名单由宿主 tools.guard() 单调拒绝,不是提示词提醒;
- 🎛️ 图形面板:设置页分栏 + 悬浮入口,浏览 / 创建 / 导入 / 详情 / 一键召唤与进入;
- 🧩 运行时 skill:每位专家 / 每个团队 / 使用说明都注册为 skill,AI 可随时加载;
- 🔌 零侵入降级:所有宿主接缝集中在适配层,服务缺席只降级、不影响宿主。
安装
从 npm 安装(推荐):在 DSH 的「插件」页(设置 / 侧边栏)搜索安装 dsh-expert-suite;或用命令行:
dsh plugin add dsh-expert-suite
装完重启一次:插件加载时会把「专家模式」「专家团模式」两个预设铺到 $DSH_HOME/.agent-presets/,重启后出现在预设选择器里。
从源码开发安装:构建产物后引入(见下文「开发」)。
兼容性:对齐 DSH 0.2.0-rc.2 运行时与 @deepseek-ai/ rc peer;更早版本请按宿主安装时的 peer 提示处理(dsh plugin --profile <profile> allow-version 授权)。
快速上手
单专家 /expert-list # 浏览名册 /expert data_analyst # 召唤数据分析师(注入 persona + 工具白名单) /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(批量一次跑完)。
图形界面:设置 →「DSH 专家工坊」(或右下角悬浮按钮)打开浏览面板,可视化浏览 / 创建 / 导入专家与专家团。
核心概念
专家(Expert)
一个专家 = 一份「人设 + 方法论(persona)」+ 一个工具白名单(toolFilter)。召唤后,模型以该专家身份执行任务;白名单外的工具调用被当场拒绝(进程内强约束)。字段:
id / name / category / description / capabilities / expertise[] / exampleTasks[] / persona / model? / toolFilter[] / source
专家团(Expert Team)
一个团队 = 团长(lead)+ 若干成员(members),成员按 order 排序、各带 responsibility。字段:
id / name / description / executionMode(serial|parallel|auto) / interventionMode(auto|step) / members[{expertId, order, responsibility}] / leadPersona? / source
三种创建方式
| 方式 | 入口 | 说明 |
| 手动创建 | 面板「创建专家 / 创建专家团」、工具 expert_create / team_create | 逐字段填写;团队成员可选现有专家或「自定义角色」现场定义 |
| 文件导入 | 面板「导入」、工具 expert_import / team_import | 专家支持 JSON / Markdown;团队只支持 JSON |
| AI 生成 | 面板「AI 生成」、工具 expert_generate / team_generate | 自然语言描述 → 生成器子代理成稿 → 校验后入库 |
使用指南
召唤与退出专家
- 召唤:/expert <id>,或面板点「召唤专家」;可带一句话 /expert <id> 消息 立即开工。
- 退出:/expert-dismiss,或状态条上的 ✕。
- 召唤成功后面板自动收起,右上角状态条显示当前专家 / 团队,可一键退出。
团队协作:会话式(默认)与批量(显式)
会话式(默认)——/team <团队id> 或面板「进入专家团」:注入团长契约,你和团长对话。打招呼、问团队能力就只是对话;有实际任务时团长先澄清目标、再用 team_dispatch 按需派工给成员(每次派工 = 一次 one-shot 子代理,等待交付后整合回复你),不会一上来跑全队。随时 team_status 看派工记录,team_end 结束并把各成员交付留档供总结。
批量(显式)——team_run 工具:给定自包含总目标,团长一次拆解、按执行模式跑完所有相关成员并整合总结。适合"现在就把整件事跑完"。
批量模式的执行模式(团队定义里的 executionMode):
- serial:按 order 串行,后续成员能看到前序交付物;
- parallel:全部成员同一波次并行(受 maxParallelMembers 限制,默认 4),团长最后整合;
- auto:团长先做结构化规划(outputSchema 校验的波次计划),按波次执行;规划失败自动回退为按 order 串行并记入日志;
- interventionMode: step:每位成员(或每个并行波次)交付后暂停,用 team_message(action=continue) 放行。
成员的「连续性」由提示词承载(后续派工带上前序交付物全文),子代理会话不做跨派工驻留——这是 v1 的刻意取舍,换取只依赖宿主最稳定的 API 面。
权限与工具白名单
- 专家召唤:toolFilter 通过宿主 tools.guard()(单调拒绝,不可撤销)按 agent 生效;白名单外的工具调用被当场拒绝并说明原因。空白名单 = 不限制。
- 团队成员:每次派工都是一次 one-shot 子代理(ctx.subagents.start('spawn')),其 persona / toolFilter / maxDepth=1 在子代理创建窗口内落地,且不能继续向下委派。
- 团长:默认 leadToolFace: 'coordinator'——只协调不执行(拒绝 bash/pwsh/write/edit);可在 Config 改为 full。
- 指定模型:专家定义里的 model 映射到子代理 agentOptions.model,需要宿主开启「子代理模型选择」opt-in,否则派工会报错——内置专家默认不指定模型(继承会话路由)。
- 跨平台工具名:toolFilter 里的工具名会按当前部署可见工具自动清洗(例如 Windows 上没有 bash、提供 pwsh),避免未知名导致 spawn 失败。
工具清单(19 个)
| 工具 | 说明 |
| expert_list / expert_get | 列出(支持 category 筛选)/ 获取专家完整定义 |
| expert_create / expert_import / expert_delete | 创建(zod 校验)/ 导入 / 删除(内置不可删) |
| expert_summon / expert_dismiss | 召唤(注入 persona + 启用门禁)/ 退出 |
| team_list / team_get / team_create / team_import / team_delete | 团队同名管理操作 |
| team_dispatch | (团长模式)按需派工一项子任务给成员,等待交付并返回 |
| team_run | 批量模式:teamId + 自包含 objective 一次跑完全队并整合,返回 runId |
| team_status | 查看运行状态(成员进度、日志、总结);缺省返回当前会话的活跃团队 |
| team_message | action=send 与成员对话;action=continue 放行 step 模式暂停点 |
| team_end | 结束团队(缺省结束当前会话的活跃团队),返回各成员交付供总结 |
| expert_generate / team_generate | 自然语言 → AI 生成专家 / 从现有名册组团并入库(save=false 可只预览) |
数据与存储
$DSH_HOME/expert-suite/
├── experts/<id>.json 用户创建 / 导入 / AI 生成的专家 └── teams/<id>.json 用户创建 / 导入 / AI 生成的专家团
内置资产随包提供;同 id 时用户目录版本优先。内置定义不可删除(返回 BUILTIN_READONLY)。
导入格式
专家
JSON:直接是完整定义对象;Markdown:YAML frontmatter + 正文(正文即 persona):
id: tech_doc_writer
name: 技术文档专家 category: 写作 description: 面向开发者的技术文档写作
expertise: [技术写作, Vue, Vite]
exampleTasks:
- 把这份源码注释整理成教程
toolFilter: [read, write, grep, glob]
capabilities: |-
多行能力介绍……
你是资深技术文档工程师……(persona 正文)
专家团
只支持 JSON。成员通过 expertId 引用已存在的专家,所以先确保这些专家在名册里:
{
"id": "launch_team",
"name": "上线筹备组", "description": "把新产品从定义推到上线",json "executionMode": "auto", "interventionMode": "auto",
"members": [
{ "expertId": "product_manager", "order": 0,
"responsibility": "产出需求定义与验收标准,交给设计师" }, { "expertId": "ui_designer", "order": 1, "responsibility": "基于需求产出界面方案" }, { "expertId": "code_reviewer", "order": 2, "responsibility": "评审可实现性与风险" } ], "leadPersona": "可选:自定义团长人设,留空用内置模板" }
- executionMode:auto(推荐)/ serial / parallel;
- interventionMode:auto 全自动 / step 每位成员交付后暂停等你放行;
- members[].order:数字,决定默认执行顺序;members[].responsibility:该成员负责什么、产出交给谁;
- 名册里没有的角色,可在「创建专家团」表单用「+ 自定义角色」现场建,或先创建 / 导入专家;导入后自动注册运行时 skill,同 id 覆盖已有版本。
插件配置
在 cordis.yml 的插件行里配置: yaml
- insert:
- id: expert-suite
name: 'dsh-expert-suite'
config:
dataDir: '' # 缺省 $DSH_HOME/expert-suite layPresets: true # 自动铺设两个预设 maxParallelMembers: 4 # 波次内最大并行子代理数 leadToolFace: 'coordinator' # coordinator | full
架构与平台集成
宿主半边按官方契约实现:ctx.tools.register / ctx.tools.guard、ctx.subagents.start('spawn', …)、ctx.skills.register(运行时 skill)、ctx.commands.register、ctx.webServer.register(0.2.0 起为 webServer,0.1.5 线为 httpServer,两个名字都挂 inject 回调、谁先就绪注册谁)、agent.inject / agent.followup、ctx.agents.get / list。所有宿主接缝集中在 src/ports.ts(host)与 src/client/slots.ts(client),改宿主版本适配只动这两处。
Client 半边按官方模块加载契约实现(window.__ModuleLoader__.load({ id, factory }) 自注册、require('react') 取平台 React、导出 { apply, inject }),面板是 Vue 3 SFC 通过 React 宿主组件以「孤岛」挂载。入口为两个已核实的官方 slot:settings.section(设置页分栏)与 shell.overlay(右下角悬浮按钮)。面板数据与动作走 /expert-suite/ 路由(在 webserver 上注册;无 webserver 的 profile 自动降级为只读空态)。
两个值得知道的平台行为:
- 链接安装的包(link: / file:)内部 import 的 @deepseek-ai/ peer 会被宿主重定向到安装副本——本包 peerDependencies 必须与运行时真实 import 一一对应;
- 插件展示元数据:locale/{en,zh}.json 的 meta.title/description + package.json 的 icon(宿主 readPluginMeta 经 ESM 解析读取,exports 必须放出 ./locale/.json)。
开发 sh
pnpm install
pnpm run typecheck # TypeScript 严格模式(零错误为合并门禁)
pnpm run build # host(tsc → dist/)+ client(vite → dist/client.js)
pnpm publish # 发布前会先跑 build
本地装进 DSH 调试:把本包以 link: / file: 引入 profile,或 pnpm dsh web --patch ./cordis.patch.yml。
项目结构
dsh-expert-suite/
├── package.json # dsh.bundle / dsh.client 声明、exports、依赖 ├── cordis.patch.yml # bundle patch(宿主入口行) ├── tsconfig.json # strict + NodeNext ├── vite.client.config.ts # client 打包(CSS 注入 JS) ├── presets/ # 随包预设(专家模式 / 专家团模式) │ ├── expert-mode/{preset.yml, agent.cordis.yml} │ └── team-mode/{preset.yml, agent.cordis.yml} └── src/ ├── index.ts # 宿主入口(apply:装配全部能力) ├── config.ts # 插件 Config(Schemastery) ├── types.ts # 数据模型(zod)+ 运行状态类型 ├── deps.ts # 工具层共享依赖与工具函数 ├── ports.ts # 平台适配层(spawn / 门禁 / persona 注入 / skill 注册) ├── builtin/ # 内置专家(8)与内置团队(1),构建期静态导入 ├── storage/ # expert-store / team-store / markdown frontmatter 解析 ├── tools/ # expert-tools / team-tools / ai-tools ├── orchestrator/ # team-runner(波次执行引擎)/ prompts(团长与生成器提示词) ├── skills.ts # 运行时 skill 内容生成与全量注册 ├── presets.ts # 预设铺设(版本戳) ├── commands.ts # 斜杠命令 ├── routes.ts # 面板数据路由(webserver 渐进增强) ├── help.ts # 使用说明(面板弹窗与运行时 skill 同源) └── client/ # DSH 专家工坊面板(Vue 3 SFC 孤岛 + 官方模块加载契约 + slot 注册)
反馈与贡献
发现问题或有想法,欢迎提 issue / PR。贡献前请保证 pnpm run typecheck 零错误。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
LanYun417/dsh-expert-suite
召唤领域专家或组建多智能体团队按流程交付任务
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7