dsh-lead-mode

workflowmounts, not registerednpmMIT

Lead-mode agent preset plus two runtime skills for the official Agent Teams runtime: a delegate-wait-verify working method, and a wrap-up digest that merges several members' output into one file. Ships no team runtime of its own.

下载量 / Downloads
2,287
依赖体积 / node_modules
467.31 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-lead-mode

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

dsh-lead-mode

中文 | [English](README.md)

给 DSH 加一个 Lead 模式。一个预设、两个 skill、一个自检命令、两条前置提醒。

官方 Team 运行时只给工具:spawn_teammate、send_message、team_task_*。什么时候派活、派给谁、怎么等结果、收尾怎么写、多成员的产出怎么合并,这些方法它不管。本插件补的就是这一层。它不替代官方 Team 模式,是配套。

装好后模型能按 Lead 的方式干活:拆活、派活、验收。动手的活尽量派出去。

提供的能力

五样东西,都不碰 dsh 本体。

能力 · 入口 · 你要做什么

Lead 模式预设 · 预设下拉里的「Lead 模式」 · 切过去

Lead 工作法 skill · /skill lead-mode,模型也会自己加载 · 不用管

团队汇总 skill · /skill team-digest,模型收尾前自己判断写不写 · 不用管

依赖自检 · /lead-mode · 依赖不对时敲一下

两层前置提醒 · 自动 · 不用管

只新增,不修改。cordis.patch.yml 全文只有两行 insert:一行本插件,一行新建的 lead-mode 预设。官方 standard 预设一个字没动,新预设的 21 行逐字段照抄它,只换 persona。

不注册任何工具,不监听 agent 生命周期,不拦截任何请求。lib/index.js 只往两个注册表写:skills(两个 skill)与 commands(一个命令);启动时另打一条 warn。卸载后这些条目全部消失,官方行为回到原样。

唯一可能撞的地方是同名 skill 或命令。你已经装了 lead-mode 或 team-digest 时,宿主按先到先得处理,打一条 warn,忽略本插件那条;撞了也只是我们让位。

一、Lead 模式预设

切过去,这个会话的模型就换成 Lead 人设。

预设内容等于官方 standard 预设的全部 22 行,只把 persona 换掉。工具一个不少:bash、文件读写、搜索、web、todo、skill、goal、plan、compaction、subagent、workflow 全在。

也就是说,切到 Lead 模式不会让你少任何能力,只是换了工作方式。

二、Lead 工作法 skill

一套拆活、派活、验收的方法,随包分发。

它不绑预设。任何会话都能加载,两条路:

  • 模型判断需要时自己加载(skill 标记为模型可调用)
  • 你直接敲 /skill lead-mode

覆盖这些内容:开工前对齐目标、派活必须自包含、写作用域不重叠、共享任务的 list/get/claim/complete 流程、怎么等 teammate、teammate 的模型从哪来、最终验证自己做。

其中两条是读源码才确认的,容易踩:

事实 · 为什么重要

teammate 收工会自动通知你,通知里带它收尾那条消息 · 派完活结束回合就够,不用盯着等

task 变更不会唤醒空闲的 Lead · 别指望「它把 task 标 complete 了我就知道了」,那条路只唤醒正在 wait_agent 的调用方

所以 skill 的默认建议是:派完活就结束回合等通知(用户立刻看到进展),只有本回合内就必须拿到结果时才用一次 wait_agent。不要 wait_agent 套循环,也不要反复 list_agents 轮询。

派活 prompt 里要要求 teammate 把交付物写进收尾那条消息——那条消息会随通知回到你手上。

三、团队汇总 skill

收尾时全队产出散在 N 条收尾消息和 N 份工作日志里,没人合并,过一周想回看就得重新查一遍。这个 skill 把它们合成一份 reports/<YYYY-MM-DD>-<effort>.md。

项 · 规则

什么时候写 · 给最终答复前,本 effort 有 2 个以上成员,或跨 2 轮以上

写到哪 · reports/<YYYY-MM-DD>-<effort>.md,单一路径,收尾一次成型

六块骨架 · 结论 / 谁干了什么 / 验收证据 / 偏离与未验证 / 死路与决策 / 未决与下一步

原料分层 · 收尾消息做骨架,工作日志补过程细节,会话日志兜底

六块标题写死,某块没内容就写「无」。原料按顺序取,上层够用就不下钻。细节看 team-digest skill。

四、依赖自检命令

/lead-mode 报告当前依赖状态。

报什么 · 内容

Team 运行时 · 挂没挂;挂了报 maxMembers

lead-mode 预设 · 注册没注册

缺东西时 · 给带版本号的安装命令

依赖齐全返回 success,缺东西返回 error。不会静默跳过。

五、两层前置提醒

本会话没有 Team 工具时,提醒你去开官方 Agent Teams,而不是让模型硬干。

走两条路:

通道 · 谁看得见 · 什么时候出现

persona 第一段 · 模型 · 一切到 Lead 模式就在。system prompt 的第 0 段

启动 warn 与 /lead-mode · 用户 · 检测到 Team 运行时缺失时

两条讲同一件事:没有 spawn_teammate 这套工具就先停下来,告诉你装什么、怎么装。

模型不会假装能派活,也不会拿 subagent 顶替 teammate。

装之前先开 Team 运行时

Lead 模式靠 spawn_teammate、send_message、team_task_* 这些工具派活。它们由 dsh 官方的 Team 运行时提供,本插件不带。

dsh plugin --profile <你的 profile 名> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.2-rc.1

