3.3k Star 的 ai-memory:换 Agent 不丢上下文,Rust 写的跨 Agent 记忆层深度体验

换了个 AI 编程工具,之前的上下文全丢了——这件事,每个用 Claude Code、Codex、Cursor 的开发者大概都经历过。你花了半小时跟 AI 解释系统架构、踩过的坑、还没搞定的技术债,换个工具之后,一切重来。

akitaonrails/ai-memory 试图解决的就是这个问题:让 AI 编程 Agent 真正拥有长期记忆,而且这个记忆可以在不同 Agent 之间传递。


它到底解决什么问题

本质上,ai-memory 是一个”会话观察记录 + 自动摘要 + 跨 Agent 传递”的中间件。

当你用 Claude Code 写代码时,ai-memory 通过生命周期钩子(lifecycle hooks)自动记录每次 prompt、每次工具调用、会话边界事件。这些原始记录不会全部塞给下一个 Agent——它会在会话结束时生成一份精炼的摘要,以”交接文档”的形式注入到下一个启动的 Agent 上下文里。

核心使用场景

你在 Claude Code 里跑了两个小时,解决了数据库迁移的历史包袱,中间试过三种方案、两种失败、最终选了第三种。换到 Codex 继续干的时候,Codex 会直接看到”上次做到了哪、为什么选这个方案、还有什么没解决”——不需要你再复述一遍。

这个项目来自巴西开发者 akitaonrails(Fabio Akita),Star 3,339,MIT 许可证,核心语言 Rust(需要 Rust 1.95+),实测对系统资源消耗极低。


技术实现:不用向量数据库

大多数”AI 记忆”方案的思路是往向量数据库里塞 embedding,然后做语义检索。ai-memory 走了完全不同的路:纯文本 + Git 仓库 + FTS5 全文搜索

记录存储在 <wiki_root>/<workspace_id>/<project_id>/ 目录下,每个项目独立隔离,文件格式是普通 Markdown,可以直接用 grep 搜索、用 Obsidian 打开、用 rsync 备份。没有任何需要运维的数据库服务。

它的检索层做了四路融合:FTS5 全文检索、实体匹配(entity-assisted)、图邻居关系、以及可选的向量检索。在返回结果之前,还会根据页面类型(_rules/decisions/procedures/gotchas/)做权威度加权——维护性高的文档优先级高于单纯的会话记录。


支持多少种 Agent

这是目前见过的覆盖最广的 Agent 记忆方案。README 里有一张完整的支持矩阵(Support Matrix):

直接支持(带生命周期钩子):Claude Code、OpenAI Codex、Command Code、Devin CLI、OpenCode、Cursor、 Gemini CLI、Oh My Pi / OMP、Pi、OpenClaw、Antigravity CLI、Grok Build CLI、Zero、Kimi Code、Kiro CLI

仅 MCP 模式:Claude Desktop、VS Code Copilot、Zed、Swival CLI

Managed Workstream(跨 Agent 无缝切换):Claude Code → Codex → OpenCode → Pi → Kimi Code → Command Code → Kiro 等,透明延续同一个工作上下文。

也就是说,无论你团队用的是 Claude Code 还是国产的 Kimi Code 还是硅谷流行的 Codex,ai-memory 都能把它们串成一条连续的记忆链。


适合谁 / 不适合谁

适合

  • 同时使用多个 AI 编程工具的开发者(主业 Claude Code,偶尔用 Codex 跑别的模型)
  • 需要在不同会话之间保持上下文连续性的长期项目
  • 多成员团队中希望 AI 继承上一个人工作成果的场景
  • 对数据主权有要求、不想把上下文数据交给第三方服务的用户(纯本地存储,Git 管理)

不适合

  • 单一 Agent 使用、从来不换工具的人(收益有限)
  • 喜欢让 AI 自己管理一切的”放手派”(需要配置钩子,有一定上手成本)
  • 已经在用 Mem0、Pi 等其他记忆方案且工作良好的(可以对比,但没必要重复建设)

实测门槛

安装方式有三种:Docker(推荐服务器场景)、原生二进制(macOS/Linux)、AUR 包(Arch Linux)。

配置一个 Agent 的典型流程:

# 安装 MCP 配置
ai-memory install-mcp --agent claude-code

# 安装生命周期钩子
ai-memory install-hooks --agent claude-code

跨 Agent 切换只需要:

ai-memory run codex

不需要写任何代码,不需要手动喂 prompt,钩子会自动触发。对于已经有多个 Agent 使用经验的人来说,配置时间不超过 15 分钟。


和 Mem0 / Pi 的区别

之前介绍过 Mem0(通用记忆层,62k Star)和 Pi(个性化 Agent,85k Star),ai-memory 和它们的定位有明显差异:

  • Mem0 更像通用记忆 API,支持多种 LLM 后端,但跨 Agent 传递能力有限
  • Pi 专注于单一 Agent 的个性化,不解决”换工具”问题
  • ai-memory 核心解决的就是换 Agent 不丢上下文这个问题,覆盖了 15+ 种主流 Agent

如果你同时用 Claude Code 和 Codex,ai-memory 是目前唯一不需要额外运维的开源方案。


下一步建议

  1. 试用:5 分钟体验跨 Agent 记忆

    # macOS / Linux 一行安装
    curl -LsSf https://setup.ai-memory.dev | sh
    
    # 初始化当前项目
    ai-memory bootstrap
    
    # 用 Claude Code 工作一会,然后切换到 Codex
    ai-memory run codex

    看看 Codex 启动时是否正确收到了”交接文档”。

  2. 进阶:配置 Managed Workstream
    阅读 docs/managed-workstreams.md,了解如何在多个 Agent 之间保持完全透明的上下文延续。

  3. 团队场景:配置全局偏好
    _global scope 设置团队级技术偏好、代码风格规范,让所有新项目自动继承,不需要每个项目重复配置。


项目地址https://github.com/akitaonrails/ai-memory
文档docs/ARCHITECTURE.md 有完整设计说明


  • 本文所有数据截至 2026 年 8 月。ai-memory 目前仍在活跃维护中,README 更新频繁,建议 Star 前去看最新的 Support Matrix。*

评论区

0 条评论

登录后可评论。

拾光·开源拾遗 334 阅读