用 Claude Code 写了一个小时,中途想换成 Codex 或者 Cursor 继续跑。
然后你发现:架构是什么、踩了哪些坑、有哪些问题还没解决——新工具一无所知,得重新解释一遍。
这就是 AI 编程工具今天最隐形的痛点:每个 Agent 都是失忆症。它们各管各的会话,切换工具就等于重新开始。
今天的项目,专门解决这件事。
基础介绍
ai-memory 是一个本地运行的长期记忆服务,用 Rust 写成,专门为 AI 编程 CLI 设计。
它的核心思路很直接:不替换任何 Agent,而是在每个 Agent 的生命周期边界(会话开始/结束)挂上钩子,把上下文写进本地数据库。下次启动时,不管是同一个 Agent 还是另一个工具,都能自动注入上一次的记忆。
换句话说,它是 AI 编程助手之间的记忆中间层,而不是又一个新的 AI 工具。
项目作者的原话很说明问题:「中途退出 Claude Code,在同一个目录启动 OpenAI Codex,不需要重新解释架构、失败过的尝试或者未解决的问题。」
截至查询时,仓库 Star 约 2.4k,今日单日增长 207,在 GitHub Trending 日榜上排第 3,主语言 Rust。
解决什么问题
开发者日常会遇到这几类断档:
1. 会话超长,被 Agent 压缩截断:上下文窗口满了,Agent 开始遗忘早期决策。
2. 中途换工具:从 Claude Code 换 Codex,或者从 Cursor 换 Gemini CLI,每次都是新会话。
3. 项目被打断,隔天继续:新开一个会话,得花 10 分钟重新解释项目结构。
ai-memory 的做法是给每个 Agent 安装 lifecycle hook,把会话过程持续写入本地 memory db,再次启动任意 Agent 时自动读取并注入。
它也支持 MCP(Model Context Protocol),作为 MCP server 给 Agent 提供 memory_handoff_accept 等工具,让 Agent 主动检索历史记忆。
支持的工具覆盖面相当广:
每个平台的 hook 配置是自动生成的,不需要手动写 JSON。
接入方式
最小可跑路径(Linux/macOS):
# 安装
cargo install ai-memory
# 为 Claude Code 安装 MCP 配置
ai-memory install-mcp --client claude-code --apply
# 为 Claude Code 安装 lifecycle hook
ai-memory install-hooks --agent claude-code --apply
安装完成后,正常启动 Claude Code,ai-memory 会在后台自动捕获会话。
要切换到另一个 Agent(比如 Codex):
ai-memory install-mcp --client codex --apply
ai-memory install-hooks --agent codex --apply
再启动 Codex,它会在 SessionStart 时自动拿到上一次的 handoff 记忆。
如果需要手动触发一次完整的会话汇总:
ai-memory finalize-session
不想编译的话:tagged releases 提供预编译的 macOS arm64/x86_64 和 Linux amd64/arm64 二进制,Windows 支持 WSL2。
为什么值得收藏
ai-memory 真正解决的是一个工程协作问题:AI 编程工具越来越多,但它们之间没有共同的记忆格式。
这个项目的价值在于:它不押注某一个 Agent 胜出,而是在所有工具之间做兼容层,让你可以按任务需要自由切换,而不是被记忆绑定在某一个工具上。
适合谁:经常使用 AI 编程 CLI 的开发者;在同一个项目中切换多个 Agent 工具;有长周期项目需要跨会话延续上下文。
需要注意的点:安装需要 Rust 环境(cargo);Native Windows 目前是实验性支持;VS Code Copilot 和 Zed 只支持 MCP,无法安装 lifecycle hook,记忆捕获能力偏弱;需要对每个 Agent 分别执行一次安装命令。
项目目前处于活跃开发阶段,平台支持覆盖面快速扩展,如果你用 Claude Code 或 Codex 做过比较大的项目,值得把它加进工具箱试试。
akitaonrails/ai-memory
给 AI 编程助手加长期记忆,跨工具、跨会话延续上下文
夜雨聆风