它是什么
Memory Evolve(包名 dsh-memory-evolve)是 DeepSeek Harness 的一个大体量纯插件集合:以跨会话长期记忆为地基,再叠上可选的「自我进化」与多会话协作能力。仓库描述一口气点名:五轨记忆、git 分支感知、回合内自我审查、技能自我进化与技能管理器、四轨待办、COI 调度、会话广播、会话搜索、提示词管理器、临时信息便签——「零核心修改、零运行时依赖」。
安装走 GitHub 优先路径。package.json 名为 dsh-memory-evolve、版本 0.1.0 且标记 private;npm 注册源对同名包返回 404。文档安装命令是 dsh plugin --profile web add github:csyangwen/dsh-memory-evolve。dsh 字段同时声明宿主 bundle(bundle.patch: ./cordis.patch.yml)与 web 客户端(client.platform: "web")。没有 dsh.compatibility、也没有 peer 版本钉死,因此本条目不写 dshTarget,验证等级止于 L2。脚本只有 test 与 build——没有 preinstall / install / postinstall / prepare。宿主侧 lib/ 只 import Node 内置模块(fs、path、child_process、crypto);客户端 bundle 依赖 profile 注入的 React 与 DSH client runtime。README 的「零运行时依赖」说的是宿主包没有第三方 dependencies 字段,不是浏览器半边不需要任何框架。
五轨记忆分别是什么
存储是 $DSH_HOME/memories(默认 ~/.dsh/memories)下的纯文本 markdown,不是 SQLite,也不是图数据库。条目分隔符与 Hermes 兼容的 \n§\n。五轨:
| 轨 | 内容 | 注入方式 | 写入方式 |
|---|---|---|---|
用户档案(user) |
你是谁、偏好、沟通习惯 | 每会话注入(低频变化,缓存友好) | 建议队列 → 人工确认 |
全局事实(memory) |
环境、工具、惯例 | 每会话注入 | 建议队列 → 人工确认 |
项目关键记忆(key) |
项目的长期事实 | 注入匹配 cwd 的会话;按 git 分支过滤 | 模型建议 → 确认;UI 可直写 |
项目日志(project) |
项目进展 | 不注入,按需读取 | 每回合自动追加 |
每日日志(daily) |
今天做了什么 | 不注入,按需读取 | 每回合自动追加 |
只有低频轨(user、memory、key)会进快照,走 user 角色尾部注入并做变更检测,system prompt 与历史前缀保持稳定。日志每回合写(开关打开时各写一条),需要时用 memory 工具读——这是刻意为缓存命中率做的拆分。
key 条目可带 [branch:main,dev]。注入时程序执行 git branch --show-current,只注入无标记条目 + 覆盖当前分支的条目;当前分支名也会随 key 小节一起注入。日志自动打 [git main] 分支 tag,模型手写的前缀会被剥离。归档(MEMORY-archive.md、KEY-archive.md 等)把条目撤出注入但不删除;转正可随时恢复。
回合内审查与人工闸门
后台「自我审查」不是子代理,也不是另建转录。打开 reviewEnabled(默认 false)后,每 N 个用户回合(reviewInterval,默认 5)主 LLM 在自己回合内静默完成审查,由固定快照提示行 + memory_review_status 驱动。reviewMode: 'suggest'(默认)把全局事实经 memory_suggest 写入 SUGGESTIONS.jsonl 等你确认;auto 则直写全局轨。项目 key 的模型建议一律走确认队列,除非你在记忆 Tab 亲手添加。
技能落在默认的 ~/.agents/skills。skill_manage 强制 read-before-write(会话日志里必须先出现 skill_manage action=read <name> 才能写)。新建技能默认进 <memoryDir>/pending-skills/,你批准后才移入技能库;skillReviewEnabled(默认 false)才是免确认直建。审查也可对既有技能提出优化建议,写保护同样生效。技能管理子 Tab(已并入原独立插件 dsh-skills-manager / dsh-skill-browser——若仍装着旧插件请先卸载)按来源分层浏览,可用 disable-model-invocation 启停技能,并管理自定义技能目录;首次启动会从旧插件的 state.json 一次性迁移禁用列表与自定义目录。README 的三条原则写得很直:AI 只提议,你决定。
待办(dtodo)四轨:生活 / 工作 / 项目(按 cwd 隔离)/ 每日,§ 分隔 markdown,带四象限、截止日与状态。你口述的待办直写;模型自建必须经 memory_suggest 指定 todo-* 目标。待办正文永不注入,快照只保留一行固定提示去检查到期项;默认 dtodo list 是有上限的智能视图(逾期 / 今日 / 本项目 / 重要紧急),不是全量倾倒。
另有一个自由 Markdown 便签 scratch.md(上限 512 KiB,原子写),挂在独立的会话 Tab——刻意放在 § 解析的记忆格式之外,方便随手改。
可选模块(大多默认关)
在记忆之外,包内还挂了大量独立模块,各有开关且默认 关闭,以免占用模型工具清单:COI 外部 CLI 代理调度(kimi / codex / grok / hermes 及自定义适配器)、会话广播与房间、工作区写冲突协调、会话搜索(仅 Codex 明文 JSONL)、会话编排(de_session spawn/wake)、通知、提示词管理器、画板、书签、会话评审(Advisor)、模型设置、Web UI 设置、基于 git 的记忆同步、本地文件搜索。核心记忆、待办、技能与记忆 Tab 默认开启;其余在 Memory Evolve 设置 → 配置(或 profile config 覆盖)里按需打开。关掉模块会注销对应工具;数据文件保留。
常开的模型侧工具面比功能清单窄得多:memory、memory_suggest、memory_review_status、skill_manage、dtodo,外加记忆 / 技能 / 待办 / 临时信息几个 Tab。其余(de_coi_*、de_broadcast、de_session、de_prompts、de_notify、de_canvas …)只有你打开开关后才会出现。Web UI 上还有大量能力 Tab;若干模块在包内自带「指南」子页,而不是另建文档站。
运行要求与数据位置
- 安装:
dsh plugin --profile web add github:csyangwen/dsh-memory-evolve,然后重启dsh web。不要再往 profile patch 里手动insert同 id——bundle patch 已自动注册,重复会撞 duplicate loader entry id 直接起不来。同一 id 下disabled: true是文档写明的临时禁用方式;卸载是dsh plugin --profile web remove dsh-memory-evolve。 - Harness 版本:未声明。安装文档按 08-06+ profiles 架构写的;旧式拷进
~/.dsh/plugins的装法已标为遗留路径。 - 运行时:宿主只用 Node 内置能力;客户端期待 web profile 的 React / client runtime 注入。无原生编译、无安装期脚本、宿主无第三方依赖。
- 数据:
~/.dsh/memories/下有MEMORY.md、USER.md、SUGGESTIONS.jsonl、归档、scratch.md、skills-state.json、待办文件、每日日志,以及projects/<cwd-hash>/(项目日志、KEY、KEY-archive、项目待办)。待确认技能在同一树下的pending-skills/。文档称卸载会清理插件效果;记忆目录应视为你自己的数据,自行保留或删除。
已知限制
体量很大——约六十个宿主模块加一大块客户端 bundle——因此「记忆插件」这个称呼低估了表面积,也抬高了配错开关的代价。没有 harness 版本或 peer 范围。多数强功能默认关闭,配置前等于不存在。记忆是受管 markdown,不是带排序的存储:没有向量检索、没有图、没有自动衰减;注入只有低频轨 + 显式工具读取。审查质量取决于主模型是否遵守固定的回合收尾协议;连续漏写日志的 write-guard 也默认关闭。星标与提交活跃度取自公开仓库(写作时约 308 星 / 31 fork),本条目不是独立安全审计。网络只出现在你主动打开的可选模块里(同步 push、COI 外部进程、通知、更新检查)——基础记忆轨是本地文件。
和本目录其他记忆插件的差异
graph-memory 接管会话内历史表面,用 SQLite 导航图做带出处的轮次召回。mnemon / dsh-mnemon 包的是原生 Go 图引擎与外部二进制。dsh-memento 是带硬预算、服务层审批闸门的 typed memory service(SQLite)。Memory Evolve 的定位不同:Hermes 风格文件轨、按 git 分支过滤的项目关键记忆、提议—确认队列,外加宽得多的可选工具箱(待办、技能进化、多会话编排)。想要能长成技能与待办、又不需要第二份二进制或流水线内第二个 LLM 的长期工作记忆,选它;要 typed service 与审计预算选 memento;要长对话的轮次级有出处召回选 graph-memory;要跨框架图存储选 mnemon。
什么时候用、什么时候不要用
如果你经常把项目决策再讲一遍、希望项目记忆尊重 git 分支、也接受 agent 在确认队列里提议技能和待办,那就用它。五轨布局、分支过滤、确认队列、零依赖安装,是来源真正能兑现的部分。
如果你只需要很薄的一层记忆,它不是那个东西。同样要谨慎的场景:无法接受默认就挂上一堆 Tab 与工具(记忆/待办/技能)、完全拒绝任何模型侧写路径(哪怕在队列后)、或必须要一份声明过的 harness 兼容矩阵——来源没有给。
FAQ
npm 包名能装吗?
不能。dsh-memory-evolve 在 npm 返回 404;请用 github:csyangwen/dsh-memory-evolve。
会不会不经确认就写记忆?
受管轨不会。全局事实、用户档案、key 与模型自建待办都进建议队列;新技能停在 pending 等你批准。每回合的项目日志与每日日志条目是自动追加的——那是进度流水,不是注入上下文。reviewMode: 'auto' 与 skillReviewEnabled: true 会分别放松全局轨与技能的闸门;想保持默认「只提议」就别开。
数据放在哪、会不会离开本机?
本地 markdown 在 ~/.dsh/memories/,技能在 ~/.agents/skills。基础记忆路径不联网。你打开的可选模块(记忆同步 push、COI 外部 CLI、渠道通知、更新检查)会按各自逻辑使用网络。
我的 harness 版本能用吗?
未声明。安装文档写的是 08-06+ profile 流程;package.json 没有兼容块。在你自己的构建上试之前,版本匹配都算未验证。
和手工维护 Hermes 风格记忆文件比,多了什么?
自动化了协议:带变更检测的快照注入、git 分支 tag 与过滤、建议队列、归档/转正、待办、技能的 read-before-write 与确认,以及可选的多会话工具。无论开不开关,文件本身仍是人可直接编辑的 markdown。



