前言¶
在 DSH 里跑智能体,常见问题是「金鱼记忆」:上一轮已经验证过的修法,新会话里又要从头摸索,重复跑测试、重复踩坑,token 花在同一条弯路上。会话级上下文能记住对话,却很难把「这类任务该怎么下手」沉淀成可复用的策略,更谈不上跨会话、跨项目共享。
下面介绍 EvoMap 维护的 Evolver(npm 包名 @evomap/dsh-evolver,仓库 EvoMap/evolver-dsh-plugin)。它在每个 prompt 前召回历史里证明过的策略,在回合结束后用可核对的事实给策略打分,并把结果回传到 EvoMap 网络,让有效策略更容易被再次召回,失效策略逐渐下沉。社区目录分类为「记忆」,当前 GitHub 星标为 0。
这是什么¶
Evolver 是 DeepSeek Harness(DSH)的插件:用得越多,Harness 越能避开重复弯路。维护者为 EvoMap;许可证为 MIT。插件要求 Node.js 22.13+、dsh 0.1.5+;默认配置见仓库内 src/config.js。
不连网也能用本地记忆;接入 EvoMap 后,策略可在本机多会话之间流动,也可与接入同一网络的其它智能体共享(README 表述为「One agent’s mistake, every agent’s detour」)。
核心功能¶
回合前:召回策略¶
每次用户 prompt 开始时,Evolver 从本地历史与(若已连接)EvoMap 网络中,选出最贴合当前任务的已验证策略,交给智能体执行,无需人工翻旧会话。
回合后:按证据打分¶
打分不依赖主观猜测,而是看:
- 本回合是否跑过测试、构建、lint 或类型检查,以及最后一次检查是否通过;
- 下一会话在同一项目中是否保留或回滚了本回合的编辑;
- 你下一条回复是在纠正还是在认可。
网络侧:适者生存¶
每条裁决连同证据等级回传 EvoMap;网络按证据权重处理。有效策略更易被召回,被证伪的策略下沉。
工具与命令¶
插件额外提供 evolver_* 工具与 /evolver-* 命令,用于提炼、固化、审查和回滚已学到的内容。连接状态可用 /evolver-status 查看 Proxy 与节点,以及近期上报在 Hub 上的裁决(eligible、counted、weight 等)。
复用上报(Reuse reports)¶
注入的策略在回合结束时经本地 Evolver Proxy 的 POST /asset/reuse-result 上报,字段包括 asset_id、outcome、task_id、reason、evidence。README 归纳了四类上报时机与证据层级,例如回合结束(task_id 形如 dsh:<session>:<turn>,有检查则为 tier L1)、下一轮纠正(tier: L3)、下一会话保留性(tier: L2)等。上报在 ~/.evolver/state/reports-outbox.json 排队,最长约 8 天内重试;原因字段只描述回合与 applied 结论、检查类型,不包含 prompt、命令、代码或 diff,召回前也会对 prompt 做脱敏。
网络召回需要 @evomap/evolver 2.0.39 及以上;复用上报中的 evidence 需 Proxy 高于 2.0.42,否则 Hub 可能按无证据处理。
安装与启用¶
插件发布在 npm:https://www.npmjs.com/package/@evomap/dsh-evolver。每个 dsh profile 单独加载插件,需在使用的 profile 上分别安装。安装后需重启 dsh;再次执行相同 add 命令可更新(@latest 会越过 lockfile 中已有版本)。
CLI 多 profile 示例(资料原文):
dsh plugin --profile dsh-tui add -w @evomap/dsh-evolver@latest
dsh plugin --profile web add -w @evomap/dsh-evolver@latest
dsh plugin --profile headless add -w @evomap/dsh-evolver@latest
DSH Desktop¶
在应用内插件市场安装(各平台通用):
- 打开 DSH Desktop 插件市场,进入 Sources。
- 选择 Add source,填入
https://evomap.ai/dsh/catalog-source.json并选中。 - 在 Installable 中找到 Evolver,选择 Install。
市场从 npm 安装最新 release;更新时在 Installed 卸载后重新安装。
desktop profile 归属应用本身,系统里的 dsh CLI 不会改动它。Windows 可在 DSH Desktop 内置终端执行:
dsh plugin add -w @evomap/dsh-evolver@latest
macOS 需用应用自带的 CLI 与 pnpm(README 提供完整 shell 片段,含 minimumReleaseAge=0)。若 pnpm 提示 Ignored build scripts: koffi,需在 ~/.dsh/profiles/desktop/pnpm-workspace.yaml 的 allowBuilds 下设置 koffi: true 后重试。
从 GitHub 源迁移¶
若 profile 曾用 github:EvoMap/evolver-dsh-plugin 安装,需先 remove 再 add npm 包,例如:
dsh plugin --profile dsh-tui remove @evomap/dsh-evolver
dsh plugin --profile dsh-tui add -w @evomap/dsh-evolver@latest
连接 EvoMap 网络(可选)¶
本地记忆无需账号。网络复用依赖本机 Evolver Proxy,插件在每个 dsh 进程内后台自动处理一次:
- 未安装或版本低于 2.0.39 的
evolver:执行npm install -g @evomap/evolver@latest,再evolver lifecycle start(升级后用restart)。 evolver已够新但 Proxy 无响应:执行evolver lifecycle start。
成功或失败(例如全局 npm 无写权限)会以一次性通知告知智能体。完成绑定步骤:
- 登录 evomap.ai 后,打开 Proxy 写入
~/.evomap/claim_url的认领链接。 - 在 dsh 中运行
/evolver-status确认 Proxy 与节点。
典型用法¶
安装并重启 dsh 后,正常与智能体对话即可:Evolver 在后台注入策略并收集证据。需要人工介入时:
- 用
/evolver-status查看连接与近期上报结果。 - 用
/evolver-*与evolver_*工具管理已学内容(提炼、固化、审查、回滚)。
开发插件本身时,仓库内为:
npm ci
npm test
适用场景与注意¶
适合长期在 DSH 上做编码、修 bug、跑检查的智能体用户:重复任务多、希望少踩同一坑、并愿意把策略沉淀到本地或 EvoMap 网络。
DSH 生态是「一切皆插件」;社区目录(如 SkillHub 上的 Evolver 页)为独立站点,与 DeepSeek / 幻方无官方从属关系,本文不以「官方应用商店」表述。
插件以当前 dsh 进程的权限运行,可能触发全局安装 @evomap/evolver、读写 ~/.evomap、~/.evolver 等路径。安装前请阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境与合规要求。
结尾¶
Evolver 把「策略召回 + 证据分级 + 网络复用」接到 DSH 上:成功变成下次的捷径,失败变成下次的警告。目录页:https://www.skillhub.cn/plugins/EvoMap/evolver-dsh-plugin;源码与完整说明:https://github.com/EvoMap/evolver-dsh-plugin。