dsh-leader-kit

中文文档
0.2.0发布于 2026/11/03MITES Module零依赖构建来源已验证

DeepSeek Harness的领导驱动调度:协议技能,项目引导和交付板。

中文使用文档
文档目录16 节
  1. 突出了
  2. 安装
  3. 桌面安装(DeepSeek Harness Desktop)
  4. 网络安装
  5. 预览
  6. 它是如何运行的
  7. 设计的权衡
  8. 五个步骤
  9. 编排存在于文件中
  10. 先决条件:首先让多工作树并行工作
  11. 当前的限制
  12. 发展
  13. 贡献
  14. 文档
  15. 学分
  16. 许可证

dsh-leader-kit: a Leader fanning out to several workers, with a project board on the right

英语 | 简体中文

npm version CI MIT License dsh version status npm downloads GitHub stars

dsh-leader-kit

一个领导者驱动工作和审查,所以你可以同时运行十个特性,而不是照顾每一个。

一个用于DeepSeek Harness (dsh)的leader / worker编排包。领导者分解工作,分派工作,跟踪每个工人的完成情况,检查返回的工作并进行审查;工作人员在后台完成工作,自动报告,每个任务事实都出现在按项目组织的公告板上。每个任务运行一个工作树是这个存储库的约定,而不是bundle的要求。

突出了

  1. 一个领导者驱动开发和审查 -你陈述一次目标。领导开卡,派遣工人,监督每个人完成工作,验证交付品并组织评审。你的注意力会回到“我想要什么”,而不是“哪个代理卡住了”;目标是同时飞行的十个特征。
  2. 右侧边板:看谁在工作,一目了然 -每个项目一块板。每张卡片都有它的执行者插槽和一个实时状态指示灯,它的注释呈现为Markdown,它的链接是可编辑的。点击规格卡片(目标,范围,接受度,链接),点击插槽进入代理的会话并继续交谈;工人报告在工人说话时到达,也是markdown渲染。
  3. 按你的意愿安排你的代理人 -两个文件做安排。 LEADER.md 掌握领导的提示和项目的编排规则:边界,调度要求,验收标准。 SLOTS.md 为每个工作者角色提供自己的规则(dev / review /…)。在每个模型请求之前对两者进行评估,并且仅在其文本更改时追加,因此编辑文件更改行为而无需重新创建会话。
  4. 许多项目并行进行,每个项目有一个Leader -添加一个项目绑定一个领导者会话,并在项目树中列出领导者产生的工人;可以拖动行以重新排序,删除项目将删除插件注册的工作空间,同时保留文件夹和会话记录。项目之间互不妨碍。换一个新的Leader,现有的工人和未交付的报告将被转移,因此可以立即发送。
  5. 这个 leader-mode 技能:用于Leader的业务流程协议 -不是“你是技术领袖”。阶段剧本跨越讨论→设计→实现和交付→审查→合并,加上并行协作和移交的指导。
  6. 回顾一个工人做了什么,但不要唤醒他 - - - - - - read_worker_session 直接读取工人的会话日志并返回每个回合的任务,主体,它调用的工具以及失败的原因。只读:它不会唤醒worker,也不会触发模型调用。完工通知告诉你结果是什么;这将告诉您它是如何到达那里的,因此调试不需要另一轮。

安装

桌面安装(DeepSeek Harness Desktop)

桌面使用自己的配置文件($DSH_HOME/profiles/desktop),与…分开 web。

GUI安装: 开放 插件 在左侧栏中,单击 添加插件 在右上方,键入 dsh-leader-kit 并点击 安装:

Add plugin wizard: enter dsh-leader-kit

CLI安装: 该系统 dsh 拒绝管理桌面配置文件;使用与桌面安装捆绑的命令行:

# quit the app completely first (closing the window only hides it)
"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
  plugin --profile desktop add dsh-leader-kit

在Windows / Linux上,使用 runtime/cli/bin/dsh 在安装目录中。该应用程序仅在启动时读取配置文件,并且一次只能挂载一个版本。 DSH_HOME 必须是绝对的还是以 ~/. 会议、项目和卡片都是共享的 web;插件包和激活是分开的。

对于这个存储库中的开发, npm run desktop 挂载当前的工作树,重新构建bundle并启动应用; -- --remove 卸载它。