必须带版本号。 不带会装到 latest 上的 0.1.5-alpha.2,那是给 0.1.x 宿主用的,在 0.2.2 宿主上挂不上。next 指向的 0.2.2-rc.1 才对。版本号还要等于你的宿主版本(dsh --version):团队包把 dsh-* 的 peer 钉死到具体版本,老 rc 装到新宿主上,peer 对不上。装完重启 dsh。

不确定装没装?进 dsh 敲 /lead-mode,它会报依赖状态。

装本插件

两条路,选一条。

从 npm:

dsh plugin --profile <你的 profile 名> add dsh-lead-mode

从 GitHub:

dsh plugin --profile <你的 profile 名> add https://github.com/xiebaiyuan/dsh-lead-mode

装完重启 dsh。在预设列表里选「Lead 模式」。

用法

三步。

1. 切到 Lead 模式。 新会话的预设列表里选「Lead 模式」。切过去之后,模型 system prompt 的第一段就换成 Lead 人设,开头那段提醒跟着进去。

2. 敲 /lead-mode 查依赖。 这条命令不派活,只报状态。缺东西时它给出带版本号的安装命令。

3. 让模型干活。 派活工具齐了,模型会自己拆活、派给 teammate、等齐再收尾。工具不齐,它第一句就是让你去开 Team 运行时。

只用 skill,不换预设

预设不动也能用。插件装好,预设保持 standard 或你自己的,任何会话敲 /skill lead-mode 就加载那套方法;模型判断任务需要时也会自己加载。

少了一样东西:persona 里那段前置提醒只在 lead-mode 预设里,不切过去就看不到。所以第一次先敲 /lead-mode 看依赖,缺 Team 运行时会给出带版本号的安装命令。

team-digest 同理。它不绑预设,任何会话可用,收尾时模型自己判断要不要写汇总。

友链:dsh-context

本插件只做 Lead 模式。团队状态与通信的可视化是 dsh-context 的活,那是另一个项目:

项 · 值

仓库 · https://github.com/bowenliang123/dsh-context

作者 · bowenliang123

许可 · Apache-2.0

装法 · dsh plugin --profile <你的 profile 名> add dsh-context

它不随本插件安装,也不是本插件的依赖。本插件只在文档和 skill 里指个路。

为什么指到这里

工具调用只能一条条读。list_agents 给一行状态,team_task_list 给任务归属。要看整队谁在干什么、谁跟谁说了什么,得开一页。

dsh-context 在每个会话里加一个 编队 / Fleet 标签页(在 Context 右边),右栏的 Context 面板里有同一张卡。

区块 · 看什么

概要 · 成员状态、实时上下文、预估花费、任务进度

Agent Network · 当前 agent、它的父级、全部子代理,一人一张卡

Fleet Members · 每个成员的角色、模型、最新回复、运行时长、步数、在办任务数

Tasks · 团队任务与子代理派活放一起,按 owner 分组,带 blocked-by 链

Agent Comms · 谁跟谁说了什么。团队消息、邮箱投递、运行时的结算通知都在这里

点图上的成员或成员卡,Tasks 与 Agent Comms 会收窄到那一个人。Agent Comms 里点开一条能看到完整记录:来自哪个会话日志、第几号事件、是运行时写的结算通知还是子代理自己发的、完整收尾报告。

Lead 模式 skill 里也写了这个入口,所以派活时模型会直接让你去这儿看进度。

依赖的官方 bundle 与版本

本插件不捆绑下面这些包。它们由宿主或官方 bundle 提供,本插件只在 peerDependencies 里声明版本要求。

包 · 版本要求 · 谁提供 · 缺了会怎样

@deepseek-ai/dsh-experimental-agent-team-profile · 0.2.2-rc.1 · 用户显式安装 · 派不了活,/lead-mode 报 error,启动 warn

@deepseek-ai/dsh · >=0.2.2-rc.1 · 宿主 · 装不上

@deepseek-ai/cordis · ^4.0.5 · 宿主 · 装不上

@deepseek-ai/schemastery · ^3.18.5 · 宿主 · 装不上

@deepseek-ai/dsh-agent-preset-registry · >=0.2.2-rc.1 · 宿主 · 预设行不生效,/lead-mode 报「查不到」

@deepseek-ai/dsh-skill · >=0.2.2-rc.1 · 宿主 · skill 不注册,启动 warn

@deepseek-ai/dsh-commands · >=0.2.2-rc.1 · 宿主 · /lead-mode 不注册,启动 warn

目标宿主版本写在 package.json 的 dshTarget 字段:0.2.2-rc.1。

为什么安装命令要带版本号

@deepseek-ai/dsh-experimental-agent-team-profile 在 npm 上有三个 dist-tag:

dist-tag · 版本 · 配哪个宿主

latest · 0.1.5-alpha.2 · 0.1.x

alpha · 0.2.2-alpha.3 · 0.2.2 线早期预览

next · 0.2.2-rc.1 · 0.2.2

裸写包名,npm 解析 latest,装到 0.1.5-alpha.2。这个版本是给 0.1.x 宿主用的,在 0.2.2 宿主上挂不上。装完 dsh 里看不到 Team 工具,/lead-mode 还是报「未挂载」。

实测(2026-10-26,npm 11.20.0):

$ npm view @deepseek-ai/dsh-experimental-agent-team-profile version
0.1.5-alpha.2

所以本插件里所有出现安装命令的地方都带 @0.2.2-rc.1:persona prefix、/lead-mode 输出、启动 warn、SKILL.md。test/preset.test.mjs 与 test/smoke.test.mjs 都断言这个字符串在,防止以后被改回裸包名。

next 现在指向 0.2.2-rc.1,就是本插件钉的版本;alpha(0.2.2-alpha.3)是同一条线的早期

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::13,最后更新 2026-11-06

Links

GitHub · Homepage · npm

Same category