前言¶
在 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。
核心功能¶
沉淀与守卫¶
- Sediment(沉淀):模型通过工具
evolve_add创建条目;若开启autoReview,自动 review gate 会按 turn 间隔与 compaction 检查点从 trajectory 提议条目。 - Guard(守卫):代码校验编辑 schema、影响范围与 scope 一致性,并执行晋升策略。全局创建时若与已有条目相似度 ≥0.8 会在写入时被拒绝;中等重叠会附带
conflictHint,供后续/evolve consolidate处理。 - 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_list、evolve_add、evolve_update、evolve_delete、evolve_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.md、docs/FAQ.md;与 prime-agent /refine、penguin-harness 的对比见 docs/gap-analysis.md。
适用场景与注意¶
适合谁:长期在 DSH 上跑同一类任务、希望把会话里反复出现的失败模式、稳定事实和可复用流程沉淀为 Harness 状态,且需要版本、审计、可逆回滚与 benchmark 把关的团队或个人。
使用前注意:
- 插件以当前
dsh进程权限读写 DSH home 与项目文件;安装前请阅读源码与 MIT 许可证,确认晋升守卫与全局批准策略符合你的安全预期。 - 全局 store 的写入默认需人工批准;不要假设模型工具调用会静默改变跨会话行为。
- SkillHub(目录页)是社区目录,与 DeepSeek / 幻方无官方从属关系;插件来源以 GitHub 与 npm 为准。
- 首次从 GitHub 安装需完成 allowBuilds 批准;npm 包自带
cordis.patch.ymlbundle patch。
结尾¶
dsh-continual-evolve 把「会话里学到的东西」变成 DSH 里可管理、可注入、可回滚的状态层:local 与 global 分层、代码侧守卫与 benchmark 验证,减少下一轮会话从零开始的损耗。当前 GitHub 约 14 stars,测试套件 543 项通过。