mcpField
M
Mneme Memory

Mneme Memory

本地服务
github.com记忆与知识196今天更新

关于 Mneme Memory

Mneme Memory 为 DeepSeek Harness 和其他编码 Agent 提供跨会话记忆,并可通过独立 MCP 服务接入其他客户端。它以本地 SQLite 和 Markdown 保存记忆,支持自动整理、冲突审核与可回放审计。

主要功能

  1. 01跨会话记忆保存与检索
  2. 02SQLite 与 Markdown 本地存储
  3. 03自动去重、合并与归档
  4. 04冲突记忆待人工裁决
  5. 05记忆整理过程可回放审计
  6. 06六个 MCP 记忆工具

适用场景

  1. 01在新会话中找回项目背景与偏好
  2. 02整理并检索长期积累的资料
  3. 03审核相互矛盾的记忆后再应用

MCP 相关

提供 stdio MCP 服务,向客户端开放 memory_save、memory_search、memory_list、memory_get、memory_update 和 memory_delete 六个工具。使用前需 DSH 插件运行并配置访问 token。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"modusensus-mneme-memory": {
"command": "npx",
"args": [
"-y",
"mneme-memory"
]
}
}
}
启动命令npx -y mneme-memory

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmneme-memory0.1.1

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
tagsarray否可选标签
typeenum是preference=用户资料;project=项目知识/状态;decision=关键决策;history=对话摘要;rejected_solution=已拒绝/放弃的实现方案;pitfall=调试经验(症状+根本原因+修复方法);constraint=工程约束preference | project | decision | history | rejected_solution | pitfall | constraint
titlestring是简短且唯一的标题
sourcestring否可选来源信息
contentstring是记忆正文
importanceinteger否1-5;>= 阈值时自动注入未来会话
agent_scopestring否可选的显式 Agent 作用域声明(issue #170):“global”或“*”可使此记忆对每个 Agent 可见;任何其他值都会将其限定为对应标签。此声明会覆盖本次写入的自动载体标签;即使禁用了自动作用域标注,也会生效。
occurred_atstring否可选的 ISO-8601 时间点,表示所记事件发生的时间(不同于写入时间)。无效值将被忽略。
sensitivitystring否可选的敏感度标签(自由格式,例如 personal)。敏感度不同的同标题条目会分开保存,而不会合并。
workspace_scopestring否可选的显式工作区作用域声明:“global”或“*”可使此记忆在每个工作区中可见;任何其他值都会将其限定为对应标签。此声明会覆盖本次写入的自动载体标签;即使禁用了自动作用域标注,也会生效。

详细介绍

Mneme — cross-session memory for AI agents

dsh-mneme

npm version npm downloads license CI node tests coverage Awesome

🌏 简体中文 · English


🧬 给 LLM 装上会自我进化的记忆

dsh-mneme 是 DeepSeek Harness (DSH) 的跨会话记忆插件。它不只「存得下」,更「管得好」:后台自动去重合并、矛盾先冻结等你裁决、全程可回放审计、记忆只落在本机,还支持导出成人可读的 Markdown。

Mneme(Μνήμη)源自希腊记忆女神 Mnemosyne。她掌管记忆与梦境——正如 autoDream 在后台默默巩固你的记忆库。

📰 最近更新

日期版本头条
2026-10-21v0.9.4三条链各自补上「最后一环」 — 这一版的三件事同一种形状:东西早就造好了,只差没人能叫它。① agent 主动整理(#231):引擎在 v0.8 就落在 src/organize.js(先 dryRun 出比对报告 → agent 判断 → apply 落库,筛除只归档不删,全程复用 dream_runs 回执),可它没有任何调用入口——工具表里没有它、两张 API 脸 0 命中、全仓 .organize( 零调用点,只有测试能调到。现在它有工具了:memory_organize,organizeEnabled 默认关(关 = 工具根本不注册,模型看不到就不会调)。② 画像能被反向提取了(#497):面板「用户画像」加一个按钮,读活跃记忆、花一次宿主模型调用,产一段「助手眼中的用户」草稿——只出草稿:采用是你在面板上再点一次,你手写的原文不会被模型改写;空库和模型不配合都直接报错,绝不回一张空草稿冒充「这次没提炼出东西」(profileExtractEnabled 默认关)。③ 人格不再无条件进别人的会话:default 卡以前会落给所有没建卡的身份,于是宿主里自带身份的外部 bot 每一帧都收到两句「你是谁」撞在一起,而界面上「关掉这张卡」实际不生效——新增 personaStrictAddressing(默认关,历史行为逐字节不变)把「身份没建卡」与「卡被显式关掉」都收回到不注入。同版补上蒸馏的转录围栏 + 解析失败护栏(#494:一条会话被同一个窗口卡死、重试 20 次越试越贵的根因;失败行现在恒带原始输出形状,事后能回答「模型到底吐了什么」),并把面板里那段自称「注入生效文本」的只读区改成由后端渲染——它以前既没有人格三行也没有表头和前缀,标题却承诺了模型实际看到的东西。
2026-10-20v0.9.3M.O. 从「挖得出来」跑到「会被叫去挖」 — 沉淀链的算法自 v0.9.1 起就写完了(多帧 zstd → 重复序列 → 缺席对照 → draft 草稿),可它在运行时没有任何调用点:全仓引用只出现在测试里。机器挖得出来、却永远不会被叫去挖——缺的从来不是算法,是归属与触发。这一版把三处接上:按会话头里的 cwd 反查项目桶(桶名是路径的有损变形,规则不在本仓,查不到就整跑跳过,而不是降级成全局普查——后者会把 A 项目的动作算到 B 头上,且结果看起来完全正常);新增 nudgeForProject 把「归属 → 挖掘 → 落盘」收成一个入口;挂 turn/end 按项目跑,冷却 10 分钟、单次预算 4 秒、延到宏任务、一次一个项目、抛错只 warn。它只产提议,不产草稿(#489):升格仍然要人批,面板也多了「现在沉淀一次」,与自动跑同一条入口、区别只有不改仓库。同版修掉三处「坏了却不报」:作用域反查自 v0.8.0 起每次都抛错走降级、canonical 归一与成员校验静默失效(#487);/nudge 的写盘口只拦 PUT/POST,带 token 的 PATCH/DELETE 会静默写盘、归属解析不看预算、桶名边收边截把「没看全」报成「确实没有」;多帧 zstd 的反证断言绑了 Node 的整块解语义,24.22.0 起过期(#490)。
2026-10-19v0.9.2让「看不见的失败」显形 — 这一版修的大多不是「缺功能」,是「坏了却不报」:功能开关一直是启动期生效,面板「已改」只说明值进了库,于是新增第三态「待重启」(#481);巩固的 dreamMaxTokens 默认值被原样当 max_tokens 发出去,撞上服务商上限后 180 次巩固 0 次成功,现在面板能改、超上限还会按服务商自己声明的上限自动降级(#478);自动蒸馏写入的行 100% 拿不到向量,注释承诺的「提交后补跑」从未存在(#477);CLI 把 -- 开头的值当成新旗标——这个缺陷只在 token 前两位恰好掷中 -(约 1/4096)时现形,潜伏了整整一个发布周期。另新增作用域级可逆闸门(#471,默认关):让一路记忆能被单独按下与松开,不改配置、不重启。

只记大改动,逐条细节见 CHANGELOG。

它解决什么问题

每次新开对话,AI 都像第一次认识你?

dsh-mneme 给 DeepSeek Harness 装上跨会话记忆。 你聊过的项目、提过的偏好、做过的决定,AI 都记得——即使关掉了窗口,下次打开还在。

场景没装插件装了插件
周一聊完项目需求,周三继续"能再描述一下你的项目吗?""你指的是上周提到的博客重构吗?当时你说想用 Astro。"
告诉 AI 你的编码习惯每轮都要重复交代一次设定,长期生效
整理大量资料后关窗口资料丢了自动归档,随时检索找回

但 dsh-mneme 的可信之处,恰恰在你看不见的后台。下面这些,才是它和「一个会存东西的插件」的本质区别。

为什么可以信任它

  • 🧾 可回放、可追责 — 每次自动整理都留一张「决策凭证」:输入快照 + 决策明细 + 结果哈希,同样的整理可复现回放,不默默吞错、不留无法追溯的改动。
  • ⚖️ 矛盾先冻结,等你裁决(可关)— 两条记忆打架时,不擅自替你做主。可疑冲突会挂起待审,状态页冲突队列里并排对比、一键裁决(保留 A / 保留 B / 仅标记),确认后才生效。复杂判断,人永远在线。
  • 🔐 记忆按 agent 与工作区隔离(可关)— scopeEnabled 开启后,每条记忆标注由哪个 agent、在哪个工作区写入;检索时本会话作用域优先(命中加权,他 scope 降权仍可见);strictScope 再进一步——显式声明收窄到他者作用域的记忆在检索/注入里完全不可见(载体自动标注只降权,不硬挡)。多 Agent、多项目互不串台。
  • 🌙 夜深人静才动手(可关)— 空闲时自动分层归档:常看的留在热区、久不用的压成摘要、陈旧的彻底归档。记忆库越用越精炼,不膨胀。
  • 🧠 语义检索可以完全离线 — 把 embedProvider 设为 local 后检索走本地 Embedding 与精排,不需要 API Key;没配嵌入时关键词 / BM25 检索照样能用。
  • 📝 Markdown 双向同步 — 记忆就是本地 .md 文件,随时打开编辑;人工改动会被优先尊重,不会被机器覆盖。
  • 💾 删对话 ≠ 删记忆 — 记忆是跨会话的全局知识,清空聊天窗口,已保存的记忆仍在(v0.7.11 起不再与会话绑定)。

它和 Zep / Mem0 / Letta / Hindsight 比呢? 有一张逐项对照表——存储底座、检索、写入时抽取、离线巩固、冲突处理、遗忘、作用域、可审计性、多宿主、离线、许可证共 11 行,「—」不等于「差」:能力对比。

5 分钟上手

# 安装插件(最省事的一条:npm 包名)
dsh plugin --profile web add @modusensus/dsh-mneme
dsh web
四种安装来源

DSH 的 设置 → 插件 → Add plugin 与 dsh plugin add 认四种写法,填进去的是什么就装什么。本仓库是个单仓多包:仓库根那份 package.json 只是仓库壳(private、不带 dsh 字段),真正可安装的插件本体在 dsh-mneme/。所以走 Git 或 tarball 时必须指到子目录,否则装到的是壳本身。

为什么仓库根要放一份装不了的壳?因为有些单仓多包探测器(比如 dshfind 的插件探测)只认仓库根的清单——没有它就会把本仓库判成「不可安装的插件包」,而这句判词与实际上能不能装无关。根清单 private + 0.0.0 + 不带 dsh 字段,就是为了让这类工具能找到子包、同时绝不被当成插件本体安装或发布。

来源填什么备注
npm 包名@modusensus/dsh-mneme推荐;可带版本 @0.9.0
Git 仓库git+https://github.com/slow-stack/mneme.git#path:/dsh-mneme#path: 不可省。省掉装到的是仓库根那份壳(0.0.0、无 dsh 字段),宿主不会把它当插件
tarballC:\\path\\to\\modusensus-dsh-mneme-0.9.0.tgz在 dsh-mneme/ 里 npm pack 产出;pnpm pack 会因 bin 脚本 CRLF 失败
本地目录C:\\path\\to\\mneme\\dsh-mneme必须是绝对路径;相对路径会被宿主直接拒掉(a local path must be absolute)
# 从源码装(本地目录,改完代码重启即生效)
git clone https://github.com/slow-stack/mneme.git
dsh plugin --profile web add "$(pwd)/mneme/dsh-mneme"

# 或者直接从 Git 装(不落源码,适合只要个能跑的版本)
dsh plugin --profile web add 'git+https://github.com/slow-stack/mneme.git#path:/dsh-mneme'

面板里那行「Install guide and examples」只演示了包名一种写法;上面四种都是实测通过的。Git 与 tarball 来源在安装时宿主会做一次仓库可达性检查(超时默认 5 秒)。

装完即可用。想在 5 分钟内看到它的价值:

  1. 聊:新开对话,跟 AI 聊几句关于你的偏好或手头项目(比如"我写代码更喜欢 4 空格缩进")。
  2. 等:关掉窗口,重开新对话。如果它还记得刚才的事,说明记忆已经写入。
  3. 调:去「设置 → 记忆库设置」按需打开下面三个开关(见快速配置)。

快速配置(可选)

需求配置项默认值改法
完全离线运行embedProvideropenai改为 local
后台自动整理记忆autoDreamtrue改为 false 可关
自动提取结构化实体entityExtractionEnabledfalse改为 true
多 Agent / 多项目记忆隔离scopeEnabled(需要更强隔离再加 strictScope,硬隔离只对显式声明生效)false改为 true

以上均在 DSH 设置面板 → 记忆库设置 中修改。完整配置见 配置章节。

记忆库落点建议

记忆库默认在 ~/.dsh/memory,天然在宿主 profile 作用域之外;但真实落点由 memoryDir 配置决定。若把它指进 profile 作用域(形如 …/profiles/<名字>/…),宿主清理或迁移 profile 时记忆库会被连带带走(#218 末楼记录的实际事故)。插件启动时检测到这种落点会打一条告警——只提示、不搬库。安全做法:memoryDir 保持在 profile 之外(默认值即可);要迁移库 = 停止写入 → 复制整个目录 → 改配置指向新位置 → 重启。

一图看懂记忆闭环

  写入 ──► 质量过滤(无用信息先拦下)
    │
    ▼
  SQLite + 本地 Markdown 镜像
    │(空闲时)
    ├─ autoDream :去重 / 合并 / 归档 / 修正 / 冲突冻结
    └─ Sleep Mode :分层压缩 + 模式发现 + 关系补全(可关)
    │
    ▼
  召回(混合检索 + 精排)──► 注入会话上下文

🧭 M.O.:让「怎么做」也住进仓库(v0.9 beta)

记忆库记得住为什么这么做,但记不住这件事到底怎么跑。工作流住在哪,决定了它能不能被改:住在记忆库里是一行没有 diff 的文字,住在会话里是一次性的提示词,住在人脑里改不动也不留痕。

所以 v0.9 把它们搬进项目仓库——一条工作流一个文件:

<项目>/.mneme/pipelines/<id>.json     ← 项目层(能提交、能 diff、能 PR、能被 CI 读)
<插件包>/pipelines/<id>.json          ← 全局层(兜底,今天包里没有这个目录,这是有意的)

分工是一句话:记忆是「为什么」,仓库是「怎么跑」,图是「看起来怎么样」。

  • 护栏,不是轨道 — 图上必须留一扇合法的逃生门:agent 判断这条路这次不对时,按风险档决定「记账先走」还是「停下问人」。跳过 = 这次不用这一步(≥3 次提议删这一步);绕开 = 这条路整个不对(≥3 次提议重看这条路径)。两个指标分开数,混在一起两种提议都发不出来。
  • 候选不进仓库 — 草稿住在 <memoryDir>/candidates/<项目键>/,只在本地。一天长十条死九条的东西进仓库就是垃圾。升格要同时满足「走过两次(至少一次成功)」且「写得出反事实」;够格之后系统只提议,提交与推送始终是人握着的那道门。
  • 面板画的图和 agent 读的是同一份数据 — 只画不存,agent 就什么也读不到。节点状态(refuted / trusted / stale / candidate)全部从运行记录推,不由作者写死;今天还没有运行记录落点,所以全体恒为 candidate——这就是那个 beta 标签必须摆在脸上的原因。

默认关(actionPipelineEnabled)。设计取舍与踩过的坑见 docs/WORKFLOWS.md。

界面预览

面板内置中英双语,跟随你的 DSH 界面语言显示。以下为中文截图,英文版请切至文末 English 段落。

记忆库浏览
记录、浏览与筛选你的记忆。

实体与关系图谱
自动从记忆里提炼实体,构建带属性的关系图谱。

状态与审计
状态面板一眼看清向量索引、LLM 消耗与自动巩固记录。

记忆库设置
检索、实体抽取与记忆巩固开关都在设置里一站式配置。

帮助与反馈
可选写保护 Token,以及本地化的反馈通道,让记忆库完全本地、可审计。

隐私承诺

  • 记忆只落在本机:SQLite 存储 + 可手工编辑的 Markdown 镜像,不经过任何 mneme 服务器
  • 记忆是 Markdown 文件,人类可读、可手工编辑
  • 不需要 mneme 自己的 API Key;巩固与摘要走你已配置的宿主模型(autoDream / autoSummarize 默认开)
  • 想连巩固也完全离线:把宿主换成本地模型(并清空 dreamProvider / dreamModel 与 summarizeProvider / summarizeModel —— 配了这两组就绕过宿主直连,换宿主不会生效),或直接关掉 autoDream / autoSummarize
  • 无遥测、无分析、无远程日志

用在其他 AI 工具里(MCP)

插件自带零依赖 stdio MCP server(独立 npm 包 mneme-memory,bin 名 mneme-mcp),任何 MCP 客户端都能挂载记忆六件套(memory_save / memory_search / memory_list / memory_get / memory_update / memory_delete)。

前置条件(一次性):

  1. DSH 在运行且插件已安装(MCP 数据面走插件的独立 API 127.0.0.1:8790)
  2. 在 DSH 面板「设置 → 外部访问 API」生成 token

各客户端挂载(<你的token> 替换为上一步生成的值):

客户端挂载方式
Claude Code项目根 .mcp.json:{"mcpServers": {"mneme-memory": {"command": "mneme-mcp", "env": {"MNEME_TOKEN": "<你的token>"}}}}
Cursor设置 → MCP → Add Server,command 填 mneme-mcp,env 加 MNEME_TOKEN
Codex~/.codex/config.toml:[mcp_servers.mneme-memory] 段,command = "mneme-mcp",env = { MNEME_TOKEN = "<你的token>" }
Hermes~/.hermes/config.yaml 的 mcp_servers: 段:mneme-memory: {command: "mneme-mcp", env: {MNEME_TOKEN: "<你的token>"}},重启生效
OpenCodeopencode.json:{"mcp": {"mneme-memory": {"type": "local", "command": ["mneme-mcp"], "environment": {"MNEME_TOKEN": "<你的token>"}}}}
OpenClawopenclaw mcp add mneme-memory --command mneme-mcp --env MNEME_TOKEN=<你的token>,或 Control UI → Settings → MCP

旧挂载兼容:已部署的 dsh-mneme-mcp + DSH_MNEME_TOKEN 写法继续有效(bin 与 env 变量均保留,无需迁移)。未全局安装 npm 包时,把 command 换成 npx 并追加参数 -p mneme-memory mneme-mcp(Claude Code/OpenCode 写进 args 数组,Codex 写 args = ["-p", "mneme-memory", "mneme-mcp"])。配置细节与安全注意事项见完整文档。

不开 DSH 也能服务(独立服务 daemon)

dsh-mneme-serve 把记忆库跑成常驻数据面——DSH 关着,第三方集成(网页端桥接、脚本、自有面板)照样读写同一份记忆:token 与 DSH 面板/CLI 共用,路由与「外部访问 API」同源,端口被占直接报错(与 DSH 外部访问二选一)。第一期无 LLM(巩固/蒸馏仍属 DSH 宿主);检索默认 local 嵌入(首次启动自动取件模型,--embed off 可关)。

npm i -g @modusensus/dsh-mneme
dsh-mneme-serve          # 默认 ~/.dsh/memory + 127.0.0.1:8790

社区适配器

社区项目把 mneme 接入更多平台——它们不是本仓库的一部分,兼容性由各自维护者跟进:

项目平台说明
Mneme-BridgeDeepSeek 网页端浏览器扩展 + 本地服务:网页端会话蒸馏进 mneme 记忆库、DSH 侧记忆按话题回注,两侧共享同一份记忆。embedded(挂载 lib)与 remote(standalone API,不开 DSH 时配合上面的 daemon)双模式

想被收录?在 Discussions 开帖介绍你的项目,或直接提 PR 补充本表。

文档

文档路径
插件完整文档(功能 / 安装 / 配置 / 架构)dsh-mneme/README.md
stdio MCP server——Claude Code / Cursor 等任意 MCP 客户端接入记忆六件套dsh-mneme/README.md · MCP Server
独立服务 daemon(不开 DSH 常驻数据面)dsh-mneme/docs/DAEMON.md
配置说明(全键参考)dsh-mneme/docs/CONFIGURATION.md
蒸馏原文留存与记忆级溯源(#399)dsh-mneme/docs/DISTILL.md
实体结构化设计dsh-mneme/docs/ENTITIES.md
工作流(M.O.):本体住仓库、证据住记忆库dsh-mneme/docs/WORKFLOWS.md
语义架构dsh-mneme/docs/SEMANTIC.md
本地模型部署指南dsh-mneme/docs/LOCAL_MODEL.md
与 Zep / Mem0 / Letta / Hindsight 的能力对比docs/COMPARISON.md
版本历史dsh-mneme/CHANGELOG.md
安全策略SECURITY.md

🗺️ 路线图

🧬 记忆基因 → 🛡️ 审计加固 → 💤 睡眠维护 → 🕸️ 召回融合与图谱 → ✨ 面板增强 → 🌡️ 自进化记忆 → 🔐 作用域隔离 → 🌐 生态(MCP / daemon)→ 🧭 M.O.(项目级工作流)
版本主题状态
v0.3记忆基因:实体 / 属性(带时间轴)/ 关系✅
v0.4Sleep Mode:空闲四阶段深度维护✅
v0.5召回融合与记忆可视化:BM25 + 图谱 + 热记忆✅
v0.6会话生命周期:删对话 ≠ 删记忆✅
v0.7自进化记忆:热度衰减 + 睡眠双保护 + 桌面端工作台/功能开关✅
v0.8作用域隔离(agent/workspace 双维隔离 + 检索加权 + opt-in 硬过滤)+ 冲突队列人工裁决 + 归属显式声明 + 生态化(stdio MCP server / 图召回轴 / 冷启动 / 注入截断与状态条 / 蒸馏可靠性 / 注入形态与 agent 主动整理接口 / 配置说明与 issue 模板)✅ 已发布(至 v0.8.16)
v0.9M.O.(Modus Operandi)beta:项目级工作流本体 + 候选分层与升格判据 + 面板清单/图同屏;设置面板按「新手之外」重划折叠线(#427);安全审计与供应链加固(声明式路由鉴权、OSV 阻断、发布签名);v0.9.1 补上写侧:执行窗口、运行账、归属候选、观察旁挂与脱节检出、步骤 assert/optional、沉淀链草稿挖掘、人格定义页(按 agent 多卡);v0.9.2 让看不见的失败显形:功能开关第三态「待重启」、作用域级可逆闸门(#471)、巩固 max_tokens 超上限自动降级(#478);v0.9.3 接通自动沉淀:按会话头 cwd 反查项目桶、挂 turn/end、冷却 10 分钟、单次预算 4 秒,只产提议不产草稿(#489),并修作用域反查自 v0.8.0 起静默降级(#487)、/nudge 写盘口漏拦 PATCH/DELETE、多帧 zstd 反证断言绑 Node 整块解语义(#490);v0.9.4 补上三条链的最后一环:agent 主动整理接口有了工具(memory_organize,organizeEnabled 默认关,关时模型根本看不到它)、画像可以从记忆提取草稿(profileExtractEnabled 默认关,只出草稿、采用是用户再点一次,手写的原文不被模型改写)、人格 default 卡不再无条件进「没建卡」的身份(#497,personaStrictAddressing 默认关),面板那段「注入生效文本」改成由后端单源渲染,另补蒸馏转录围栏与解析失败护栏(#494)✅ 已发布(v0.9.4)

完整逐小版本说明见 CHANGELOG。

🧪 本地开发

cd dsh-mneme && npm install
npm test        # 2302 个测试
npm run stress  # 三轴线压测
npm run sync    # src → lib 同步

🙏 致谢

autoDream 的理念溯源(理念借鉴、实现原创):

在上述工作之上,dsh-mneme 做了自己的工程发展:K-Means++ 聚类预分组、类型化决策清单(keep / merge / archive / conflict / update,及 sleep 侧 supersede / differentiate)与可回放的 sha256 摘要审计链(dream_runs / receipt_chain)。如有遗漏的灵感来源,欢迎提 issue 指出。

📚 相关研究

dsh-mneme 的机制设计与下列公开研究相互印证(以下引用均逐一核对过 arXiv 收录页;机制对应关系为我们自己的映射,非原论文观点):

  • 在线写入 + 离线巩固:Dual-Layer Agentic Memory with Fast Write Routing and Slow Consolidation(arXiv:2608.22215)——与 autoDream 的「快写慢巩固」分工同构。
  • 热度衰减与访问强化:FadeMem(arXiv:2601.18642)——heat 记忆热度模型(指数衰减 × 访问强化 × 重要性调制)的学术近亲。
  • 冲突裁决与状态追踪:StateMemBench(arXiv:2608.19652)——记忆系统追踪演化状态的考卷;C1 冲突裁决(supersede 后不再引用旧值)以其为验收靶子。
  • 何时该忘 / scope 门控:PersistBench(arXiv:2602.01146);呈现层缓解见 Structured Memory(arXiv:2608.08300)——scope 语义域门控的问题出处与零契约变更改法。
  • 领域全景:Write–Manage–Read 综述(arXiv:2603.07670)——「写入 / 管理 / 读取」三段式与插件整体形状互证。
  • 数月尺度的可靠性工程:Memory as Infrastructure(arXiv:2609.05510)——与 sha256 审计链、fail-safe 降级同属「记忆即基础设施」路线。
  • 相邻系统(对照):Zep(时序知识图谱)、Mem0(生产级抽取式记忆)、Hindsight(retain / recall / reflect 三操作)走「写入时 LLM 抽取 + 向量/图检索」路线;dsh-mneme 的差异点在于:巩固由 LLM 参与但产物全程留痕可回放,冲突冻结待人工复核,记忆只落本机。

🧬 Give Your LLM a Memory That Evolves

dsh-mneme is a cross-session memory plugin for DeepSeek Harness (DSH). It does not just store your memories — it manages them: background deduplication and merging, conflicts frozen for your review, a fully replayable audit trail, memory kept on your machine, and export to human-readable Markdown.

Mneme (Μνήμη) comes from Mnemosyne, the Greek goddess of memory and dreams — just as autoDream quietly consolidates your memory store in the background.

📰 Recent updates

日期版本标题
2026-10-21v0.9.4三条链路各自补上了缺失的最后一环 — 本次发布的三个事项有着相同的模式:功能早已构建完成,却没有任何东西能调用它。① 由 Agent 驱动的整理 (#231):引擎早在 v0.8 就已加入 src/organize.js(dryRun 对比报告 → Agent 决策 → apply 持久化;筛除的内容会归档而非删除;每一步都会留下 dream_runs 凭据),但它完全没有入口——不在工具表中,在两个 API 接口上都没有命中,在仓库中也没有任何 .organize( 调用点;只有它自己的测试能访问它。现在它有了一个工具:memory_organize,由 organizeEnabled 控制,默认关闭(关闭时甚至不会注册该工具,因此看不到它的模型也不会调用它)。② 终于可以生成个人资料了 (#497):面板的个人资料卡片新增了一个按钮,可以读取活跃记忆,调用一次宿主模型,并返回一份“在助手看来是这样”的草稿——仅仅是草稿:应用它需要你再点一次,而且模型绝不会改写你手动编写的文本;存储为空或模型行为异常都会报错,绝不会用空草稿冒充“这次没有内容可提取”(profileExtractEnabled,默认关闭)。③ 角色设定不再泄露到别人的会话中:过去,default 卡片会交给所有没有卡片的身份,因此在同一宿主中运行、拥有自身身份的第三方机器人,每轮都会收到两条“你是……”声明;而在面板中“关闭这张卡片”也毫无作用。新增的 personaStrictAddressing(默认关闭,现有行为逐字节保持不变)会让“此身份没有卡片”和“卡片已明确关闭”这两种情况都不注入任何内容。同一版本还为蒸馏加入了对话记录边界保护和解析失败防护 (#494:修复了一个会话卡在同一窗口、重试 20 次且每次成本都更高的根因;失败的行现在总会带有原始输出形态,因此事后可以回答“模型实际输出了什么”),并且面板中那个自称为“注入文本”的只读卡片现在由后端渲染——此前它既不显示角色设定内容,也不显示它声称会映照的标题和前缀。
2026-10-20v0.9.3M.O. 从“能挖掘”变为“真正被召来挖掘” — 蒸馏链路从 v0.9.1 起就已完整实现(多帧 zstd → 重复序列 → 缺失对比 → 草稿工作流),但运行时没有任何调用点:仓库中的所有引用都只存在于测试里。机器能挖掘,却从未有人调用它。缺少的从来不是算法,而是归属判定和触发机制。本次发布接通了三项功能:根据会话标头中的 cwd 解析项目的会话分桶(分桶名称是路径经过有损转换后的结果,其规则位于本仓库之外;查找失败时会跳过整次运行,而不是退化为全局扫描——后者会把项目 A 的操作归到项目 B 名下,结果看起来却完全正常);新增 nudgeForProject,将“归属判定 → 挖掘 → 持久化”合并为一个入口;以及一个按项目运行的 turn/end 钩子,冷却时间为 10 分钟、预算为 4 秒、延后至宏任务执行、每次处理一个项目,出错时只发出警告。它只会生成提案,不会生成草稿 (#489):晋升仍需人工确认;面板也在同一入口上新增了“立即蒸馏”按钮,唯一不同之处是它不会触及仓库。同一版本还修复了三个“坏了却静默无声”的缺陷:自 v0.8.0 起,范围反向查找每次都会抛出异常并静默退化,导致规范化处理和成员检查被禁用 (#487);/nudge 的写入门控只拦截 PUT/POST,因此带令牌的 PATCH/DELETE 会静默持久化提案;此外,归属解析忽略预算,且收集时分桶名称会被截断——把“没有检查全部内容”报告成“确实什么都没有”;以及一个绑定到 Node 全缓冲区解码语义的多帧 zstd 计数器断言,该语义已于 24.22.0 过期 (#490)。
2026-10-19v0.9.2让静默故障显现出来 — 本次发布修复的大多数问题并非缺少功能,而是功能出错却从不报告。功能标志一直要到启动时才会生效,因此亮起的“已更改”徽标只代表值已写入数据库;现在新增了第三种状态:等待重启 (#481)。默认的 dreamMaxTokens 会原样作为 max_tokens 发送,超出提供方上限:八天内 180 次整合,0 次成功——现在可以在面板中编辑它,超限请求也会在提供方声明的上限处重试一次 (#478)。自动蒸馏写入的行完全没有向量;注释中承诺的“延后到提交时处理”从未实现 (#477)。此外,CLI 会把以 -- 开头的值当作新标志——只有随机令牌碰巧以 - 开头时才会触发此缺陷(概率约为 1/4096),这就是它为何隐藏了整整一个发布周期。另有一项新增功能:范围级可逆门控 (#471,默认关闭),可暂停单个范围,无需编辑配置或重启。

仅列出标题;完整列表请查看 CHANGELOG。

它解决了什么问题

每次开始新聊天,AI 都像是从未认识过你?

**dsh-mneme 为 DeepSeek Harness 提供跨会话记忆。**你讨论过的项目、提到过的偏好、做出的决定——即使关闭窗口,AI 也会记住。

场景不使用插件使用插件
周三继续讨论周一的项目“能再介绍一下你的项目吗?”“你是指上周的博客重构吗?你提过想用 Astro。”
告诉 AI 你的编码习惯每次会话都要重复设置一次,永久记住
整理研究资料后关闭窗口笔记会丢失自动归档,随时可检索

不过,dsh-mneme 值得信赖之处,在于你看不到的后台机制。以下特性让它有别于“只是保存内容的插件”。

为什么值得信赖

  • 🧾 可重放、可追溯 — 每次整合都会留下“决策凭证”:输入快照 + 决策详情 + 结果哈希。同一次运行会重现相同结果。不会悄悄合并错误,也不会出现无法追溯的更改。
  • ⚖️ 冲突会冻结,由你决定(可选启用)— 两条记忆相互矛盾时,它不会替你选边。疑似冲突会暂存以供审核,并在状态页的冲突队列中并排显示,只需点击一次即可解决(保留 A / 保留 B / 标记为已审核)。遇到难以判断的情况,始终由人来把关。
  • 🔐 按 Agent 和工作区隔离记忆(可选启用)— 启用 scopeEnabled 后,每条记忆都会标明由哪个 Agent 在哪个工作区写入;检索时会优先匹配当前范围(命中项加权,范围外的记忆降权但仍可见);strictScope 更进一步——明确指定为其他 Agent / 工作区范围的记忆不会显示在搜索和注入结果中(自动载体标签只会降权,不会被彻底屏蔽)。多个 Agent 和项目之间互不干扰。
  • 🌙 你休息时,它也在工作(可选启用)— 闲置时会触发分层归档:频繁使用的记忆保持活跃,过时的记忆压缩为摘要,更久远的记忆则归档。存储内容不断增长,体量依然精简。
  • 🧠 可完全离线运行的语义搜索 — 将 embedProvider 设为 local,检索便会使用本地嵌入和重排序,无需 API 密钥;没有嵌入器时,关键词 / BM25 检索仍可正常工作。
  • 📝 双向 Markdown 同步 — 记忆以本地 .md 文件保存,可打开并编辑;系统会保留人工编辑内容,绝不会覆盖。
  • 💾 删除会话 ≠ 删除记忆 — 记忆是跨会话共享的全局知识;清空聊天窗口不会删除已保存的内容(自 v0.7.11 起,记忆不再绑定会话)。

它与 Zep / Mem0 / Letta / Hindsight 相比如何? 我们提供了一张逐项对比表,涵盖存储、检索、写入时提取、离线整合、冲突、遗忘、范围管理、可审计性、多主机、离线使用和许可证,共 11 项;“—”不代表“更差”:能力对比(中文)。

5 分钟快速入门

# Install the plugin (the easy path: npm package name)
dsh plugin --profile web add @modusensus/dsh-mneme
dsh web
四种安装来源

Settings → Plugins → Add plugin 和 dsh plugin add 接受四种规格——粘贴什么,就会安装什么。本仓库是一个多包仓库:根目录的 package.json 只是一个仓库外壳(private,没有 dsh 字段),而可安装的插件位于 dsh-mneme/。因此,Git 和 tarball 规格必须指向该子目录;否则安装的就是外壳本身。

为什么要在仓库根目录放一个无法安装的外壳?因为有些多包检测器(比如 dshfind 的插件探测器)只会检查根目录清单——没有它,这个仓库就会被判定为“不是可安装的插件包”,但这并不能说明它实际上是否可以安装。根目录清单设置为 private + 0.0.0,且不包含 dsh 字段,正是为了让这类工具能找到真正的子包,同时确保该外壳永远不能作为插件本身安装或发布。

来源粘贴此内容备注
npm 名称@modusensus/dsh-mneme推荐;也可以使用版本范围(@0.9.0)
Git 仓库git+https://github.com/slow-stack/mneme.git#path:/dsh-mneme#path: 不可省略。省略后会安装根目录外壳(0.0.0,没有 dsh 字段)——宿主不会将其视为插件
tarballC:\\path\\to\\modusensus-dsh-mneme-0.9.0.tgz在 dsh-mneme/ 中运行 npm pack 生成;pnpm pack 会因 bin 脚本使用 CRLF 行尾而失败
本地目录C:\\path\\to\\mneme\\dsh-mneme必须是绝对路径——相对路径会被直接拒绝(a local path must be absolute)
# From source (local directory; edit code, restart, done)
git clone https://github.com/slow-stack/mneme.git
dsh plugin --profile web add "$(pwd)/mneme/dsh-mneme"

# Or straight from Git (no checkout; good for just running a version)
dsh plugin --profile web add 'git+https://github.com/slow-stack/mneme.git#path:/dsh-mneme'

“Install guide and examples”面板只展示了 npm 形式;以上四种来源均已验证。Git 和 tarball 来源在安装时会进行一次仓库可访问性检查(默认超时为 5 秒)。

安装后即可开箱使用。只需五分钟,就能体验它的价值:

  1. 对话——开始一个会话,告诉 AI 一些关于你的偏好或项目的信息(例如:“我偏好 4 个空格缩进。”)。
  2. 验证——关闭窗口,再打开一个新窗口。如果它能回想起你说过的话,说明记忆已生效。
  3. 调整——打开 Settings → Memory Settings,根据需要切换下面的三个开关。

快速配置(可选)

需求配置键默认值修改方式
完全离线embedProvideropenai改为 local
后台整合autoDreamtrue改为 false 以禁用
结构化实体提取entityExtractionEnabledfalse改为 true
按 Agent / 工作区隔离记忆scopeEnabled(添加 strictScope 可增强隔离——仅对显式声明应用硬性阻止)false改为 true

这些配置都位于 DSH Settings → Memory Settings。完整配置文档见配置部分(中文双语文件)。

记忆库放在哪里

记忆库默认位于 ~/.dsh/memory,自然处于任何宿主配置文件作用域之外;实际位置由 memoryDir 配置决定。如果它指向配置文件作用域内(如 …/profiles/<name>/…)的路径,那么宿主清理或迁移配置文件时,记忆库也会一并移除(#218 中记录过一次实际事件)。插件检测到此类位置时会在启动时记录警告——仅作提示,绝不会移动你的数据。安全做法:将 memoryDir 保持在配置文件目录之外(默认值已经如此);迁移时,先停止写入 → 复制整个目录 → 将配置指向新位置 → 重启。

一张图看懂记忆循环

  write ──► quality filter (drop noise first)
    │
    ▼
  SQLite + local Markdown mirror
    │ (when idle)
    ├─ autoDream   : dedupe / merge / archive / fix / freeze-conflict
    └─ Sleep Mode  : tiered compression + pattern discovery + relation completion (opt-in)
    │
    ▼
  recall (hybrid search + rerank) ──► inject into the conversation

🧭 M.O.:让“如何执行”留在代码库中(v0.9 beta)

记忆库会记住做某件事的原因,但不会记住这件事实际如何运行。工作流存放的位置决定了它能否被修改:作为记忆库中的一行内容,它没有差异记录;作为会话提示词,它只存在一次;存在某人的脑海中,就无法编辑,也不会留下痕迹。

因此,v0.9 将工作流移入项目代码库——每个工作流一个文件:

<project>/.mneme/pipelines/<id>.json   ← project layer (commit, diff, PR, readable by CI)
<plugin>/pipelines/<id>.json           ← global layer (fallback; the package ships none today, on purpose)

一句话说明分工:记忆负责“为什么”,代码库负责“如何做”,图谱负责“看起来是什么样”。

  • 护栏,而非轨道——图谱必须留有合法的退出通道:当 Agent 判断这次这条路径不对时,风险等级决定是继续执行并记录,还是停下来询问。跳过表示不需要此步骤(≥3 次 → 建议删除该步骤);绕过表示整条路径都不对(≥3 次 → 建议重新审视该路径)。分别计数——如果合并计算,这两种建议都永远不会触发。
  • 候选内容绝不进入代码库——草稿仅保存在本地的 <memoryDir>/candidates/<project-key>/ 中。一天十条,九条废弃:放进代码库只会成为垃圾。晋升为正式内容必须同时满足“走过两次(至少一次成功)”和“能够说明反事实”;即便如此,系统也只会提出建议——提交和推送仍由人工把关。
  • 面板和 Agent 读取相同的数据——仅渲染意味着 Agent 什么都读不到。节点状态(refuted / trusted / stale / candidate)根据运行记录推导,绝不手动填写;目前还没有运行记录接收端,因此每个节点都是 candidate——这正是 beta 标签必须显示出来的原因。

默认关闭(actionPipelineEnabled)。设计权衡与注意事项:docs/WORKFLOWS.md(中文)。

截图

面板为双语界面,并遵循 DSH 界面语言。以下为英文截图;本地化界面请参见中文部分。

记忆浏览
记录、浏览和筛选记忆。

实体与关系
从记忆中提取实体,并构建带属性的关系图谱。

状态与审计
状态面板一目了然地显示向量索引、大模型开销和整合活动。

记忆设置
在同一处配置检索、实体提取和整合开关。

帮助与反馈
可选的写保护令牌和反馈渠道,助您实现完全本地化、可审计的设置。

隐私

  • 记忆保存在您的设备上:使用本地 SQLite 存储和可编辑的 Markdown 镜像,整个流程不经过 mneme 服务
  • 记忆以 Markdown 文件形式保存,便于阅读和编辑
  • 无需 mneme API 密钥;整合和摘要使用您已配置的宿主模型(默认开启 autoDream / autoSummarize)
  • 也想让整合完全离线运行?将宿主指向本地模型,并且清除 dreamProvider / dreamModel 以及 summarizeProvider / summarizeModel(设置这些路由会直接调用对应提供方,因此仅切换宿主并无帮助)——或者直接关闭 autoDream / autoSummarize
  • 无遥测、无分析、无远程日志记录

在其他 AI 工具中使用(MCP)

该插件附带一个零依赖的 stdio MCP 服务(独立 npm 包 mneme-memory,可执行文件 mneme-mcp)。任何 MCP 客户端都可以挂载这六个记忆工具(memory_save / memory_search / memory_list / memory_get / memory_update / memory_delete)。

一次性前提条件:

  1. DSH 正在运行且已安装该插件(MCP 数据平面通过插件的独立 API 127.0.0.1:8790)
  2. 在 DSH 面板的 Settings → External API 下生成令牌

各客户端的设置(将 <your-token> 替换为上一步生成的值):

客户端设置
Claude Code项目根目录下的 .mcp.json:{"mcpServers": {"mneme-memory": {"command": "mneme-mcp", "env": {"MNEME_TOKEN": "<your-token>"}}}}
CursorSettings → MCP → Add Server;命令为 mneme-mcp,环境变量为 MNEME_TOKEN
Codex~/.codex/config.toml:[mcp_servers.mneme-memory] 部分,command = "mneme-mcp",env = { MNEME_TOKEN = "<your-token>" }
Hermes~/.hermes/config.yaml 的 mcp_servers: 部分:mneme-memory: {command: "mneme-mcp", env: {MNEME_TOKEN: "<your-token>"}},然后重启
OpenCodeopencode.json:{"mcp": {"mneme-memory": {"type": "local", "command": ["mneme-mcp"], "environment": {"MNEME_TOKEN": "<your-token>"}}}}
OpenClawopenclaw mcp add mneme-memory --command mneme-mcp --env MNEME_TOKEN=<your-token>,或通过 Control UI → Settings → MCP

旧版挂载方式仍可使用:仍支持 dsh-mneme-mcp + DSH_MNEME_TOKEN(可执行文件和环境变量均予以保留;无需迁移)。如果未全局安装 npm 包,可使用 npx 作为命令,并传入参数 -p mneme-memory mneme-mcp(在 Claude Code/OpenCode 中使用参数数组;在 Codex 中使用 args = ["-p", "mneme-memory", "mneme-mcp"])。完整配置详情和安全说明:完整文档(中文)。

不使用 DSH 提供记忆服务(独立守护进程)

dsh-mneme-serve 将记忆存储作为长期运行的数据平面——即使 DSH 已关闭,第三方集成(web-bridge 工具、脚本、自定义面板)仍可读写相同的记忆:Bearer 令牌与 DSH 面板/CLI 共用,路由与外部 API 一致;如果端口已被占用,则会报错并停止运行(守护进程和 DSH 外部 API 二选一,不可同时使用)。第 1 阶段不使用 LLM(整合/提炼仍由 DSH 主机负责);检索默认使用本地嵌入(首次启动时自动配置运行时和模型,可使用 --embed off 禁用)。

npm i -g @modusensus/dsh-mneme
dsh-mneme-serve          # defaults: ~/.dsh/memory + 127.0.0.1:8790

社区适配器

将 mneme 接入更多平台的社区项目——不属于本仓库;兼容性由其维护者跟踪:

项目平台描述
Mneme-BridgeDeepSeek web浏览器扩展 + 本地服务:网页聊天内容会被提炼并存入 mneme 存储,DSH 记忆则按主题注入回来,因此双方共享同一份记忆。支持嵌入式(挂载库)和远程(独立 API——与上文的守护进程配合使用)模式

想要列出你的项目?请发起 Discussion,或提交 PR,在此表中添加一行。

文档

文档路径
完整插件文档(功能 / 安装 / 配置 / 架构)dsh-mneme/README.md(中文)
stdio MCP 服务 — 将六种记忆工具接入任何 MCP 客户端(Claude Code / Cursor / …)dsh-mneme/README.md · MCP Server(中文)
独立守护进程(无需 DSH 即可提供记忆服务)dsh-mneme/docs/DAEMON.md(中文)
配置参考(所有键)dsh-mneme/docs/CONFIGURATION.md(中文)
精炼记录保留与记忆级溯源(#399)dsh-mneme/docs/DISTILL.md(中文)
实体结构设计dsh-mneme/docs/ENTITIES.md
工作流(M.O.):工作流存于代码库,证据存于记忆中dsh-mneme/docs/WORKFLOWS.md(中文)
语义架构dsh-mneme/docs/SEMANTIC.md
本地模型指南dsh-mneme/docs/LOCAL_MODEL.md
与 Zep / Mem0 / Letta / Hindsight 的能力比较docs/COMPARISON.md(中文)
更新日志dsh-mneme/CHANGELOG.md
安全SECURITY.md

🗺️ 路线图

🧬 Gene → 🛡️ Audit hardening → 💤 Sleep maintenance → 🕸️ Recall fusion & graph → ✨ Panel enhancement → 🌡️ Self-evolving memory → 🔐 Scope isolation → 🌐 Ecosystem (MCP / daemon) → 🧭 M.O. (project-level workflows)
版本主题状态
v0.3Gene:实体 / 有时限的属性 / 关系✅
v0.4Sleep Mode:空闲时进行 4 阶段深度维护✅
v0.5召回融合与可视化:BM25 + 图谱 + 热记忆✅
v0.6会话生命周期:删除会话 ≠ 删除记忆✅
v0.7自我演进记忆:热度衰减 + 睡眠双重保护 + 桌面工作台 / 功能开关✅
v0.8作用域隔离(Agent / 工作区标记 + 检索加权 + 可选硬过滤)+ 冲突审核队列 + 显式归属 + 生态系统(stdio MCP 服务 / 图谱召回轴 / 冷启动引导 / 注入截断与状态栏 / 蒸馏可靠性 / 注入塑形与 Agent 驱动整理 / 配置参考与问题模板)✅ 已发布(截至 v0.8.16)
v0.9M.O.(Modus Operandi)测试版:项目级工作流 + 候选项分级与晋升标准 + 面板列表与图谱视图;设置面板在「新手进阶」处重新折叠(#427);安全与供应链加固(声明式路由授权、OSV 门禁、签名发布);v0.9.1 增加写入端:执行窗口、运行日志、归属候选项、带漂移检测的观察侧车、步骤 assert / optional、从会话日志中挖掘草稿、角色页面(每个 Agent 各有卡片);v0.9.2 让静默故障可见:功能标志新增「待重启」第三种状态、作用域级可逆门禁(#471)、自动降低整合任务的 max_tokens(#478);v0.9.3 接入自动蒸馏:从会话标头的 cwd 解析项目存储桶,接入 turn/end,冷却时间为 10 分钟,预算为 4 秒,只生成提议、绝不生成草稿(#489);并修复自 v0.8.0 起一直在静默退化的作用域反向查找(#487)、/nudge 写入门禁遗漏 PATCH / DELETE 的问题,以及一个绑定到 Node 整缓冲区解码语义的多帧 zstd 计数器断言(#490);v0.9.4 补齐三条链路中缺失的最后一环:Agent 驱动整理界面终于有了对应工具(memory_organize,受 organizeEnabled 控制,默认关闭——关闭时模型甚至无法看到该工具);可从记忆起草个人资料(profileExtractEnabled,默认关闭;仅生成草稿——应用草稿需要用户另行操作,模型绝不会改写手写文本);角色 default 卡片不再分配给没有卡片的身份(#497,personaStrictAddressing,默认关闭);面板的「已注入文本」卡片现在由单一后端来源渲染,并新增蒸馏转录隔离标记和解析失败防护(#494)✅ 已发布(v0.9.4)

各次小版本的完整变更日志见 CHANGELOG。

🧪 本地开发

cd dsh-mneme && npm install
npm test        # 2302 tests
npm run stress  # three-axis stress test
npm run sync    # src → lib sync

致谢

autoDream 概念的来源(创意归功于相关来源,具体实现为原创):

在这些基础上,dsh-mneme 加入了自己的工程设计:K-Means++ 聚类预分组、类型化决策列表(保留 / 合并 / 归档 / 冲突 / 更新,睡眠阶段还包括取代 / 区分),以及可重放的 sha256 摘要审计链(dream_runs / receipt_chain)。如果遗漏了任何灵感来源,请提交 issue。

相关研究

dsh-mneme 的设计借鉴了以下公开研究(下方每条引用均已通过其 arXiv 页面核实;机制映射由我们自行完成,并非论文中的说法):

  • 快速写入 + 慢速整合:Dual-Layer Agentic Memory(arXiv:2608.22215)——与 autoDream 的在线写入 / 离线整合拆分相呼应。
  • 热度衰减与访问强化:FadeMem(arXiv:2601.18642)——与热度模型在学术上的思路相近(指数衰减 × 访问强化 × 重要性调节)。
  • 冲突解决与状态追踪:StateMemBench(arXiv:2608.19652)——用于追踪状态演变的基准;C1 冲突裁定(被取代后不再读取过时内容)以此为验收目标。
  • 何时遗忘 / 范围门控:PersistBench(arXiv:2602.01146);Structured Memory(arXiv:2608.08300)则在呈现层面进行缓解。
  • 领域综述:Write–Manage–Read survey(arXiv:2603.07670)——写入 / 管理 / 读取的分类与此插件的整体结构一致。
  • 数月尺度的可靠性:Memory as Infrastructure(arXiv:2609.05510)——与 sha256 审计链和故障安全降级同属「将记忆视为基础设施」这一流派。
  • 相关系统(对比):Zep(时序知识图谱)、Mem0(生产级提取)和 Hindsight(保留 / 回忆 / 反思)会在写入时使用 LLM 提取,并通过向量 / 图谱检索;而 dsh-mneme 保持整合过程可重放并提供完整审计记录,将冲突冻结以供人工审核,并默认将记忆保留在本地。

📜 许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。