在 DeepSeek Harness (DSH) 的日常開發中,任務失敗是常態。面對 Agent 的報錯,開發者需要快速定位原因、獲取證據,並制定安全的下一步行動。直接閱讀原始日誌往往信息冗餘且包含敏感數據,這會降低排錯效率。
dsh-postmortem 旨在解決上述問題。它讀取已有的 DSH session 事件,在幾秒內生成一份脫敏的恢復計劃。作爲本地優先、只讀模式的插件,它無需依賴模型即可提供基礎復盤能力。
核心能力¶
該插件專注於提供可落地的故障分析與恢復建議。
- 生成脫敏的恢復計劃:回答三個核心問題——哪裏失敗、證據是什麼、下一次嘗試前應檢查什麼。輸出中不包含用戶消息、工具參數、輸出、文件、提示詞、憑據或原始軌跡。
- 本地優先與只讀:所有分析基於本地已有的 Session 事件,不聲稱任務成功,完全依賴項目現有的驗證器來判定任務狀態。
- 智能故障檢測:能夠區分終止狀態與因果證據,區分 Agent 的完成文本與任務成功;檢測重複失敗(如三次及以上未變更的失敗調用);識別並報告用戶取消操作。
安裝與配置¶
安裝該插件到指定的 DSH profile,系統會自動註冊其 bundle 層。安裝完成後重啓 profile,即可在失敗後使用相關命令。
dsh plugin --profile <profile-name> add @huichangzz/dsh-postmortem
若要啓用可選的模型復盤層(用於更復雜的分析),需在 cordis.patch.yml 中添加配置覆蓋項。該模型層複用 DSH 已配置的 llm 服務,若模型不可用,確定性報告依然可用。
- id: postmortem
config:
model:
enabled: true
provider: your-provider
model: your-model
timeoutMs: 10000
典型用法¶
安裝並重啓 profile 後,可通過以下命令進行復盤:
- 查看失敗詳情與證據:執行
/postmortem。它會列出發現的問題,區分開放輪次的實時狀態與已結束輪次,並提供重試前的檢查建議。 - 獲取簡潔的恢復路線:執行
/postmortem-next。它會顯示主問題、首個驗證步驟,以及一條安全的下一步命令。它不會把 Agent 的完成文本當作任務成功。 - 創建新的恢復會話:執行
/postmortem-recover。它會基於脫敏交接顯式創建一個新的、帶父 session 關係的 DSH agent,絕不會將失敗的 transcript 注入到新會話中。 - 導出 JSON 建議供外部使用:執行
/postmortem-plan。它會導出 schema-v1 格式的動作建議,包含證據類別、建議動作與驗證步驟,僅用於複製,本包不會執行這些動作。
兼容性與注意事項¶
- 兼容性:目標兼容 DSH
0.1.1-rc.2和 Cordis4.0.1。插件以公開 session event 詞彙表作爲兼容性邊界。 - Headless 模式:Headless collectors 可能會影響
tool/call字段。 - 配置與安全:插件不配置也不存儲任何密鑰。
autoOnFailure默認爲detected,即只打印可行動的已檢測故障。
dsh-postmortem 將複雜的失敗日誌轉化爲結構化、脫敏的恢復指南,幫助開發者從“看日誌”轉向“解決問題”。更多細節與源碼請參考項目主頁。