前言¶
在 DeepSeek Harness(DSH)裏跑智能體,工具報錯往往只留在當輪會話裏;換一個新會話,同樣的沙箱拒絕、路徑錯誤或參數問題還會再踩一遍。日常任務裏「讀—改—測」一類步驟也會反覆出現,但很難系統化地交給模型當作技能複用。社區插件 dsh-retro(維護者 liaoli-hero,分類:工作流)面向的就是這類長期記憶缺口:自動記錄失敗、定期自我總結,並把穩定出現的工具調用模式整理成 SKILL.md,經 skill provider 進入模型技能目錄。項目 README 標明爲非官方社區項目,未經 DeepSeek 審覈或背書;公開版本尚未完成獨立的全新環境安裝驗收。下面介紹它的定位、機制、安裝方式與日常用法。
這是什麼¶
dsh-retro 是給 DSH 加的一層運行復盤能力,簡介爲:DeepSeek Harness plugin for session retrospectives and reusable workflow drafts。它不替代 session 日誌,而是把跨會話的經驗寫到 $DSH_HOME/dsh-retro/(默認),並在下一輪通過系統提示詞 section retro:history 注入「已知高頻坑」與流程摘要。
| 問題 | 常見現狀 | dsh-retro 的做法 |
|---|---|---|
| 同一坑反覆踩 | 失敗只留在當輪 | 工具失敗歸類、去重、脫敏後落盤,動手前注入高頻坑 |
| 重複流程靠人記 | 無客觀統計 | 按 turn 切分工具調用,穩定骨架反覆出現即視爲固定流程 |
| 經驗難複用 | 流程在腦子裏 | 達閾值後渲染 SKILL.md,由 dsh-retro skill provider 暴露給模型 |
當前 package 版本爲 0.1.0,許可證 MIT,要求 Node >= 20.11.0。本包是 bundle 型 Cordis 插件(dsh.bundle.patch 指向 cordis.patch.yml),裝進 profile 即進層棧。
核心功能¶
失敗記錄與提示詞注入¶
開啓 autoCapture(默認開)時,工具失敗會 append 到 fails.jsonl。內置約 10 類歸類(沙箱拒絕、路徑不存在、語法參數、網絡、超時等);簽名由「類別 | 工具名 | 歸一化錯誤骨架哈希」組成,路徑、端口、數字等會被抹平以便統計同一類坑。達到 repeatThreshold(默認 2)的高頻項會進入注入摘要,受 promptBudget(默認 1200 字符)限制。
固定流程與技能沉澱¶
每輪按 turn 收集工具名,聚合鍵是排序後的工具集合(flowSkeleton),而非完整調用序列——README 說明完整序列在真實任務裏步數與順序差異大,用序列會導致計數恆爲 1、閾值永遠達不到。write / present 等產物動作被排除在外。當同一骨架出現次數達到 flowThreshold(默認 4,而非 3,以減少連續重試誤判)時:
autoDraft(默認開):寫drafts/草稿,模型 catalog 不可見;autoPromote(默認開):寫skills/並通知 skill registry 失效,模型可見。
兩個開關正交:可只開草稿半自動,或只開晉升全自動。自動技能數量默認上限 40(maxAutoSkills)。
界面與表面¶
裝好後側欄「更多」區多一行 復盤沉澱,面板展示統計、失敗分佈、高頻坑、固定流程、已沉澱技能及當前注入原文;數據來自 HTTP 路由 /api/retro/*,拉不到數據會顯示帶原因的提示而非假空態。
另有 4 個工具(retro_capture / retro_summary / retro_skills / retro_forget)、斜槓命令 /retro、以及運行層可調的自動化設置。模型也可通過 retro_capture 手動沉澱帶「結論」的經驗(自動捕獲只有報錯文本)。
落盤佈局¶
默認根目錄 $DSH_HOME/dsh-retro/(部署層可改 rootDir):
fails.jsonl 失敗經驗
flows.jsonl 固定流程聚合
skills/ 已晉升技能(扁平 .md)
drafts/ 技能草稿
summary.md 最近一次自我總結
state.json 輪次與總結時間
安裝與啓用¶
從 GitHub 安裝(命令來自項目 README):
dsh plugin --profile <profile> add github:liaoli-hero/dsh-retro
從本地目錄安裝:
dsh plugin --profile <profile> add <此目錄>
README 寫明:不需要寫任何 config 即可按默認值全自動運行——失敗記錄、自我總結、提示詞注入、流程達 4 次自動技能均默認開啓。日常開關可在面板「復盤沉澱 → 自動化設置」修改,或通過 /retro set,寫入 $DSH_HOME/dsh-retro/settings.json 立即生效;部署層 cordis.patch.yml 改動需重啓。運行層覆蓋部署層中顯式寫過的鍵,/retro reset 可清運行層回落部署層。
桌面版 Electron profile 由應用獨佔管理時,dsh --dump-config 可能被拒絕;改配置後重啓應用即可。
典型用法¶
查看狀態與運維:
/retro show 看經驗、流程、技能與注入字符數
/retro summary 重新生成 summary.md
/retro skills 列出技能與流程(帶簽名)
/retro promote read>edit>pwsh 手動把某條流程晉升成技能
/retro forget <簽名> 清掉一條記憶(技能一併下線)
/retro config 看當前生效配置與覆蓋項
/retro set autoPromote=true
/retro set flowThreshold=5 promptBudget=2000
/retro reset 清運行層配置
安裝後可在面板確認「當前注入內容」是否與預期一致;需要半自動審閱技能時,可只開 autoDraft 關 autoPromote,在面板對固定流程點「沉澱爲技能」或使用 promote。
適用場景與注意¶
適合誰:長期在 DSH 裏做編碼、排查、重複性多步工具鏈任務的開發者,希望減少重複踩坑、並把穩定工作流變成模型可讀技能的人。
使用前請知悉:
- 插件以當前 dsh 進程權限讀寫
$DSH_HOME下文件;安裝前應自行查看 GitHub 源碼 與 MIT 許可證,社區目錄 SkillHub 插件頁 與 DeepSeek / 幻方無官方從屬關係,並非官方應用商店。 - 失敗記錄會保留脫敏後的錯誤與路徑類上下文,若環境敏感請評估
rootDir與保留策略。 enabled=false時整體停擺;牽動目錄結構的鍵(如rootDir)只能在部署層改。
結尾¶
dsh-retro 把「當輪失敗」和「反覆出現的工具模式」從會話裏抽出來,落盤、注入、並在閾值滿足時變成技能,默認配置即面向「裝完就能用」的全自動復盤。進一步瞭解與安裝指引見 SkillHub 目錄頁 與 GitHub 倉庫。