网络安装

从npm安装(包名 dsh-leader-kit):

dsh plugin --profile web add dsh-leader-kit
dsh web

该概要文件必须命名 web;中不存在自定义名称 PROFILE_TEMPLATES,因此安装缺少web-app bundle,并且客户端从未加载。需要dsh >=0.2.1-rc.2 <0.3.0。

有关固定版本、删除版本、开发安装或在没有配置文件的情况下尝试版本,请参见 发展。

预览

dsh-leader-kit: the project tree on the left, the Leader's conversation in the middle, the delivery board on the right

左图:项目和每个Leader生成的工人。中心:领导会议——任务、调度、工人汇报、裁决。右:项目的交付板,每个任务有一张卡,每个执行者有一个插槽芯片。您可以看到正在工作的代理,单击其中一个以钻取其会话并直接与之交谈,而无需通过Leader。

屏幕截图显示了一个真实的工作会话。

它是如何运行的

you ──────▶ Leader (the leader session, sole commander of the project)
             │  create_card      record what to build and how it is accepted
             │  spawn_worker     create the worker session, return immediately
             │  message_worker   deliver the first message — that is what starts work
             ▼
      worker ─ worker ─ worker        each runs in its own project directory
             │                        (one worktree each is the project convention, see Prerequisites)
             │  the turn end is settled by the runtime, workers submit nothing
             ▼
      Leader wakes up ──▶ board status lights update ──▶ open any worker and keep talking

以下三种机制使其不仅仅是“更智能的提示”:

  • 身份决定了刀具表面。 领袖得到 spawn_worker / message_worker;工人不。主机在创建会话时修整工具表面-不相信模型会保留。
  • 完成由运行时决定,运行时唤醒Leader。 当一个worker的回合结束时,Leader会收到一个报告(呈现为worker发言),Leader没有轮询,worker也没有提交步骤。
  • 工人是持久的根会话。 几个同时运行,您可以打开其中任何一个并保持对话继续,并且它们在重新启动后冷恢复。代价是:领袖阻止不了 当前的限制。

设计的权衡

  • 这个项目的目的不是重建dish自己的超级代理商。它解决了一个具体问题:让一个人管理20多个会议。
  • 今天的代理还不够可靠,无法在无人值守的情况下运行,因此设计假设您可以在任何时候中断或推动任何工作人员。
  • 路由层运行全尺寸模型。在实践中,考虑到全球的情况,它经常在一个想法中连接几个pr,并解决单个工人看不到的问题。
  • 代理业务流程一般化。卡片描述了任务本身,所以它可以在编码之外工作,并且可以使用任何技能进行作曲。
  • 初始化仍然是手动的:在您自己的项目中编写 LEADER.md (领导者的角色提示和编排流程)和 SLOTS.md (角色分割和每个角色的角色提示)。
  • 领导和工人之间从不交谈;刀具表面排除了这种可能性。今天的代理被训练成严格遵循指令,两个代理之间的一个嘈杂的信息可能会破坏整个对话。

五个步骤

  1. 添加一个项目。 在左侧栏的Projects部分,单击Add project并选择一个目录。项目立即创建,并绑定到领导会议;单击项目行打开Leader(插件注册并删除的工作空间在单击时重新创建,并将会话放回)。 选择分为两层:整个行仅为当前的Leader会话亮起,而打开一个worker则在行开始处亮起文件夹,并将行高亮显示在该worker自己的会话行上。默认情况下,行开始处的槽是一个文件夹图标:当Leader运行时,它会变成一个旋转器(Leader没有自己的行,所以无论项目是展开还是折叠,它都会保持),当项目折叠时,在它下面运行一个worker,它会变成一个旋转器 同样,一旦扩张,每个工蜂都有自己的纺丝机。
  2. 加载协议。 在leader会话中,加载模型 leader-mode. 它读取 playbooks/program.md 首先是当前阶段的剧本。
  3. 调度。 spawn_worker 需要 name (一个简短的角色任务句柄); cardId + slot 可选地在同一调用中绑定卡的执行器插槽。它立即返回一个会话id,而工作线程已经返回了 还没开始. 提供任务主体 message_worker (sessionId + message,可以选择 rename):第一个消息是开始回合,卡绑定工人自动获得卡事实添加到其请求中,因此您不需要粘贴规格。工人的沙盒模式和审批策略在调度时继承自Leader (Auto Leader也传递其审核门);收据说明工作线程实际运行的权限,并按名称调用完全访问权限。看看它是如何完成这一回合的——它使用了哪些工具,在哪些地方失败了——使用 read_worker_session 在它;这不会唤醒工人。
  4. 记录任务事实。 create_card 打开卡片(title 要求), update_card 编辑一次(内容更改携带) expectedRevision 对于乐观并发;链接可以用 links 或者通过id与合并 addLinks), list_cards 读取它们。卡片属于一个项目,并且是全局编号的;跨项目的编辑被拒绝。 list_cards 和 create_card 都是领袖的专属,而普通的会议则没有; update_card 是与工人共享的。工作线程只能编辑绑定到的卡片,并且只能编辑派生字段,例如 links - - - - - - title / spec / status / slots 属于Leader(前两个是验收锚和注入内容,后两个决定谁执行以及卡是否计数完成)。
  5. 看黑板。 右侧面板中的Board选项卡为当前会话的项目抽取卡片。当领导者创造一张卡片时,它会自动打开;点击卡片查看详细信息(链接可编辑,其余部分只读),点击插槽芯片打开执行者会话。

