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 仓库。

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

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

小夜