前言¶
在 DSH 里开一个新会话,模型往往默认「一个人把活干完」:读文件、改代码、跑命令都在同一条对话里完成。任务一复杂,上下文被细节占满,拆分和验收也容易混在一起。
官方 Agent Teams 提供了 spawn_teammate、send_message、team_task_* 等协作工具,但会话仍需要一种明确的工作方式:先对齐目标、再拆任务、把具体执行交给队友、最后由 Lead 自己验收。维护者 xiebaiyuan 的插件 dsh-lead-mode(GitHub:xiebaiyuan/dsh-lead-mode,社区目录:skillhub 条目)面向的就是这件事:在不改 DSH 核心的前提下,提供 Lead 预设、工作方法 skill、依赖自检命令,以及在缺少 Team 运行时对模型和用户的提醒。
这是什么¶
dsh-lead-mode 当前版本 0.1.7(package.json),许可证 MIT。插件自述为:给 DSH 加 Lead 模式——一个 agent 预设、一个 working-method skill、一条依赖自检、两条前置提醒。分类上属于工作流类插件;它不自带 Team 运行时,只声明对主机与其它官方包的版本要求(见下文「依赖与版本」)。
安装后,模型按 Lead 的方式工作:拆分工作、委派队友、接受结果;动手类工作交给 teammate,而不是 Lead 独自包办。
核心功能¶
插件 README 归纳了四块能力,均通过 Cordis patch 注册,不直接修改 dsh 本体。
Lead 模式预设¶
在预设列表中选择 「Lead 模式」 即可切换。该预设与官方 standard 预设逐行对齐(共 22 条),仅替换 persona;bash、读写、搜索、web、todo、skill、goal、plan、compaction、subagent、workflow 等工具一项未删。切换 Lead 模式不会损失能力,只改变模型的工作方式。
Lead 工作方法 skill¶
包内附带拆分、委派、验收的工作方法 skill,与预设解耦。任意会话可用两种方式加载:
- 模型在判断任务需要时自动加载(skill 标记为 model-invocable)
- 手动执行
/skill lead-mode
内容涵盖:开工前对齐目标、让委派任务自包含、写范围互不重叠、共享任务的 list/get/claim/complete 流程、如何等待队友、队友模型从哪来、以及 Lead 自行做最终验证。skill 默认建议在委派后结束当前轮次,由队友 settle 时的通知唤醒 Lead;仅在当前轮次缺结果无法继续时再用一次 wait_agent,且不循环 wait_agent、不用反复 list_agents 轮询。应要求队友把交付物写在 closing message 里,该消息会随通知回到 Lead。
依赖自检命令 /lead-mode¶
在 dsh 中执行 /lead-mode 会报告当前依赖状态:
| 报告项 | 内容 |
|---|---|
| Team runtime | 是否已挂载;挂载时的 maxMembers |
| lead-mode preset | 是否已注册 |
| 缺失项 | 带版本 pin 的安装命令 |
全部就绪则返回成功;任一项缺失则返回错误,不会静默跳过。
两条前置提醒¶
当会话没有 Team 工具时,插件会明确提示启用官方 Agent Teams,而不是让模型假装能委派或把 subagent 当成 teammate。
| 渠道 | 谁看到 | 何时出现 |
|---|---|---|
| 首段 persona | 模型 | 切换到 Lead 模式后,为 system prompt 的 section 0 |
启动 warn 与 /lead-mode |
用户 | 检测到 Team runtime 未挂载时 |
两条渠道表述一致:没有 spawn_teammate 工具集时,应停止并告诉用户需要安装什么。
安装与启用¶
Lead 模式通过官方 Team 运行时的 spawn_teammate、send_message、team_task_* 委派;Team 运行时不由本插件提供,需先单独安装。版本 pin 必填:不 pin 时 npm 会解析到 latest(0.1.5-alpha.2),面向 0.1.x 主机,无法在 0.2.1 主机上挂载;next 指向 0.2.1-rc.3,与当前目标主机一致。
先安装 Team profile(将 <your profile name> 换成你的 profile 名):
dsh plugin --profile <your profile name> add @deepseek-ai/dsh-experimental-agent-team-profile@0.2.1-rc.3
安装后重启 dsh。不确定是否已安装时,可在 dsh 里执行 /lead-mode 查看依赖状态。
再安装 dsh-lead-mode,任选一种来源:
dsh plugin --profile <your profile name> add dsh-lead-mode
dsh plugin --profile <your profile name> add https://github.com/xiebaiyuan/dsh-lead-mode
同样需重启 dsh,然后在新建会话的预设列表中选择 「Lead 模式」。
主机要求(package.json):Node >=20,dsh >=0.2.1-rc.2,dshTarget 为 0.2.1-rc.3。
典型用法¶
README 给出三步流程。
1. 切换到 Lead 模式。 在新会话预设里选「Lead 模式」。system prompt 第一段变为 Lead persona,其顶部的提醒一并生效。
2. 执行 /lead-mode 检查依赖。 该命令不做委派,只报告状态;缺什么会打印带版本 pin 的安装命令。
3. 让模型按 Lead 方式工作。 委派工具就绪时,模型会拆分、委派队友并在收齐结果后收尾;工具未就绪时,第一步应是提示你启用 Team runtime。
若需要可视化编队状态与通信,README 指向独立项目 dsh-context(作者 bowenliang123,Apache-2.0),安装示例:
dsh plugin --profile <your profile name> add dsh-context
它与本插件无捆绑关系,非本插件依赖;skill 文档中也会引导到该入口,避免 Lead 在对话里重复堆砌进度描述。
依赖与版本¶
本插件不自带下表包;由主机或你显式安装的官方 bundle 提供。缺失时行为见「When missing」列(摘自 README)。
| Package | Requirement | 缺失时 |
|---|---|---|
@deepseek-ai/dsh-experimental-agent-team-profile |
0.2.1-rc.3(需你显式安装) |
无法委派;/lead-mode 报错;启动 warn |
@deepseek-ai/dsh |
>=0.2.1-rc.2 |
无法安装插件 |
@deepseek-ai/cordis |
^4.0.5 |
无法安装插件 |
@deepseek-ai/schemastery |
^3.18.5 |
无法安装插件 |
@deepseek-ai/dsh-agent-preset-registry |
>=0.2.1-rc.2 |
预设不生效;/lead-mode 报 unknown |
@deepseek-ai/dsh-skill |
>=0.2.1-rc.2 |
skill 未注册;启动 warn |
@deepseek-ai/dsh-commands |
>=0.2.1-rc.2 |
/lead-mode 未注册;启动 warn |
适用场景与注意¶
适合已经在用或计划用 DSH 0.2.1-rc 线、并希望会话以 Lead 方式组织 Agent Teams 的开发者。插件以当前 dsh 进程的权限运行;安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,并自行确认 Team profile 版本与主机 dshTarget 一致。
社区插件目录(如 skillhub.cn)是独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,本条目属于社区维护的工作流类插件。
结尾¶
dsh-lead-mode 用预设、skill、/lead-mode 自检和缺 Team 时的双重提醒,把「拆任务—委派—验收」落到可操作的会话行为上,且与 standard 工具集对齐。更多说明见 GitHub README 与 skillhub 目录页。