前言¶
在 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