dsh-continual-evolve:把会话轨迹沉淀为可版本化的 Harness 状态

前言

在 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

核心功能

沉淀与守卫

  1. Sediment(沉淀):模型通过工具 evolve_add 创建条目;若开启 autoReview,自动 review gate 会按 turn 间隔与 compaction 检查点从 trajectory 提议条目。
  2. Guard(守卫):代码校验编辑 schema、影响范围与 scope 一致性,并执行晋升策略。全局创建时若与已有条目相似度 ≥0.8 会在写入时被拒绝;中等重叠会附带 conflictHint,供后续 /evolve consolidate 处理。
  3. 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_listevolve_addevolve_updateevolve_deleteevolve_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.mddocs/FAQ.md;与 prime-agent /refine、penguin-harness 的对比见 docs/gap-analysis.md

适用场景与注意

适合谁:长期在 DSH 上跑同一类任务、希望把会话里反复出现的失败模式、稳定事实和可复用流程沉淀为 Harness 状态,且需要版本、审计、可逆回滚与 benchmark 把关的团队或个人。

使用前注意

  1. 插件以当前 dsh 进程权限读写 DSH home 与项目文件;安装前请阅读源码与 MIT 许可证,确认晋升守卫与全局批准策略符合你的安全预期。
  2. 全局 store 的写入默认需人工批准;不要假设模型工具调用会静默改变跨会话行为。
  3. SkillHub(目录页)是社区目录,与 DeepSeek / 幻方无官方从属关系;插件来源以 GitHub 与 npm 为准。
  4. 首次从 GitHub 安装需完成 allowBuilds 批准;npm 包自带 cordis.patch.yml bundle patch。

结尾

dsh-continual-evolve 把「会话里学到的东西」变成 DSH 里可管理、可注入、可回滚的状态层:local 与 global 分层、代码侧守卫与 benchmark 验证,减少下一轮会话从零开始的损耗。当前 GitHub 约 14 stars,测试套件 543 项通过。

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

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

小夜