dsh-retro:爲 DeepSeek Harness 沉澱失敗經驗與可複用工作流

前言

在 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 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