在 DeepSeek Harness 的開發流程中,Agent 經常會在某些任務上陷入重複失敗,或者我們需要從成功的 Session 中提取經驗來指導後續工作。現有的流程往往缺乏對執行軌跡的本地沉澱與檢索能力。dsh-evolve 是一個運行在同一進程內的插件,它旨在解決這些問題。
核心功能¶
dsh-evolve 通過確定性信號識別重複錯誤、重複工具調用和無進展軌跡。它主要提供以下能力:
- 記錄與沉澱:記錄重複失敗、用戶糾正與成功路徑。
- 本地提煉:在 Session 結束後提煉本地 Experience,爲後續相似任務提供有界、臨時的經驗摘要。
- 後臺挖掘:可選地運行經驗側車在後臺挖掘 correction、successful-procedure 與 failure-pattern。
- 檢索過濾:經驗檢索按相關性、置信度和兼容性過濾,最多返回 3 條。
安裝與啓用¶
確保環境滿足先決條件:Node.js >= 22.19 和 pnpm 10。
先在 dsh-evolve 根目錄完成構建,然後把本地 checkout 加入目標 profile:
dsh plugin --profile <profile-name> add .
卸載時執行:
dsh plugin --profile <profile-name> remove dsh-evolve
配置¶
默認 bundle 使用 reset-v1:檢測到明確的卡住軌跡時,最多按 recipe 的冷卻與總量限制注入通用策略重置。若只想觀察,不注入,請在 profile 的後續 Cordis patch 中覆蓋爲:
- id: dsh-evolve
config:
recipe: baseline
Experience 挖掘側車只有在顯式提供 evolution 配置時才啓用。下面是最小的本地經驗配置:
- id: dsh-evolve
config:
evolution:
enabled: true
mining: true
routing: true
skillInjection: false
commons:
enabled: false
常用開關說明:
| 配置 | 默認值 | 作用 |
|---|---|---|
recipe |
reset-v1 |
baseline 只記錄;reset-v1 可注入策略重置。 |
evolution.enabled |
true |
啓用或關閉經驗側車。 |
evolution.mining |
true |
在 Session 結束後挖掘本地 Experience。 |
evolution.routing |
true |
記錄已激活 Skill 的任務匹配結果。 |
evolution.skillInjection |
false |
僅在已激活 Skill 場景下允許注入其說明。 |
evolution.commons.enabled |
false |
啓用 Commons 緩存同步;不會自動信任或激活遠端內容。 |
日常使用與診斷¶
插件裝載後無需每個任務手動操作。它在 Session 結束後將數據寫到 DSH evolve 根目錄(默認由 DSH_HOME/用戶目錄解析;也可通過 storageRoot 覆蓋)。可用 CLI 檢查本地狀態:
dsh-evolve status
dsh-evolve experience list
dsh-evolve mutations list
dsh-evolve audit --all
dsh-evolve benchmark
適用場景與注意¶
- 運行環境:插件與 DSH 運行在同一進程內,不是安全沙箱,請只安裝可信插件。
- 權限邊界:它不會自動讀取憑據、關閉 Sandbox、繞過 Approval、安裝第三方插件、執行社區代碼或上傳原始 Session。
- 數據安全:普通 Experience 默認只保存、檢索和臨時提供;只有顯式 Skill 蒸餾和用戶確認才能產生或激活 Skill。任務結束後不保留爲常駐上下文。原始 Session、Prompt、工具輸出和本地數據不會自動上傳。
總結¶
dsh-evolve 是一個專注於本地執行經驗沉澱與檢索的 DSH 插件。它通過確定性信號識別問題,並在 Session 結束後提供有界、臨時的經驗摘要,幫助開發者優化 Agent 的執行策略。
本插件遵循 MIT 許可證。源碼位於 GitHub。相關詳情可參考 SkillHub 插件目錄。