返回目录

dsh-team-control

精选清单收录维护状态: 活跃

hunmer/dsh-team-control

DSH 的 Agent Team 控制平面:成员上限可配、DAG 自动派发、四域强制权限、SSE 实时面板

前往 GitHub
$ dsh plugin --profile web add dsh-team-control

15

星标

1

Fork

TypeScript

语言

MIT

许可证

2026-10-28

创建于

2026-11-13

最近推送

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`

安装步骤

  1. 01

    装预构建的 npm 包:`dsh plugin --profile web add dsh-team-control`

    $ dsh plugin --profile web add dsh-team-control

  2. 02

    可选再装 GUI 看板:`dsh plugin --profile web add dsh-team-control-ui`

    $ dsh plugin --profile web add dsh-team-control-ui

  3. 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

  4. 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 适配原生运行时

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 派发能约束这份开销,但不会消除它。
2026-10-282026-11-11作者未说明

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 里已存的事件与任务看板会怎么处理。

08数据与来源

  • 作者声明github.com1bc7d8835e98…

    给 DeepSeek Harness 的 Agent Team 加一个独立 sidecar——成员上限可配、DAG 依赖自动派发、按成员分配 DSH 权限预设(permission presets)、成员审批转发给 Lead 决定、事件流可…

  • 作者声明github.com1bc7d8835e98…

    sidecar 是独立 Node 进程(`bin/dsh-team.mjs`,默认只监听 `127.0.0.1:4317`),由 Host 插件按需拉起;每个成员都是一个真的 DSH 子会话。

  • 作者声明github.com1bc7d8835e98…

    `dsh-plugin/` | DSH Host bundle:20 个 `team_*` + 4 个 `board_*` 工具 + sidecar 生命周期 + 子会话成员调度 + 审批转发

页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-14。发现错误?提交更正。

🏆

最佳 DeepSeek Harness 插件

从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。

DSH Plugins 是独立的 DeepSeek Harness 插件目录,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。