前言¶
在 DeepSeek Harness(DSH)裏跑智能體,常見情況是:某次會話裏踩過的坑、總結出的流程、值得複用的記憶,下一輪會話並不會自動帶上。靠人工複製粘貼到 profile 或 SKILL.md,能工作,但缺少版本、審計和可逆回滾;一旦模型在對話裏「提議」寫入某條規則,也很難用代碼保證格式、範圍和晉升策略。
下面介紹 dsh-continual-evolve(維護者 ZK-Andy,GitHub 倉庫 ZK-Andy/dsh-continual-evolve)。它在 DSH 上增加一層持續自進化狀態:prompt notes、memories、skills、subagent specs 等,從 session trajectory 中提煉,並帶版本、審計與確定性回滾;全局變更還可經 benchmark 評分後再決定是否接受。README 中的設計原則是「The model proposes, the code guarantees」——模式校驗、原子寫入、快照、版本、審計與接受決策由代碼執行,而非依賴 prompt 自律。
這是什麼¶
dsh-continual-evolve 是 DSH 生態中的工作流類插件(SkillHub 分類:工作流;當前 npm 版本 v0.5.0)。許可證 MIT,Node 要求 ^22.19.0 || >=24.0.0。它把智能體跨會話可複用的經驗變成一等狀態:會話內有 local scope,跨會話有 global scope 及合併語義;全局寫入需人工批准,並通過代碼側的晉升守衛過濾項目路徑、過短內容、近重複條目。
狀態默認落在 DSH home 下的 evolve/ 目錄(可通過 baseDir 配置)。安裝或更新後需重啓 dsh web。
核心功能¶
沉澱與守衛¶
- Sediment(沉澱):模型通過工具
evolve_add創建條目;若開啓autoReview,自動 review gate 會按 turn 間隔與 compaction 檢查點從 trajectory 提議條目。 - Guard(守衛):代碼校驗編輯 schema、影響範圍與 scope 一致性,並執行晉升策略。全局創建時若與已有條目相似度 ≥0.8 會在寫入時被拒絕;中等重疊會附帶
conflictHint,供後續/evolve consolidate處理。 - Approve(批准):
requireGlobalApproval默認爲true,全局寫入需顯式人工批准;local 條目的 fate(晉升/歸檔/保留)由 gate 提議,經諮詢後落地,不會靜默修改。
注入與存儲形態¶
批准並原子應用後,會生成快照與審計事件。prompt notes 與 delegation specs 按相關性排序注入 system prompt(每類最多 6 條、每條 ≤180 字符);memories 與 skills 以目錄索引形式出現([kind:id] title,默認最多 15 行,超出摺疊爲計數)。完整正文通過 evolve_list 讀取。空 store 時不注入 token。
skills 條目可物化爲 <dshHome>/skills 下的 SKILL.md bundle;/evolve mount 可將可執行 skill 熱掛載爲 live plugin。
驗證、回滾與倉庫衛生¶
- Benchmark 循環:候選 refinement 在凍結用例上由獨立 scorer 評分,rubric 靜態加密存儲(
rubricKey/ 環境變量DSH_EVOLVE_RUBRIC_KEY)。拒絕時autoRollbackOnReject默認爲true,按已應用結果生成逆編輯,確定性回滾,不依賴 LLM 重猜。 - Consolidate:
/evolve consolidate將寫入時的 conflict hint 與零使用的陳舊全局條目彙總爲一批可批准、可完全逆轉的歸檔操作。
模型工具與會話命令¶
模型側工具:evolve_list、evolve_add、evolve_update、evolve_delete、evolve_rollback。
會話內 /evolve 系列命令覆蓋查看、歷史、回滾、規劃、wrapup、歸檔/降級、合併、失敗彙總、日誌、導入導出、mount、goal 驅動自動 review、benchmark 用例生命週期等(詳見下文用法表)。
安裝與啓用¶
官方安裝方式(README 與 SkillHub 目錄一致):
# 從 npm 安裝(自帶 bundle patch,安裝即激活)
dsh plugin add dsh-continual-evolve
# 或從 GitHub 源碼安裝(首次需批准 allowBuilds 步驟)
dsh plugin add ZK-Andy/dsh-continual-evolve
安裝或更新後重啓 dsh web。
在 profile 中可按需打開自動 review,例如:
- id: continual-evolve
config:
autoReview: true
reviewIntervalTurns: 6
典型用法¶
會話內命令¶
| 命令 | 作用 |
|---|---|
/evolve |
幫助與當前 local store |
/evolve list · history · rollback <id> |
查看與回滾(加 global 操作跨會話 store) |
/evolve plan [msg] |
對 store 運行 LLM planner |
/evolve wrapup |
評估本會話 local 條目:晉升 / 歸檔 / 保留 |
/evolve archive · unarchive · demote <id> |
從注入中隱藏(數據保留可恢復);demote 針對全局噪聲 |
/evolve consolidate [apply] |
報告或應用一批 conflict-hint + 零使用陳舊全局條目的歸檔 |
/evolve failures |
彙總 gate 與 benchmark 失敗類別 |
/evolve log [tail N] [session <id>] |
插件日誌 |
/evolve export · import <path> |
備份 / 恢復 store |
/evolve mount · unmount <skillId> |
熱掛載可執行 skill |
/evolve goal [objective · done · block] |
輪次驅動的自動 review goal |
/evolve benchmark … |
用例生命週期、運行與接受 |
常用配置項¶
| 鍵 | 默認值 | 含義 |
|---|---|---|
autoReview |
false |
啓用自動 review gate |
reviewIntervalTurns |
6 |
turn 間隔路徑上的 gate 頻率 |
requireGlobalApproval |
true |
全局編輯需顯式批准 |
localFate |
true |
gate 審計 local 並提議 promote/archive |
promotionMinChars |
100 |
低於此長度的晉升留在 local |
promotionBlockPatterns |
POSIX 路徑、session id、~/.dsh 等 |
匹配內容視爲項目範圍,不晉升到 global |
injectionDirectoryLines |
15 |
注入前目錄索引行數上限 |
reviewModel |
agent 自身 | 可選更便宜的 gate 模型("provider/model") |
完整列表見倉庫 README 的 Configuration 表。
開發自測(維護者流程)¶
pnpm install && pnpm build # 依賴 + tsc -> lib/
pnpm test # vitest(README 標註 543 tests passing)
pnpm test:coverage # v8 coverage,CI 強制執行閾值
pnpm lint # oxlint src test
設計文檔與踩坑記錄:docs/design.md、docs/FAQ.md;與 prime-agent /refine、penguin-harness 的對比見 docs/gap-analysis.md。
適用場景與注意¶
適合誰:長期在 DSH 上跑同一類任務、希望把會話裏反覆出現的失敗模式、穩定事實和可複用流程沉澱爲 Harness 狀態,且需要版本、審計、可逆回滾與 benchmark 把關的團隊或個人。
使用前注意:
- 插件以當前
dsh進程權限讀寫 DSH home 與項目文件;安裝前請閱讀源碼與 MIT 許可證,確認晉升守衛與全局批准策略符合你的安全預期。 - 全局 store 的寫入默認需人工批准;不要假設模型工具調用會靜默改變跨會話行爲。
- SkillHub(目錄頁)是社區目錄,與 DeepSeek / 幻方無官方從屬關係;插件來源以 GitHub 與 npm 爲準。
- 首次從 GitHub 安裝需完成 allowBuilds 批准;npm 包自帶
cordis.patch.ymlbundle patch。
結尾¶
dsh-continual-evolve 把「會話裏學到的東西」變成 DSH 裏可管理、可注入、可回滾的狀態層:local 與 global 分層、代碼側守衛與 benchmark 驗證,減少下一輪會話從零開始的損耗。當前 GitHub 約 14 stars,測試套件 543 項通過。