前言¶
在 DSH 工作流中,當子代理因輸出 Token 不足(max-tokens)而終止時,運行會將 stopReason 設爲 ‘max-tokens’ 並停止。此時父代理需要手動決定並恢復該子任務。dsh-subagent-watchdog 針對這一具體場景,通過官方接口自動執行一次恢復。
它是什麼¶
這是一個 DSH 插件,用於自動恢復以明確的 max-tokens 終止的原生可續子代理。插件在恢復一次後會停止干預,不包含循環或定時器。
- 所有者: quaner1234-cmd
- 類別: 工作流
- 許可證: MIT
核心功能¶
插件通過官方 DSH 接口實現以下能力:
- 自動恢復: 檢測到子代理以
max-tokens終止時,自動執行一次續接。 - 確定性判斷: 依賴持久化會話 ID 和日誌進行判斷,確保邏輯確定。
- 單次保證: 保證每個子任務最多恢復一次,不包含循環或定時器。
- 無外部依賴: 無需構建步驟,依賴 Node >= 20。
- 接口使用: 通過官方
sessions.flush和subagents.followup接口實現。
安裝與啓用¶
通過 DSH 插件路徑安裝:
dsh plugin --profile <profile> add dsh-subagent-watchdog
該包聲明瞭 dsh.bundle.patch,dsh plugin add 會自動將其集成到配置堆棧中。
典型用法¶
- 觸發恢復: 當子代理因輸出 Token 不足(
max-tokens)終止時,插件自動檢測。 - 執行續接: 插件通過官方接口執行一次續接,恢復後的運行正常完成。
- 停止干預: 續接完成後插件停止干預。
- 手動處理: 若再次失敗,插件通知父代理並提供手動選項(如
send_message、interrupt_agent等)。
適用場景與注意¶
- 兼容性: 僅支持
@deepseek-ai/dsh0.1.1-rc.2,無其他兼容性聲明或測試。 - 依賴機制: 依賴
dsh.bundle.patch機制。 - 運行權限: 插件以當前 dsh 進程權限運行。
- 風險提示: 安裝前應檢查源碼與許可證。
總結¶
該插件通過一次恢復機制,減少了原生可續子代理在 max-tokens 終止時的手動干預成本。