what-sub-agents-doing-now:把子代理自寫的進度回傳給父代理

前言

在 DeepSeek Harness(DSH)裏用 subagent 或 subagent_fork 派後臺子代理時,父代理常用的 list_agents 往往只返回 lead 自己,子進程不在 Agent Teams 的 roster 裏。父模型容易誤判「子代理丟了」而重複委派,而子代理其實仍在跑。即便 spawn_teammate 創建的 teammate 能被 list_agents 看到,接口通常也只給 running / inactive 這類粗粒度狀態,分不清「幹完了」「卡死」「在等子任務」還是「429 額度失敗」。session 裏本來就有子代理每一步的旁白,但官方沒有隻讀工具把它彙總給父代理用。

下面介紹社區插件 what-sub-agents-doing-now(維護者 REALOIYO,分類:工作流)。它從 subagent 自己的登記目錄讀取信息,以只讀、不遮蔽(non-shadowing)方式暴露步數、最後工具、空閒時間與子代理自述進度,裝完即用,無需改配置或提示詞。

這是什麼

what-sub-agents-doing-now 是 MIT 許可的 DSH 插件(package 名 what-sub-agents-doing-now,當前資料中版本 0.2.2,要求 dsh >= 0.2.1-rc.1、Node >= 22)。定位一句話:看到每個子代理此刻在幹什麼——回傳它自己寫的進度,而不只是 running/inactive。

與 list_agents 查 Agent Teams roster 不同,本插件讀 subagent 目錄裏登記的那批子代理,因此 subagent / subagent_fork 派出的子代理也能被看見,並附帶比二值狀態更細的現場信息。

它解決的具體問題

子代理不在 list_agents 裏

DSH 有多條派活路徑:subagent、subagent_fork、spawn_teammate、workflow、ralph 等。只有 spawn_teammate 創建的 teammate 會出現在 list_agents。 用 subagent / subagent_fork 時,典型返回只有父代理一行,例如:

[{"target":"lead","role":"lead","status":"running"}]

父代理缺少可見性,可能重複派活。本插件從另一套登記集合讀取,能列出例如多個子代理 ID、運行/空閒狀態與任務標題。

看得見之後,粒度仍不夠

即便 teammate 能被 list_agents 列出,狀態往往仍收斂爲 running 或 inactive。inactive 同時覆蓋「正常結束」「崩潰」「卡在半句話」「在等自己的子代理」等情況,父代理只能輪詢或猜測。本插件在 README 中給出的對比示例裏,what_subagents_are_doing 一類輸出會包含步數、最後調用的工具、idle 秒數以及子代理寫的要點,例如「11 steps, last tool: read, idle 0s」和「讀完 14 頁,發現 3 處數值和正文對不上,正在逐條覈對」。

覆蓋範圍(以 README 爲準)

派活方式 list_agents 本插件
spawn_teammate 可見,但多爲狀態詞 可見,含步數與旁白
subagent 不可見 可見
subagent_fork 不可見 可見
workflow 的 agent() 不可見 未實測
ralph 的每輪 不可見 未實測

README 寫明:spawn_teammate、subagent、subagent_fork 在真實會話中驗證過;workflow 與 ralph 在代碼路徑上經 subagents.startActivation 登記,尚未端到端實測。

插件不修改上游行爲:進度數據已在 session 中存在,插件只是只讀投影給父代理使用。DSH 官方 Discussions 中有多條與「父代理看不見子代理真實狀態」相關的討論(如 #6216、#10770、#5360 等),截至 README 撰寫時仍無官方等價接口;本插件屬於社區側補齊觀測能力,非 DeepSeek / 幻方官方應用;目錄頁在 skillhub.cn,與 Harness 主倉庫無官方從屬關係。

核心功能(已覈實)

  1. 列出 subagent / subagent_fork 等路徑創建的子代理,彌補 list_agents 的 roster 盲區(對 teammate 仍提供更細進度)。
  2. 展示運行狀態、步數、最後工具名、idle 時間,並 surface 子代理 session 裏自寫的進度旁白(README 示例中的 bullet 行)。
  3. 只讀、non-shadowing:不替換或遮蔽 Harness 自帶工具,父代理在需要時調用插件提供的觀測能力即可。
  4. 零配置:README 明確「裝上就用,不用改配置、不用寫提示詞」。

安裝與啓用

插件以當前 DSH 進程的權限運行;安裝前建議自行查看 GitHub 倉庫 源碼與 MIT 許可證。

方式一:桌面端(推薦,帶事務回滾)

README 說明插件管理器支持事務回滾,是資料中唯一強調帶安全網的安裝路徑。

  1. 打開 設置 → 插件
  2. 點擊 添加插件
  3. 在「包名或地址」粘貼倉庫地址:
https://github.com/REALOIYO/what-sub-agents-doing-now
  1. 確認安裝,裝完後重啓 DSH

方式二:命令行

將 <profile> 換成你使用的 profile 名:

dsh plugin --profile <profile> add what-sub-agents-doing-now
dsh plugin --profile <profile> add link:/path/to/what-sub-agents-doing-now

README 註明:只有 link: 能配合 dsh-hmr 熱重載;file: 爲真實拷貝,改代碼後需重啓 DSH。

典型用法

安裝並重啓後,父代理在編排多子代理任務時,用插件暴露的工具(README 示例中對比 list_agents 與 what_subagents_are_doing 的輸出)查看現場,而不是僅依賴:

// list_agents / before — 子代理不在列表中
[{"target":"lead","role":"lead","status":"running"}]

期望看到的是類似 README 中的聚合視圖(ID 前綴、狀態、任務標題、步數與最後工具、子代理自述):

b147d0d8 [running] — 覈對第三章數據表
    11 steps, last tool: read, idle 0s
    • 讀完 14 頁,發現 3 處數值和正文對不上,正在逐條覈對。

典型場景:並行委派多個 subagent 做檢索、覈對、整理;父代理在 join 或決定是否重派之前,先確認某個子代理仍在推進而非靜默失敗,避免 duplicate delegation。

適用場景與注意

適合誰: 在 DSH 裏頻繁用 subagent / subagent_fork(或已驗證的 spawn_teammate)做多智能體編排、又需要父模型「看見進度敘述」而不是猜 inactive 含義的開發者。

注意:

  • workflow、ralph 路徑 README 標註爲未實測,生產環境請先小規模驗證。
  • 觀測能力依賴 Harness 內部登記與 session 投影實現;DSH 大版本升級後應迴歸測試。
  • 社區插件星標(目錄頁資料:2 stars)不代表官方背書;問題反饋可走倉庫 Issues。

結尾

what-sub-agents-doing-now 把子代理已寫入 session 的進度旁白和運行元數據讀出來,專門補上「父代理看不見 subagent 子樹」和「狀態只有 running/inactive」這兩塊缺口,且只讀、不遮蔽上游工具。

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

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

小夜