steer_subagent:向後臺子 agent 的當前輪插入指示

在 DeepSeek Harness (DSH) 的開發實踐中,當主 agent 派出一個後臺子 agent 處理耗時任務時,默認的 send_message 行爲是將指令放入隊列,等待子 agent 完成當前輪次甚至後續輪次。如果需要在中途干預、糾偏或下達新指令,只能等待或終止任務。這就需要一個能直接介入子 agent 當前輪次的機制。

steer_subagent 是由 Momojie-S 開發的一個 DSH 插件,它向後臺子 agent 的當前輪(step-boundary)插入新指示,或強制重啓當前輪。它不改變 send_message 的默認排隊行爲,而是提供了一種更精細的干預手段。

核心功能

該插件爲模型提供 steer_subagent 工具,支持以下行爲:

  1. 插話模式(默認):子 agent 完成當前步驟後,立即讀取並執行新指示,已完成的步驟保留,剩餘步驟按新指示走。
  2. 打斷模式:調用 steer_subagent 時指定 mode: "turn",子 agent 會立即停止當前輪次,新指示作爲全新一輪開始。
  3. 保留步驟:無論是插話還是打斷,已完成的步驟均不回滾。
  4. 權限限制:僅允許父 agent 插話自己的直接後臺子 agent,更深層後代仍需通過 interrupt_agent 處理。
  5. 離線回退:目標子 agent 不在線時,自動走與 send_message 相同的喚醒/冷恢復路徑,FIFO 順序不變。

安裝與配置

確保 DSH 版本滿足要求(>= 0.1.0-rc.7,已驗證至 0.1.1-rc.2),執行安裝命令:

dsh plugin --profile web add github:Momojie-S/dsh-subagent-steer

安裝後,可以通過修改 cordis.patch.yml 覆蓋配置項 toolName(默認爲 steer_subagent)來調整模型可見的工具名。

典型用法

在主 agent 派出慢速後臺子 agent 的場景中,可以在其運行中途插入指示。例如,讓子 agent 從 1 數到 12,每步等 4 秒,在數到 3 左右時插入指示:

steer_subagent subagent_id: <id>
  message: 當前步完成後立即停止計數,彙報你完成到第幾步,並逐字引述本條指示

驗證結果應顯示子 agent 停在第 3 步左右,引述了指示,且剩餘的 4~12 步未執行。

適用場景與注意事項

該插件適合需要精細控制執行流或在中途進行糾偏的場景。但在使用前需注意以下事實:

  • 版本兼容性:插件依賴 ctx.subagents.followup 服務。DSH 0.1.2-rc.1+ 已移除該服務,且官方 send_message 已原生覆蓋同等能力。因此,該插件已於 2026-09-05 標記爲已廢棄,在 0.1.2-rc.1+ 環境中不可用。
  • 運行環境:插件僅運行在 host 半部,無瀏覽器資源,支持 Windows/Linux。
  • 一次性子 agent:如果一次性子 agent 在讀到插話指令前就已跑完任務,插話會隨收件箱清理被丟棄,無法生效。
  • 安全性:插件爲 MIT 許可證,請自行審查源碼後再部署。

該工具通過 steer_subagent 實現了對後臺子 agent 的即時干預,適合需要精細控制執行流或中途糾偏的場景。由於已廢棄,建議在新環境中直接評估官方 send_message 的能力或尋找替代方案。詳見 GitHub。

羽毛球分组比赛记分
小程序二维码

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

小夜