dsh-quiet-subagents:主會話靜默接收子智能體消息

前言

在 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。

  1. 開啓靜默模式,在主會話輸入:
quiet_on
  1. 啓動直接子智能體,讓其自行工作並在需要時 send_message。
  2. 繼續主回合自己的工作,不要輪詢、sleep 或專門讀子日誌來等子進程。
  3. 主回合工作結束後正常結束該回合。
  4. 下一回合,子智能體結果以 QueueDock 氣泡或常規投遞消息出現。
  5. 該次子交互投遞後,靜默模式會自動 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