前言¶
在 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 仓库。