dsh-subagent-error-details:傳遞子智能體失敗詳情

在 DeepSeek Harness (DSH) 中,當後臺子智能體中途失敗時(例如遭遇模型 API 429 速率限制),核心生成的通知通常會丟棄具體原因。它僅顯示通用的失敗描述,隨後是空白內容。真正的錯誤被記錄在子智能體會話的終端 turn/end 事件中,但未被傳遞給父智能體。此插件監聽該事件,通過會話存儲讀取詳情,並將具體的失敗原因路由回父智能體。

插件定位

  • 名稱:dsh-subagent-error-details
  • 類型:DSH 插件
  • 維護者:sijie-ni-0214
  • 核心價值:當後臺子智能體失敗時,將具體的失敗原因(如 RATE_LIMIT 429)傳遞給父智能體,而非僅顯示通用通知。

核心功能

  1. 監聽事件:監聽公開的 subagent/end 事件。
  2. 解析詳情:在 stopReason === "error" 時,通過 sessionPersistence.load() 解析子智能體會話的終端 turn/end 失敗詳情。
  3. 路由回傳:利用子智能體會話頭的 parentSession 和代理註冊表,將真實錯誤詳情路由回擁有該子智能體的父智能體。
  4. 附加消息:向父智能體發送附帶消息,展示具體錯誤信息(例如 RATE_LIMIT: 429 Rate limit exceeded)。

安裝與啓用

插件通過包管理器安裝,掛載到 DSH 配置中。安裝後需重啓 DSH 生效。

官方安裝命令(適用於所有智能體預設):

dsh plugin --profile web add dsh-subagent-error-details

本地開發安裝(從本地路徑):

cd ~/.dsh/profiles/web
pnpm add file:/path/to/dsh-subagent-error-details

典型用法與輸出

安裝並重啓 DSH 後,當後臺子智能體因速率限制失敗時,父智能體將收到包含具體原因的附帶消息:

Subagent <id> failed with: RATE_LIMIT: 429 Rate limit exceeded for api_key ... Limit resets at ...

適用場景與注意

  • 版本依賴:需要 dsh.engines.dsh: >=0.1.1-rc.2 <0.2。
  • 數據讀取:持久化讀取依賴於會話檢查點策略已刷新 turn/end 事件。
  • 通知文本:官方通知文本由核心生成,保持不變;此插件僅添加附帶消息。
  • 一次性運行:無會話記錄的一次性進程內運行,僅能報告 stopReason,無法獲取詳情。
  • 依賴:插件具有零運行時依賴,僅作爲開發依賴引入類型定義。

總結

該插件解決了 DSH 中後臺子智能體失敗信息丟失的問題,通過監聽事件鏈並讀取會話持久化存儲,將真實的錯誤原因反饋給父智能體。目前依賴上游 DSH 版本 0.1.1-rc.2 以上。

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

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

小夜