前言¶
在 DeepSeek Harness 的 goal-mode 中,父代理可能在一個 goal 還活躍時,委託多個後臺子代理去執行 review 或輔助任務。問題在於:父代理可以在子代理仍在運行時調用 update_goal(action=complete),而子代理的結果隨後才返回,導致這些結果來不及影響已經完成的 goal。
dsh-goal-quiescence 針對這個場景提供一個 completion evidence gate。它不替代 Harness goal mode,也不負責調度、取消或重試子代理;它約束的是 goal 完成動作本身:在觀察到需要處理的子代理運行結束,並且父代理已經讀取過終態輸出之前,拒絕把 goal 標記爲完成。
這是什麼¶
dsh-goal-quiescence 是 DeepSeek Harness 的社區插件,定位是 goal-mode 子代理的完成證據門禁。
維護者是 1052326311,許可證爲 MIT。它解決的問題是:父代理不應在子代理證據仍然 running,或尚未顯式返回給 goal agent 時,直接完成 goal。
核心能力¶
下面介紹它具體約束的內容。
1、記錄子代理生命週期。
對插件加載後、在 active goal 下觀察到的子代理運行,插件記錄公開的 subagent/start 和 subagent/end lifecycle pair。
2、阻止過早完成。
在上述子代理運行尚未 settle 之前,插件會拒絕:
update_goal(action=complete)
3、要求父代理確認終態輸出。
對於每個已經 settle 的運行,goal agent 需要調用:
goal_quiescence_ack
該工具會返回對應運行的 terminal assistant output,並把它作爲工具結果返回給父代理當前上下文。
4、查詢仍阻塞完成的運行。
可以調用:
goal_quiescence_status
它會返回一個 bounded list,列出仍然阻塞 goal 完成的運行。
5、邊界明確。
該插件不會:
- 調度子代理
- 取消子代理
- 重試子代理
- 替代 Harness goal mode
安裝與啓用¶
運行環境要求:
Node.js >=22.19.0
插件需要 Web profile 提供的正常 Harness 服務:
goal
subagent
tools
安裝時使用本地打包的 tarball:
pnpm install
pnpm pack
dsh plugin --profile web add ./dsh-goal-quiescence-<version>.tgz
先執行 pnpm install 安裝依賴,再執行 pnpm pack 生成本地插件包,最後通過 dsh plugin --profile web add 將插件加入 Web profile。文件名中的 <version> 需要與打包產物保持一致。
典型用法¶
下面的流程適合在 goal-mode 下使用。
1、正常推進 goal。
在 goal mode 中正常工作,並按需要委託 background reviews。
2、處理完成被拒絕的情況。
如果調用 update_goal(action=complete) 被拒絕,先調用:
goal_quiescence_status
查看哪些運行仍阻塞完成。
3、等待運行結束。
等待每個仍處於 running 狀態的 run settle。
4、讀取終態輸出。
對 goal_quiescence_status 返回的每個 runId,調用:
goal_quiescence_ack
然後檢查它返回的 terminal output。
5、處理問題並完成 goal。
如果終態輸出中報告了需要處理的問題,先解決問題;處理完成後,再調用:
update_goal(action=complete)
適用場景與注意¶
適合場景:
- 在 goal-mode 中使用子代理執行後臺任務
- 希望在完成 goal 前確認子代理已經 settle
- 希望把子代理的 terminal assistant output 顯式讀回到父代理上下文
- 不希望插件自動調度、取消或重試子代理
注意事項:
- 這是一個 process-local lifecycle policy。
- 它覆蓋插件加載後開始的子代理運行。
- 它覆蓋通過 model-facing
update_goaltool 發起的完成嘗試。 - 直接 service calls、進程重啓,或者插件啓用前已經開始的 child run,不在它的可觀察邊界內。
- 它不宣稱自己是 atomic core transaction。若需要端到端原子保證,需要 core lifecycle permit。
- 插件以當前 dsh 進程權限運行。安裝前應檢查 GitHub 倉庫源碼和 MIT 許可證,避免引入未審查的社區插件包。
結尾¶
dsh-goal-quiescence 的價值不在於增加子代理執行能力,而在於把 goal 完成動作和子代理證據讀取綁定在一起:完成前,先確認運行已結束;確認時,必須把終態輸出帶回父代理上下文。
目錄頁:
https://www.skillhub.cn/plugins/1052326311/dsh-goal-quiescence
GitHub 倉庫:
https://github.com/1052326311/dsh-goal-quiescence