夜雨聆风学习资料网

ARTICLE · 1067896

换 AI 编码工具不用再重新自我介绍!这个开源记忆中间件,让 Claude Code、Codex、Cursor 共享同一份"长期

换 AI 编码工具不用再重新自我介绍!这个开源记忆中间件,让 Claude Code、Codex、Cursor 共享同一份"长期

项目名称

Any Agent Memory Mesh(amm) —— 一个本地优先、厂商中立的 AI 编码代理持久化记忆中间件:基于 MCP 接入,让 WorkBuddy、Claude Code、Codex、Cursor、Kimi Code 等任何 MCP 兼容代理,读写同一份存在你自己电脑上的记忆网络。

项目2026年开源,主语言 Python,采用 MIT 许可证,全程可跑在本地——原始记录不离开你的机器,压缩和向量化默认走本地 Ollama。

解决什么问题

用 AI 编码代理干活的人,每天都在被三件事折磨:

  • 金鱼记忆
    :每次会话结束,上下文清零。昨天让代理踩过的坑、验证过的结论,今天它一无所知,全部重来;
  • 跨厂商交接断层
    :一个任务干到一半想换工具——从 Claude Code 换到 Codex 或 Cursor——新代理对项目架构一无所知,你得重新解释项目背景、哪些方案已经试过并且失败了、还有哪些问题没解决;
  • 记忆越攒越乱
    :就算有记笔记的习惯,原始流水账只会无限膨胀,从不被整理提炼,时间一长等于没记。

amm的解法是把记忆做成一张介于任何代理和本地存储之间的"记忆网":所有事件只追加进本地 SQLite(事件溯源,原始记录不可篡改),图表和向量视图全部是可丢弃的派生物(随时可重建),召回时用多跳图扩展 + 学习排序捞出真正相关的上下文,空闲时段由本地 LLM 自动把流水账压缩成可演化的知识。

一句话:换工具不换记忆,会话结束不忘事

特色亮点

  • 事件溯源架构
    :所有记忆以事件形式追加写入 SQLite(只 INSERT,永不 UPDATE/DELETE 业务数据),可审计、不失真;摘要、实体、关系、向量全是从事件派生的"可丢弃物化视图"——新事件进来自动标脏重算,换嵌入模型维度变了也只是重建图表目录;
  • 图 + 向量双引擎
    :内嵌图数据库 Kuzu 承载实体关系图,并直接用它的原生 HNSW 向量索引(无需常驻向量服务);启动时在隔离子进程探测原生索引是否安全,不安全自动降级为精确余弦扫描——服务永不因此挂掉;
  • 可解释的学习排序
    :多跳召回混着"片段 + 实体",固定启发式排不准("之前哪个方案被否了?"应该把被否的失败方案排在新鲜但琐碎的笔记前面)。amm 用纯 Python 实现的线性 RankNet,特征含相关度/时效/图度/否定词奖励等——没反馈时用合理默认权重开箱即用,积累了 memory_feedback 标注后跑一次 amm train 拟合权重,召回质量持续进化;
  • 空闲自压缩
    :夜间 00:00–06:00 空闲窗口,本地 Ollama 自动把原始事件压缩成分层摘要 + 实体/关系抽取(没装 Ollama 也有确定性启发式兜底,流水线不断);
  • 跨厂商共享
    :内置 20 个厂商适配器——Claude Code、Codex、Cursor、VS Code Copilot、Zed、Gemini CLI、Devin、Kimi Code、WorkBuddy 等,amm install-mcp --vendor <名字> 直接打印对应配置片段;接入方式三保险:MCP 主动工具(主通道)→ 生命周期钩子(兜底)→ 文件协议(极端情况直接读写 .memory/events.jsonl);
  • 8 个 MCP 工具
    memory_record(记结论/失败方案)、memory_recall(开工前取 Context Pack,免重新自我介绍)、memory_feedback(标注相关性喂给排序模型)、memory_auto_improve + wiki 系列(自动审阅会话、为讨论最多的话题生成 wiki 页,支持审批队列和拒绝抑制——低价值提案被拒够 2 次就不再重复推荐);
  • 隐私优先
    raw/ 原始记录只在本地、永不外传;压缩和向量化默认走本地 Ollama,整条流水线可以完全离线;
  • 零重依赖
    :MCP 服务器用 Python 标准库实现(stdio JSON-RPC 2.0),不依赖 mcp SDK,免 cryptography 编译——pip 装个 kuzu 就能跑。

适合谁用

  • 多工具切换的重度用户
    :同时用 Claude Code、Codex、Cursor 等多个代理,受够了每次切换都重新解释项目背景的人;
  • 长周期项目的开发者
    :项目一做几个月,希望代理记得"为什么当时选了方案 A 而不是 B"这类历史决策和踩坑记录;
  • 本地部署党 / 隐私敏感者
    :代码、对话、记忆全部留在自己机器上,不往任何云端传;
  • AI Agent 工具开发者
    :事件溯源 + 可丢弃物化视图 + 可解释 RankNet 这套架构设计,本身就是一份很好的记忆系统参考实现(仓库带正式设计文档 docs/design.md);
  • 想给自研代理加记忆的人
    :核心只认 Event 模型、与采集方式无关,加一个新厂商适配器通常只是往注册表里加一条配置。

怎么用

① 安装(需 Python 3.10+):

pip install kuzu requests pip install -e .  # 可选但推荐:本地 LLM(语义向量 + 夜间压缩) ollama pull nomic-embed-text qwen2.5

② 接入你的编码代理:把 MCP 配置加进对应配置文件(Claude Code 的 ~/.claude.json、Codex/Cursor 的 mcp.json):

{   "mcpServers": {     "any-agent-memory-mesh": {       "command": "amm",       "args": ["serve"],       "env": { "AMM_VENDOR": "claude_code" }     }   } }

不确定怎么写?amm install-mcp --vendor <名字> 直接打印对应厂商的配置片段,--list 列出全部 20 个支持的厂商。

③ 日常使用(主路径是代理通过 MCP 自动读写,CLI 也能手动操作):

# 记一条结构化记忆(比如失败的方案,值得记住) amm record --type failure --text "方案A:单库做多租户,因隔离性差被否" --project-path .  # 跨会话/跨厂商召回(多跳检索 -> Context Pack) amm recall --query "之前哪个方案被否了?还有什么没解决?" --project-path .  # 夜间压缩(或常驻 amm compact --daemon 自动跑) amm compact --project-path .  # 知识 wiki 闭环:审阅会话 -> 生成 wiki 提案 -> 审批 amm auto-improve amm wiki list --status approved

④ 服务器部署(可选)docker compose up -d 一键拉起 amm(HTTP :8777)+ Ollama;或用 systemd 用户服务常驻。最常见的方式其实是 stdio 模式——代理自己拉起进程,无需常驻服务。

开源地址

  • GitHub:https://github.com/liuzhitao07/agent-memory-mesh(MIT 许可证)

相关学习资料