前言¶
在 DeepSeek Harness(DSH)上让 Agent 改进自身运行时,常见困境是:实验性改动留在 composition 里却难以追溯;「看起来更好」缺少可重复证据;同一类失败在多个 session 里反复出现。社区插件目录 SkillHub 把 ryukeilee/dsh-evolution 归在 admin-security,并明确说明:这是 DSH 的独立 Evolution bundle 预发布,promotion 阶段的 host 代码执行不是安全沙箱。下面介绍它是什么、能做什么,以及如何安装与使用。
这是什么¶
dsh-evolution 由维护者 ryukeilee 发布,当前包版本为 0.2.0-rc.16(发布候选),许可证 MIT。它是一个独立的 DSH bundle:通过官方 bundle / profile 机制加载,不 fork DSH、不修改官方源码、不向官方 node_modules 复制文件、不 patch 官方仓库。
核心目标是在真实运行中的 Cordis Runtime 上做受控实验——提出改进、临时激活、测量收益,然后回滚或带着证据晋升为持久插件;升级出问题时还可自动退回上一个已知良好状态。分发形态是 GitHub Release 上的 tarball,不发布 npm 包。
支持的 DSH 宿主(README 写明逐个通过真实安装验收):0.2.0-rc.2、0.2.1-alpha.1、0.2.1-rc.2。Node 要求:^22.19.0 || >=24.0.0。
核心功能¶
受控进化生命周期¶
九个工具构成闭环,顺序由系统提示词约束。典型流向如下:
evolution_runtime_inspect 读取真实 Cordis 运行时
↓
evolution_propose 记录 why / target / impactScope / successMetrics / risk
↓ 可附带 experienceRecall(历史经验)
evolution_trial 通过 dynamicCordisRunner 激活临时 Cordis Package
↓
evolution_measure 记录观测并评估晋升门禁
evolution_revert 回滚并验证 Runtime 签名回到基线
或
evolution_promote 所有者确认后写入持久 Plugin,进入 canary
↓
evolution_canary_observe 在确定性屏障上报告启动/健康/依赖/指标
evolution_history 有界领域历史;带 query 时做经验检索
evolution_doctor 无模型健康报告
设计要点(摘自 README):
- 不另建第二套运行时,Component / Service / Tool / Dispose 等由 Cordis 拥有。
- 晋升必须同时满足 8 项门禁(真实收益、可测量证据、可重复、回归通过、可回滚、清理证据、无孤儿资源、运行时已恢复),缺一项即拒绝。
evolution_promote默认不会写生产:必须显式传confirmation: true,否则只返回「等待所有者确认」。- 晋升后进入 canary 观察;跨重启验证启动与健康;屏障上报告指标回归会触发自动回滚,且只回滚新候选。
默认不会自行上生产¶
真正闸门是所有者确认,而不是把 mode 当成总开关:
mode默认advisory;unattended默认false。二者会出现在策略报告里,但不是自主观察者能否启动实验的前置开关。- 自主观察者仅在配置了匹配的
autonomousStrategies、同一失败模式观测数达到patternThreshold(默认 3)、且风险为low等条件同时满足时,才会启动隔离 Trial。high风险硬约束为阻止,medium硬约束为等待确认。 - 经验检索默认开启(
experienceRecall: true),只读,由evolution_propose/evolution_history触发;日常积累不引入模型、不轮询。
无模型诊断¶
evolution_doctor 与会话外 CLI dsh-evolution-doctor 共用检查项与分级,不依赖模型、不联网、不上传 Evolution 数据。CLI 缺少实时 context 时,部分 runtime 项会报 not-evaluated;要探针内部 API,需在会话内调用 evolution_doctor。
安装与启用¶
1. 安装 DSH¶
任选官方推荐方式:
npx @deepseek-ai/dsh web
# 或源码:pnpm install && pnpm run build
2. 下载并校验插件 tarball¶
从 GitHub Release v0.2.0-rc.16 获取产物:
RELEASE_URL=https://github.com/ryukeilee/dsh-evolution/releases/download/v0.2.0-rc.16
curl -fL "$RELEASE_URL/dsh-evolution-0.2.0-rc.16.tgz" -o dsh-evolution-0.2.0-rc.16.tgz
curl -fL "$RELEASE_URL/SHA256SUMS" -o SHA256SUMS
curl -fL "$RELEASE_URL/manifest.json" -o manifest.json
# 也可使用 GitHub CLI(公开仓库无需先 gh auth login)
gh release download v0.2.0-rc.16 --repo ryukeilee/dsh-evolution \
--pattern 'dsh-evolution-*.tgz' --pattern 'SHA256SUMS' --pattern 'manifest.json'
sha256sum --check SHA256SUMS # macOS:shasum -a 256 -c SHA256SUMS
3. 用官方 CLI 装入 profile¶
同一条命令也用于升级:
DSH_HOME=/isolated/home dsh plugin --profile web add ./dsh-evolution-0.2.0-rc.16.tgz
DSH_HOME=/isolated/home dsh web --no-open
安装后 profile 的 package.json 会把 dsh-evolution 列入 dsh.profile.bundles,随 profile 加载,无需每个 session 手工挂载 preset。
配置(可选)¶
配置经 profile patch 传入,全部可选。常用项包括:
| 配置项 | 默认值 | 说明 |
|---|---|---|
dataRoot |
$DSH_HOME/storages/evolution |
Evolution 数据根 |
mode |
"advisory" |
manual / advisory / autonomous |
experienceRecall |
true |
false 关闭按需经验检索 |
canaryWindow |
2 |
canary 所需屏障数 |
patternThreshold |
3 |
自主观察者触发前的失败模式观测次数 |
autonomousStrategies |
未配置 | 按失败模式定义 target / composition / measure / risk |
完整表格见仓库 README 第 5 节。
典型用法¶
会话内最短闭环¶
在 Agent 会话中按生命周期顺序调用工具;README 推荐的最短路径:
evolution_runtime_inspect → evolution_propose → evolution_trial
→ evolution_measure → evolution_revert (放弃)
→ evolution_promote → evolution_canary_observe (采纳)
晋升到生产时,调用 evolution_promote 需带上 confirmation: true。
命令行诊断¶
安装到 profile 后可用:
<profile>/node_modules/.bin/dsh-evolution-doctor \
--home "$DSH_HOME" [--profile web] [--json]
<profile>/node_modules/.bin/dsh-evolution-doctor --home "$DSH_HOME" --repair [--json]
退出码:0 健康、1 可降级问题、2 阻塞问题。
升级、回滚与卸载¶
DSH_HOME=/isolated/home dsh plugin --profile web add ./dsh-evolution-<new>.tgz
DSH_HOME=/isolated/home dsh plugin --profile web add ./dsh-evolution-<old>.tgz
dsh plugin --profile web remove dsh-evolution
README 强调:回滚旧插件包不会自动回滚已 stable 提交的 promotion composition;卸载不删除用户数据。
适用场景与注意事项¶
适合谁: 已在 DSH 上运行 Cordis、需要把「改运行时」变成可审计流程的开发者或团队——尤其是要在 Trial 里验证再晋升、并保留失败学习与 canary 回滚能力时。
安全与权限(务必阅读):
- 插件以当前 DSH 进程权限运行;安装前应自行审查 GitHub 源码 与 MIT 许可证。
- README 与 SkillHub 简介一致:晋升是 Host-only,且不是安全沙箱;持久化源码通过合作式
Function(hostCode)()gate 加载,这是兼容性 gate,不是隔离环境,晋升需要可信审批。 - 依赖部分内部或未文档化的宿主接口;升级 DSH 前需重新验收,
evolution_doctor会逐项探测而非假装健康。 - 仓库说明未做 npm 发布、代码签名 / provenance(SLSA)或 SBOM;已启用 GitHub Code Scanning。
生态说明: DSH 的理念是「一切皆插件」。SkillHub(目录页)是社区独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-evolution 把自我改进从「改完难撤、结论无据」推进到 Trial → 测量 → 门禁 → 所有者确认 → canary 的机制链,并附带无模型的经验检索与 doctor 诊断。当前为 0.2.0-rc.16 预发布,GitHub 上星标为 0;使用前请下载 Release tarball 校验哈希,并在理解 promotion 非沙箱的前提下启用。
- 目录页:https://www.skillhub.cn/plugins/ryukeilee/dsh-evolution
- 仓库:https://github.com/ryukeilee/dsh-evolution