编排存在于文件中

三个东西,每个覆盖一层。它们都只提供提示文本,不授予工具权限:

文件/技能为谁它包含什么
LEADER.md这个项目的负责人如何指挥这个项目:边界,卡和调度粒度,硬约束每一个简要必须携带,验收标准。注入到领导会话中,没有绑定步骤
SLOTS.md按角色划分的工人每个角色方法和角色下 ## <slot-name> (dev / review /……)。名片的 slots 字段将一个槽绑定到一个会话,该会话获得注入的段
leader-mode 技能领导人礼宾分阶段的剧本用于讨论→设计→实现和交付→审查→合并,加上并行协作和移交指导

LEADER.md 和 SLOTS.md 在每个模型请求之前求值,并仅在其文本更改时追加,因此更改对下一个请求生效,并且不会注入两次。这个 leader-mode 技能采用不同的路径——模型通过 skill 工具随需应变,这就是为什么上面的步骤说加载而不是配置。目标项目自己的 AGENTS.md 由主机的代理指令作为系统提示符部分读取。收牌(done / archived)释放其执行器:插槽绑定和卡事实停止一起注入。

插件只读取 LEADER.md. 一个 COORDINATOR.md 这只是指出它是外部工具(如Telov)的兼容性补丁,这些工具仍在寻找旧文件名;它永远不会被注射,否则你也不需要它。

槽名是ASCII标识符(小写字母,数字,下划线,连字符,最多32个字符);显示名称来自 slots: 顶部的前体 SLOTS.md. 一个没有 SLOTS.md 退回到默认的两个角色 dev / review。

这个 init-leader-kit Skill处理项目设置:它将存储库的工程约定合并到目标项目的托管块中 AGENTS.md,然后写道 LEADER.md (领导者如何推动这个项目)和 SLOTS.md (执行者角色)从捆绑的骨架。重新运行只替换托管块,并且在编辑之前读取两个手册。一个空目录得到TODO框架和三个仍未回答的问题——项目事实从未被发明。

对于完整的交互-槽前端的细节,存档,交换领导,如何板状态灯派生-请参阅 使用手册 (中国)。

先决条件:首先让多工作树并行工作

并行运行十个特性需要任务之间真正的隔离:每个任务一个工作树,每个任务一个dsh实例,每个任务一个数据根,所以任务永远不会覆盖彼此的插件版本或争夺会话和数据。这个库的 scripts/worktree-*.mjs 和 scripts/dev.mjs 存在就是为了这个(发展); 机制和每个着陆的位置 协作和文档 (中国)。

