前言¶
在 DeepSeek Harness(DSH)里用 subagent 或 subagent_fork 派生子智能体时,子进程一旦调用 send_message 或完成结算,消息往往会切入当前正在执行的主回合,打断主会话的思路。若主会话正在做长任务,而子智能体只是在采集数据或跑脚本,更理想的做法是:主回合先做完自己的事,子智能体的结果在下一回合再以可读气泡形式出现。DSH 社区插件 dsh-quiet-subagents(维护者 Twens03,分类:工作流)针对的就是这一调度问题:它不改造子智能体本身,只改变直接子智能体消息何时投递。
这是什么¶
dsh-quiet-subagents 是面向 DeepSeek Harness 的工作流插件。简介可概括为:会话级、需手动开启、一次性生效的「静默模式」,面向直接子智能体;主会话先完成当前工作,子智能体结果在下一回合处理。
静默模式开启后,子智能体的 send_message 与完成通知不会 steer 进正在运行的主回合,而是暂存在 Web 输入框上方的 QueueDock,在下一回合合并成一条人类可读气泡投递。Agent Teams 的 team-message 与普通用户消息不受影响。
核心功能¶
以下能力均来自插件 README 与 package.json 说明,当前发布版本 v0.2.1,要求 DSH >= 0.2.1-rc.2,许可证 MIT。插件为纯 ESM JavaScript,无构建步骤;仅处理本地 DSH 事件,默认无网络请求与遥测。
- 按会话生效:只有手动开启静默的主会话受影响。
- 手动开启且一次性:须显式 arm;投递完成后自动 disarm(时机可配置)。
- 仅直接子智能体:配合
subagent/subagent_fork;不改动 Agent Teams 与普通用户消息路径。 - 默认每个孩子一条气泡:消息与完成通知合并为一条 QueueDock 项,结算时在原位置刷新。
- 气泡标题可读:默认
humanize=true,标题不含子 UUID;调试时可设为false保留原始运行时文本。 - 可配置自动关闭:在气泡被领取时关闭,或在主会话回复后再关闭。
- 三种结算投递模式:
coalesce(默认合并)、always、never(有消息时不单独发完成气泡)。 - 插件详情页设置卡片:在 Plugins 页面配置,无需改 YAML。
- 可选 JSONL 日志:通过
logFile写事件证据,便于排查。
安装与启用¶
插件目前通过 GitHub 分发,而非 npm。安装前请自行查看仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行,只应安装你信任的来源。
在运行 DSH 的机器上,桌面 profile 安装命令为:
dsh plugin --profile desktop add github:Twens03/dsh-quiet-subagents
若要在 Web 应用中使用,需对 web profile 单独安装(DSH 插件按 profile 隔离):
dsh plugin --profile web add github:Twens03/dsh-quiet-subagents
固定到某次提交时,在仓库名后加 #<commit-sha>。也可从 GitHub Releases 下载 ZIP,在 DSH Web 的 Plugins 里通过 Add plugin 安装解压目录,启用后重启 DSH,并在插件详情中确认出现 Quiet subagents 设置卡片。
若 DSH 未自动把包加入 bundle 列表,需在 profile 的 dsh.profile.bundles 中加入 "dsh-quiet-subagents" 并重启。插件不自动更新,升级需替换安装目录或重新执行 add 命令后重启。
Node 版本需满足 package.json 中 engines.node:^22.19 || >=24。
典型用法¶
在主会话中按顺序操作即可复现 README 中的 Quick start。
- 开启静默模式,在主会话输入:
quiet_on
- 启动直接子智能体,让其自行工作并在需要时
send_message。 - 继续主回合自己的工作,不要轮询、sleep 或专门读子日志来等子进程。
- 主回合工作结束后正常结束该回合。
- 下一回合,子智能体结果以 QueueDock 气泡或常规投递消息出现。
- 该次子交互投递后,静默模式会自动 disarm。
提前结束静默:
quiet_off
查看状态(默认不暴露子 UUID):
quiet_status
需要强调:静默投递是异步的,目的不是让主回合同步等待子智能体。若必须在同一回合内用到子结果,不应使用本插件,应让原生消息 steer 进来,或使用 Agent Teams 的 spawn_teammate + wait_agent。quiet_off 不会加速已排队气泡,只停止后续静默处理。
配置说明¶
打开 Plugins → dsh-quiet-subagents,在设置卡片中修改项;保存到 profile 后需重启 DSH 生效。常用项如下(默认值以 README 为准):
| 配置项 | 默认 | 含义概要 |
|---|---|---|
enabled |
true |
false 时关闭全部 hook 与工具 |
onlyCompleted |
true |
失败或中止的结算是否直通 |
autoOff |
delivered |
delivered:气泡被领取即 disarm;replied:投递后等主会话 turn-stopping 再 disarm |
ttlTurns |
3 |
arm 后若无子消息,若干回合后 fallback 关闭 |
settledDelivery |
coalesce |
coalesce / always / never |
humanize |
true |
false 保留含 child id 的原始文本 |
language |
auto |
auto / zh / en |
debug |
false |
是否镜像事件到 DSH 日志 |
logFile |
未设置 | 可选 JSONL 路径 |
适用场景与注意¶
适合在以下情况使用(与 README 一致):
- 主会话做长任务,子智能体仅采集数据或执行脚本;
- 不希望子智能体中间消息打断当前回合的模型流;
- 子结果可以在主回合结束后再处理。
DSH 的 agent 与 queue 界面仍在演进,大版本升级后建议重新走一遍静默流程。README 注明在 0.2.1-rc.2 上开发与 GUI 测试;0.2.1-rc.3 未改动本插件集成点,升级后仍建议做一次快速回归。
社区目录 SkillHub 插件页 与 GitHub 仓库相互独立引用同一开源项目;SkillHub 并非 DeepSeek / 幻方官方应用商店,安装与配置以仓库 README 为准。
结尾¶
dsh-quiet-subagents 用会话级、手动、一次性的静默模式,把直接子智能体的消息延后到下一回合,减少长任务主会话被打断。安装、命令与配置均可在官方 README 核对。
- 目录页:https://www.skillhub.cn/plugins/Twens03/dsh-quiet-subagents
- GitHub:https://github.com/Twens03/dsh-quiet-subagents