前言¶
DeepSeek Harness 插件 dsh-deadend 是一個爲編碼智能體設計的“反駁賬本”。它解決的問題是:智能體在每次會話中重複嘗試已知失敗的方案,因爲現有的記憶系統通常只記錄“什麼有效”,很少記錄“什麼無效”。dsh-deadend 將“試過且走不通”的方案記入倉庫,並在下一次嘗試前進行驗證。
核心功能¶
該插件主要包含以下能力:
- 錨點追蹤:每條記錄都攜帶錨點(文件哈希)。當記錄中依賴的代碼發生變化時,該記錄會自動失效。
- 自動過期:錨點未變時,記錄保持“權威”狀態;錨點改變時,自動降級爲“懷疑”狀態。
- 命令規範化:日誌哈希時會忽略行號、路徑、時間戳等噪音,確保跨會話、跨機器的失敗模式能被正確識別。
- 退出碼:提供標準化的退出碼用於 CI 流程:3(被攔截/權威失敗)、4(懷疑/需複測)、5(拒絕記錄)。
- 倉庫賬本:數據存儲在倉庫的
.deadend/ledger.jsonl中,而非本地緩存,支持多人協作與歷史追溯。 - 可合併性:基於內容生成的身份(ID)支持去重與合併。
安裝與啓用¶
安裝該插件需要 DeepSeek Harness 環境及 Node.js >= 20。安裝過程無需構建步驟。
dsh plugin --profile web add github:liyixuan201211/dsh-deadend
典型用法¶
使用前應確保環境滿足要求。插件提供 check、record、verify 等命令。
檢查已知失敗:
在執行昂貴的操作前,先檢查是否已有權威的失敗記錄。
deadend check --cmd "npm install sharp" --log /tmp/last-install.log
記錄失敗:
記錄一個失敗案例,並指定其錨點文件。
deadend record --title "npm install sharp fails: no prebuilt binary for darwin-arm64" --cmd "npm install sharp" --exit 1 --log /tmp/last-install.log --why "sharp ships prebuilt binaries and publishes none for this platform/arch" --retry "npm rebuild sharp --build-from-source (needs libvips)" --anchor package.json --anchor package-lock.json --evidence /tmp/last-install.log --tag native
驗證結果:
當懷疑記錄可能不再適用時,進行驗證。
deadend verify dd_50e127c7d9c5 --still-fails --log <new-output>
注意事項¶
- 未錨定條目:如果不指定錨點(
--unanchored),記錄將永久阻塞,不會自動過期。 - 存儲位置:賬本位於倉庫目錄下,而非機器緩存,確保了數據的可共享性與可審查性。
- 依賴要求:需確保運行環境安裝了 Node.js 版本 >= 20。
總結¶
dsh-deadend 通過引入“錨點”機制,解決了負面知識難以自動失效的問題。它將失敗經驗固化爲倉庫資產,確保智能體不會在已知的錯誤路徑上無限重試。