当前的限制

  • 后台业务流程需要一个长期存在的主机 (web /桌面/ sdk)。headless是一次性CLI:当回合结束时会话被销毁,没有任何东西可以接收完成报告。
  • 领袖不能阻止工人。 工人是普通的根会话,所以主机的 list_agents / send_message / interrupt_agent 不适用于他们(interrupt_agent 甚至返回错误的成功)。一个工作程序偏离了轨道,必须由一个人在它自己的会话中处理。这就是坚持不懈的代价。你可以读到它在做什么(read_worker_session(只读,不唤醒),但您不能为它采取行动或取消它。
  • 完成报告通常取决于回合结束。 如果进程在一个工人完成之前就死了,那么这个回合就永远不会结束。重新启动后,打开worker会话并在那里继续。
  • 这个板只在项目会议上显示。 领导和项目的员工看到了;同一目录下的普通会议,或者退休的领导,只会得到一个通知,而任何项目之外的会议根本没有董事会。
  • 卡片详细信息只写链接。 链接可以在详细面板中添加,编辑和删除;完成,固定,重命名和删除仍然属于领导的卡片工具。卡号在全局范围内增加,并且永远不会跨项目重用或回收。
  • 项目注册表只能从左侧栏访问。 该模型没有项目工具;如果目录选择器不可用,则无法创建项目并需要web配置文件。
  • 项目树与官方工作空间树共存。 项目会话只在渲染时隐藏在官方树中;官方统计和搜索仍然包括它们。项目目录本身也显示为工作区行,因此从两个位置都可以访问相同的目录。
  • 客户端与主机版本耦合。 对话框、菜单和图标是从主机源复制的,Typert远程通道是一个手写的协议形状,领导会话布局依赖于主机的会话视图服务,所以主机升级需要同步这个存储库。

完整的列表和权衡(状态光源,水印崩溃,头像,存档入口点,DOM注入定位等等)都在这里 已知的限制和权衡 (中国)。

发展

npm run worktree:spawn <task>     # create the worktree and feature branch
cd .worktrees/<task>
npm run dev                       # dsh instance mounting this worktree's plugin
npm run check                     # full gate
npm run e2e                       # browser e2e

数据根、实例覆盖、构建约束和测试策略都在其中 发展 (中国);命令索引在 AGENTS.md (中国)。 npm start 运行每日实例。

贡献

读 AGENTS.md 首先:工作树规程、验证需求和文档规则存在于其中。捷径是 npm install → npm run check →打开PR。提交消息是中文的,不重要的更改会发送 .agents/notes/ 同一PR中的决策说明。

文档

文档目录
AGENTS.md存储库规则和任务路由的阅读索引
文档/ getting-started.md演练(中文):先决条件,添加一个项目及其Leader,两个项目文件,一张卡从创建到下钻
文档/ usage.md对调度、跟进、卡、板、项目管理、插槽和手册进行充分的互动
文档/ architecture.md层,运行时模型,数据流,持久化布局,主机-契约着陆点
文档/ limitations.md充分了解限制和权衡
文档/ development.md开发环境、实例、构建契约、测试策略
文档/ capability-gaps.md主机能力边界的测量证据(在接触主机端代码之前阅读)
文档/ e2e-testing.md浏览器端通道(命令、固定装置、模拟约定、断言规则)和手动证据规则
.agents / notes /用于重要更改的决策内存
.agents /技能/ leader-mode /协议层:调度,切换,事件调度,卡片维护,验收

学分

这个设计借鉴了 光标项目实施 和 PStack的编排机制:将项目视为一级实体,汇总每个项目的会议和可交付成果,以及领导-调度/执行-报告/交付-董事会线。

还要感谢 DeepSeek Harness团队:主机插件契约,工作树,Agent Note,渐进披露和文档实践,这个存储库直接镜像。

许可证

麻省理工学院

版本与发布记录

dsh-leader-kit 共发布 4 个版本,首次发布于 2026/11/03;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.0latest2026/11/03今天
0.1.12026/11/03今天
0.1.02026/11/03今天
0.0.0-stage2026/11/03今天

关于 dsh-leader-kit 的常见问题

dsh-leader-kit 是什么?

DeepSeek Harness的领导驱动调度:协议技能,项目引导和交付板。

如何安装 dsh-leader-kit?

在项目目录运行 npm install dsh-leader-kit,或使用 pnpm add / yarn add / bun add。

dsh-leader-kit 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/dsh-leader-kit 是否存在。

dsh-leader-kit 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

dsh-leader-kit 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24.9.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

dsh-leader-kit 可以商用吗?

dsh-leader-kit 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

dsh-leader-kit 还在维护吗?

最新版本 0.2.0 发布于 2026/11/03(今天);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/11/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。