Skip to content

dsh-continual-evolve

Verified

dsh-continual-evolve · v0.5.0 · MIT

Continual self-evolution plugin for DeepSeek Harness: versioned, auditable, rollback-safe harness state (prompt notes, memories, skills, subagent specs) refined from session trajectories.

Install

dsh plugin add dsh-continual-evolve

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Creators

Readme

dsh-continual-evolve

English | 中文

awesome · DSH plugin npm CI License: MIT Node Tests

DeepSeek Harnessdsh)的持续自进化插件:一套版本化、可审计、可回滚的 harness 状态层——提示词补充、记忆、技能、子代理规格——从会话轨迹中沉淀而来。

模型提议,代码保证。 每一项机械化安全属性——schema 校验、原子写入、快照、版本、审计、接受决策——都由代码强制,从不依赖提示词自觉。

为什么

Agent 在每个会话里积累可复用经验(重复失败、持久事实、可复用流程),下个会话就忘掉。本插件把这些经验变成一等公民的持久状态:

  • local 会话级 / global 跨会话 双作用域与合并语义——配合机械化晋升守卫,只有可携带、有分量、非重复的知识才能进全局
  • 确定性回滚:逆操作编辑由已应用结果生成——不靠 LLM 重新猜测
  • benchmark 闭环:候选沉淀先经冻结用例 + 独立评分者评估再接受(rubric 加密落盘)
  • store 卫生/evolve consolidate 把写入时冲突提示与零使用陈旧条目变成一次批准、完全可逆的批量归档

工作原理

  1. 沉淀——模型经 evolve_add 创建条目,或自动 review 门禁从会话轨迹提议(回合间隔 + 压缩检查点)。
  2. 守卫——代码强制校验:编辑 schema、blast-radius 与作用域一致性、晋升政策(项目专属标记 / 过薄内容 / 近似重复检测保持全局库干净)。全局 create 与既有条目高度相似(≥0.8)时写入即拒;中等重叠带 conflictHint 供后续合并。
  3. 审批——全局写入需明确人工批准;local 归宿提议先征询后落地。
  4. 应用与注入——原子应用带快照与审计事件。prompt 补充与委派规格注入系统提示词(封顶、按相关性排序、空 store 零 token);memory/skill 以目录索引出现。
  5. 验证与回滚——benchmark 用冻结用例为候选打分;被拒候选确定性回滚。

安装

# 从 npm(安装即激活——自带 bundle patch)
dsh plugin add dsh-continual-evolve

# 或从源码(首次 GitHub 安装需批准 allowBuilds 构建步骤)
dsh plugin add ZK-Andy/dsh-continual-evolve

安装或更新后重启 dsh web

使用

会话内命令:

命令 效果
/evolve 帮助 + 当前 local store
/evolve list · history · rollback <id> 查看与回滚(加 global 操作跨会话库)
/evolve plan [msg] 对 store 运行 LLM 规划器
/evolve wrapup 收尾本会话 local 条目:晋升 / 归档 / 保留
/evolve archive · unarchive · demote <id> 从注入中隐藏(数据保留可恢复)——demote 针对全局噪声
/evolve consolidate [apply] 报告(或应用)冲突提示 + 零使用陈旧全局条目的批量归档
/evolve failures 失败类聚合(门禁 + benchmark)
/evolve log [tail N] [session <id>] 插件日志
/evolve export · import <path> 备份 / 恢复 store
/evolve mount · unmount <skillId> 把可执行技能热挂载为 live 插件
/evolve goal [objective · done · block] 回合驱动的自进化目标
/evolve benchmark … 用例生命周期、运行、接受决策

模型工具:evolve_list / add / update / delete / rollback

注入形态:prompt 补充与委派规格带内容注入(每 kind ≤6 条 × 180 字符,按相关性排序)。memory/skill 以目录索引出现([kind:id] 标题,15 行封顶 + 折叠计数行)——全文经 evolve_list 获取。空 store = 零注入 token。

配置

默认 含义
baseDir 解析后的 DSH home evolve/ 存储根目录
autoReview false 启用自动 review 门禁
reviewIntervalTurns 6 回合间隔路径的门禁节奏
maxReviewInputChars 40000 交给门禁的轨迹切片
reviewBudgetTokens 4096 门禁调用输出预算
notifyOnAutoReview true 门禁应用后发可见跟进通知
requireGlobalApproval true 全局写入需明确批准
localFate true 门禁审计本地条目并提议晋升/归档(先征询,绝不静默)
fateIntervalTurns 跟随 reviewIntervalTurns 归宿评估的最小回合间隔
goalBlockedWrapupTurns 3 连续阻塞目标的门禁轮数触发一次归宿评估(0 关闭)
promotionBlockPatterns POSIX 路径、session id、~/.dsh 内容命中即判定项目专属,永不晋升全局
promotionMinChars 100 低于此长度的整体晋升留在本地
injectionDirectoryLines 15 每次构建的目录行数上限,超出折叠为计数行
sectionOrder 118 系统提示词 section 顺序
skillsDir <dshHome>/skills 技能条目物化为 SKILL.md 的根目录
rubricKey 自动生成本地密钥文件 benchmark rubric 的 AES-256-GCM 口令(DSH_EVOLVE_RUBRIC_KEY 可覆盖)
logToFile / logLevel / logMaxBytes true / 1 / 5 MiB 插件自带 JSONL 文件日志带轮转
autoRollbackOnReject true benchmark 拒绝后自动确定性回滚
reviewModel agent 自身 门禁可选更便宜的模型("provider/model"

profile patch 示例:

- id: continual-evolve
  config:
    autoReview: true
    reviewIntervalTurns: 6

开发

pnpm install && pnpm build   # 依赖 + tsc -> lib/
pnpm test                    # vitest(543 例)
pnpm test:coverage           # v8 覆盖率,CI 强制阈值
pnpm lint                    # oxlint src test

目录结构:

├── src/                   # 引擎、工具、命令、门禁、fate、benchmark、usage…
├── test/                  # vitest 测试套件(33 个文件)
├── lib/                   # 构建产物(tsc)
├── docs/
│   ├── design.md          # 完整设计文档(硬化矩阵)
│   ├── FAQ.md             # 真实踩坑记录
│   ├── gap-analysis.md    # 对照 prime-agent /refine + penguin-harness
│   ├── experiment-bootstrap.md
│   ├── archive/           # 已完结的一次性报告
│   └── research/          # penguin 报告 + prime-agent 注释源码
├── examples/README.md     # 种子 benchmark 用例
└── .agents/               # AI 协作层(AGENTS.md、技能、ADR 笔记)

文档与出处

License

MIT。独立项目——与 DeepSeek 无关联。