在 DeepSeek Harness(DSH)的多 Agent 協作場景中,單個 Agent 長期運行容易產生上下文污染、陷入死循環或遺忘全局目標。dsh-meeting-coordinator 旨在爲這些長跑的 Agent 裝上「會議室」與「互相喚起」的能力,基於 dsh-std 元協議,提供持久化的多 Agent 協作方案。
核心概念:持久會議室與會籍¶
本插件的核心不是簡單的廣播,而是建立持久實體。
-
持久實體與會籍
會議室是持久存在的實體,不是每次開會臨時建立。會籍是權限邊界:只有加入會議室的會話才擁有「喚起會議」的權利,也纔有資格被他人喚起。未加入的會話既不能召集,也不會被誤召。 -
跨工作區與主動加入
成員可以跨工作區加入同一個會議室。會話必須主動加入會議室,入場時會預注入一段 Prompt,說明議題、在場成員及發言規則。會後,每個會話各自對會議進行壓縮,只保留與自己相關的內容,避免上下文污染。
狀態流轉與會話喚起¶
插件定義了 working、idle-waiting、done 三種狀態,並規定了明確的流轉邏輯。
-
入場機制
working狀態:正在輸出或調用工具的會話,先進awaiting-entry。宿主會在當前工作單元結束(如工具調用返回)時才允許其入場,不打斷正在進行的任務。idle-waiting/done狀態:沒有工作單元等待的會話,直接入場。
-
急停與還原
散會時,所有成員會還原到被召集之前的狀態。正在跑的繼續跑,等待回覆的繼續等,已完成的保持完成。插件提供了完整的急停機制閉環,確保會議結束後 Agent 不會因狀態錯亂而失效。
主持人控場與無上下文設計¶
爲了防止控場邏輯被其他 Agent 的上下文帶偏,插件採用了獨特的主持人設計。
- 無上下文主持人:主持人由召集者的模型擔任,但它沒有任何私有上下文。它只能看到羣聊記錄、成員名單以及誰還沒有說話。
- 控場權:主持人通過 JSON 格式的控制決定(如
invite或adjourn)來控場。如果解析失敗,會回退到安全輪轉模式,確保會議不會卡住。
工程約束與數據隔離¶
在實現層面,插件堅持幾個關鍵的不變量,以保證系統的穩定性。
-
拒絕截斷,硬預算限制
對於單次發言的字數,採用硬預算策略。如果字數超過限制,直接拒絕該次發言,而不是截斷。這避免了 Agent 以爲訴求已傳達但實際被截斷的隱患。 -
數據根獨立性
數據存儲根目錄默認不依賴進程的cwd(除非配置),避免因啓動目錄不同導致數據丟失或錯位。 -
隔離性
進會議室時,注入的是記憶的「限長投影」而非完整上下文。進會議室後,私有上下文在會話間不流動,確保每個 Agent 只看到與自己相關的部分。
使用方式¶
插件提供了幾個演示腳本,用於驗證核心機制。
pnpm run demo:room
pnpm run demo
pnpm run demo:briefing-exchange
狀態與依賴¶
- 依賴:基於
dsh-std元協議(Community v0.15)。 - 當前狀態:早期階段。核心機制已經跑通,測試覆蓋率爲 215 個,但尚未在真實生產場景中長時間運行。
- 許可:MIT。
該插件爲 DSH 生態中的多 Agent 協作提供了結構化的解決方案,適合需要持續協作且需嚴格控制上下文污染的場景。