MIT 开源的 DSH Host 插件加回环 sidecar:用 DAG 派发、权限预设、Lead 掌管的审批、任务看板与 SSE 观测来跑 agent 团队。
DSH 适配
原生运行时
作者声明
安全审计
未审计
最后核验
2026-11-14
许可证
MIT
01它能帮你完成什么?
在一个 DeepSeek Harness 会话里跑多 agent 团队,成员数有上限、任务按依赖顺序派发
成员都是真的 DSH 子会话;任务随 DAG 依赖满足自动派发,`team_status` 能看成员状态与 DAG 关键路径
需要多个 agent 一起交付同一份产物、又不想手工管理每个子会话的 DSH 用户
把审批权留在 Lead 手里,而不是交给后台进程自动放行
需要审批的成员动作被转发给 Lead,用 `team_approve`(allow / deny)决定;sidecar 的 `approval` 表只做镜像与审计
必须能说清一次 agent 运行中谁批准了什么事的团队
边跑边看,跑完还能拿到可审计的报告
`127.0.0.1:4317/panel` 面板(Trace / DAG / 审批)由 SSE 推送、断线用 `lastEventId` 续传,另可用 `team_report` 导出 Markdown 运行报告与审计表
需要回放或解释一次团队运行为何如此的操作者与评审者
02如何接入 DeepSeek Harness?
前置条件
- Node.js ≥ 22.15——README 说明依赖 `node:sqlite` ≥ 22.5 与 Worker 的 `module.registerHooks` ≥ 22.15,实测版本 v24.22
- 一个可以安装插件的 DSH profile(README 的命令一律用 `--profile web`)
- 零依赖、零构建,不需要 `npm install`
安装步骤
- 01
装预构建的 npm 包:`dsh plugin --profile web add dsh-team-control`
$ dsh plugin --profile web add dsh-team-control
- 02
可选再装 GUI 看板:`dsh plugin --profile web add dsh-team-control-ui`
$ dsh plugin --profile web add dsh-team-control-ui
- 03
改用本地源码:`git clone https://github.com/hunmer/dsh-team-control.git ~/dsh-team-control`,再执行 `dsh plugin --profile web add "$HOME/dsh-team-control/dsh-plugin"`(看板再加 `.../dsh-plugin-ui`)
$ git clone https://github.com/hunmer/dsh-team-control.git ~/dsh-team-control
- 04
重启 DSH(或到「设置 → 插件」里禁用/启用一次),`team_*` 工具与两个独立入口才会出现
验证接入成功
- 重启后 `team_*` 工具以及「编排」「任务看板」两个独立入口出现
- `node demo/run-demo.mjs` 跑 3 成员 + DAG + 一次审批 + 一次 interrupt/resume;`node tests/run-all.mjs` 跑 AC-01 ~ AC-19 全量验收
回滚
- `dsh plugin --profile web remove dsh-team-control`——UI 包同理
03DSH 适配与能力边界
DSH Host 插件(`dsh-plugin/` bundle)提供 20 个 `team_*` 与 4 个 `board_*` 工具,按需拉起监听 `127.0.0.1:4317` 的本地 sidecar 进程,并通过 `subagents.startActivation` 驱动真的 DSH 子会话
团队编排工具(`team_*`)
自然语言下的任务,模型据此调用 `team_create` / `team_spawn` / `team_task` / `team_status` / `team_report` / `team_approve`→一支由真的 DSH 子会话组成的团队,带成员上限、DAG 依赖,以及含验收标准的成员任务简报
会拉起额外的 DSH 子会话,消耗模型额度首次调用时启动 sidecar 进程把事件与任务状态写进 sidecar 的 SQLite 存储审批转发给 Lead
成员子会话触发 `permissionPreset` = ask 的动作→请求转发给 Lead,由 `team_approve` 决定 allow / deny,并落到宿主的 `allowed-once` / `rejected`
sidecar 的 `approval` 表镜像并审计每一次决定工作区级任务看板(`board_*`)
排到同一个 sidecar 上的任务→按 `todo → planning → planned → inprogress → done / failed` 推进的队列,先规划后执行,与团队编排共用一套事件流
看板状态持久化在 sidecar 的 SQLite 数据库里SSE 面板与 CLI 观测
sidecar 的事件流→`/panel` 里看 Trace、DAG 与审批,断线后靠 `lastEventId` 续传;等价入口是 `dsh-team` CLI 的 `status` / `dag` / `logs` / `report`
面板构建产物由 sidecar 同源托管事件溯源与状态重建
每一次状态变更都写成 `event`→`member_state` 作为物化视图,崩溃后可完整重建,事件流可回放
状态写入工作区内 sidecar 的 SQLite 数据库
04适合谁?何时不该用?
适合
- 需要多个 agent 一起交付同一份产物、又不想手工管理每个子会话的 DSH 用户
- 必须能说清一次 agent 运行中谁批准了什么事的团队
- 需要回放或解释一次团队运行为何如此的操作者与评审者
不适合
- 需要 Node.js ≥ 22.15(`node:sqlite` ≥ 22.5、Worker 的 `module.registerHooks` ≥ 22.15);README 实测 v24.22,并说明项目零依赖、零构建。
- 工具 / skill / MCP 的组合由 DSH `agentPreset` 决定:团队设默认、成员可覆盖,但只有 `fresh` 成员支持独立预设,因为 `fork` 继承 Lead 的组合。
05兼容性、维护与安全提示
- 需要 Node.js ≥ 22.15(`node:sqlite` ≥ 22.5、Worker 的 `module.registerHooks` ≥ 22.15);README 实测 v24.22,并说明项目零依赖、零构建。
- sidecar 是独立 Node 进程,只监听 `127.0.0.1:4317`,由 Host 插件按需拉起;面板与 CLI 通过 REST + SSE 访问这个回环地址。
- 工具 / skill / MCP 的组合由 DSH `agentPreset` 决定:团队设默认、成员可覆盖,但只有 `fresh` 成员支持独立预设,因为 `fork` 继承 Lead 的组合。
- 每个成员都是真的 DSH 子会话,所以一次团队运行会在 Lead 之外再起 N 个模型会话;成员上限与 DAG 派发能约束这份开销,但不会消除它。
MIT · 仅有 README 证据,无 GitHub Release,未做安全审计
06常见问题
在 DeepSeek Harness 里怎么安装 dsh-team-control?
执行 `dsh plugin --profile web add dsh-team-control`,要 GUI 看板再加 `dsh plugin --profile web add dsh-team-control-ui`。之后重启 DSH(或在「设置 → 插件」里禁用/启用一次),`team_*` 工具和「编排」「任务看板」两个入口才会出现。需要 Node.js ≥ 22.15,没有 `npm install` 也没有构建步骤。
sidecar 会把权限接管过去吗?
不会。`permissionPreset` 落实到成员子会话,审批请求由插件转发给 Lead,sidecar 的 `approval` 表只做镜像与审计——`team_approve` 对应宿主的 `allowed-once` 或 `rejected`。
在 DSH 里「成员」到底是什么?
是真的 DSH 子会话:插件用 `subagents.startActivation` 把它拉起来,成员跑完用 `team_report_task` 回写,sidecar 据此推进依赖、唤醒下一波。也正因为如此,N 个成员的团队会额外跑 N 个模型会话。
怎么确认装好了、又怎么看运行过程?
`node demo/run-demo.mjs` 会跑一个 3 成员 DAG,含一次审批和一次 interrupt/resume;`node tests/run-all.mjs` 跑 AC-01 ~ AC-19 全量验收。运行时插件拉起 sidecar 后,面板在 `http://127.0.0.1:4317/panel`,`team_report` 还能导出 Markdown 运行报告与审计表。
怎么卸载?
`dsh plugin --profile web remove dsh-team-control`,UI 包同理。README 只给了卸载命令,没有说明 sidecar 里已存的事件与任务看板会怎么处理。
07相关的 DSH 工作流
archify
作者 tt-a1i
为编码智能体生成美观可验证的架构图、时序图与数据流图,输出自包含 HTML,支持动效与清晰导出。
openviking
作者 volcengine
为 AI 智能体打造的自进化上下文数据库,统一智能体记忆、知识 RAG 与技能。
aitoearn
作者 yikart
面向抖音、快手、小红书和视频号的 AI 内容发布工作流,提供相关平台与 MCP 工具集成。
learn-harness-engineering
作者 walkinglabs
Harness 工程新手教程,从 0 到 1 系统学习智能体工作流框架。
08数据与来源
给 DeepSeek Harness 的 Agent Team 加一个独立 sidecar——成员上限可配、DAG 依赖自动派发、按成员分配 DSH 权限预设(permission presets)、成员审批转发给 Lead 决定、事件流可…
sidecar 是独立 Node 进程(`bin/dsh-team.mjs`,默认只监听 `127.0.0.1:4317`),由 Host 插件按需拉起;每个成员都是一个真的 DSH 子会话。
`dsh-plugin/` | DSH Host bundle:20 个 `team_*` + 4 个 `board_*` 工具 + sidecar 生命周期 + 子会话成员调度 + 审批转发
页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-14。发现错误?提交更正。
最佳 DeepSeek Harness 插件
从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。
