乐于分享
好东西不私藏

AI 编程助手一换就失忆?这个开源工具把上下文续上了

AI 编程助手一换就失忆?这个开源工具把上下文续上了

AI 编程助手一换就失忆?这个开源工具把上下文续上了

换用 AI 编程助手时,最崩溃的不是「重新登一次」,而是要把之前聊过的架构、踩过的坑、还没解决的疑问,从头再讲一遍。这个刚冲上 Trending 的 Rust 项目,专门治这个毛病。

📌 项目名片

名称:akitaonrails/ai-memory
语言:Rust · Star:2.7k(今日 +648)
License:MIT
作者:Fabio Akita(Ruby 社区知名人物)
仓库:https://github.com/akitaonrails/ai-memory

🤔 它解决什么问题

现在大多数开发者手边不止一个 AI 编程 Agent——Claude Code、Codex、Cursor、Gemini CLI……轮着用是常态。但它们都患着同一种病:失忆

一个会话结束,上下文就丢了。你在 Claude Code 里花了半小时理清的架构、验证过走不通的 3 条路子、记下来的 2 个未决问题,换个工具打开同一目录,对方一无所知,你又得从头解释一遍。

传统方案要么让你手动维护一份 context 文档(累、且总是忘更新),要么上一套向量数据库做 RAG(重、要做 embedding、要 babysit)。而 ai-memory 的思路很朴素:把这些观察自动沉淀成一份共享的 markdown wiki,放在一个普通 git 仓库里。

想查?grep 一下就行。
想看?直接用 Obsidian 打开。
想备份?一条 rsync 搞定。
没有向量库要伺候,没有 write_note 的仪式感,也不用手动加载上下文。

✨ 核心亮点

🔄 跨工具无缝交接

这是它最戳人的地方。在 Claude Code 干活干一半,退出;几个小时后换成 Codex 打开同一个目录——下一个 Agent 会在第一次提问前,先看到一段「你上次停在哪」的交接说明。不用复述架构,不用解释踩坑,续着干。

🪝 零摩擦的自动捕获

通过 lifecycle hooks 静默采集:你的 prompt、工具调用、会话边界,被「消毒」后记录下来。用户 prompt 和压缩摘要最多保留 16 KiB,通知和工具摘要保留 2 KB,每条观察还有 16 KiB 的兜底上限——可控,不会无限膨胀。

🌐 20+ 个 Agent 全支持

Claude Code、Codex、Command Code、Devin CLI、OpenCode、Cursor、Gemini CLI、Kimi Code、Kiro CLI、Grok Build CLI、Zed、VS Code Copilot……几乎你叫得上名字的 CLI 都有对应适配。而且一台机器装好、局域网/云端再跑一台服务,多机也能共享同一份记忆。

🗂️ 按项目自然隔离

每个项目都有自己的独立空间,靠稳定 UUID 定位。repo 的多个 worktree、mono-repo、接私活的「多客户隔离」、工作/个人的切换,都能靠一个 .ai-memory.toml 标记文件显式控制。

💡 LLM 是可选的

不开 LLM 也能用:FTS5 全文搜索、实体检索、图邻居召回都照常工作,还能做基于规则的小结。要更聪明再加一个 provider,让它帮你整合页面、发现矛盾、分批自动改进。

🚀 快速上手

最省事的是 Docker 一条龙。装好 CLI wrapper、起服务、把 Agent 接进来,三步:

# 1. 装 wrapper(一个把二进制跑进 docker 的小脚本)
curl -fsSL https://github.com/akitaonrails/ai-memory/releases/latest/download/ai-memory-wrapper \
  -o ~/.local/bin/ai-memory && chmod +x ~/.local/bin/ai-memory

# 2. 起服务(默认只绑定 127.0.0.1,本机外进不来)
docker run -d --name ai-memory --restart unless-stopped \
  -p 127.0.0.1:49374:49374 \
  -v ai-memory-data:/data \
  akitaonrails/ai-memory:latest

# 3. 把 Claude Code 接进来(两步搞定 MCP 和 hooks)
ai-memory install-mcp   --client claude-code --apply
ai-memory install-hooks --agent  claude-code --apply

之后照常开 Claude Code 干活,每次 prompt 和工具调用都会落进 ai-memory。想换 Codex 继续,就用受管启动器接着跑:

ai-memory run claude        # 用 Claude Code 开启工作流
ai-memory run codex --yolo  # 换成 Codex 接着干,上下文无缝续上
ai-memory continue          # 不指定名字,续最近的可用会话

Arch 用户也可以直接装 AUR 包:yay -S ai-memory-bin。macOS 有原生二进制,Windows 走 WSL2。

👥 适合谁

多 Agent 混用的开发者:Claude Code 写、Codex 审、Cursor 补,来回切不丢上下文。
接多个客户/多项目的自由职业者:每个项目记忆干净隔离,不串味。
有 homelab 的人:服务跑在自己局域网,几台机器共享同一份记忆,数据不出自己的网。

一句话说局限:它做的是「历史记忆 + 交接」,不是代码结构分析。符号跳转、调用链、依赖影响这些,还得交给 LSP 那类工具;它管的是「为什么这么改、哪条路走不通、结论是什么」这类决策记忆。

💡 小结

AI 编程 Agent 的「失忆症」,正在成为多工具协作时代最烦人的拦路虎。ai-memory 用一个 git 仓库装 markdown wiki 的朴素思路,把跨工具的上下文续上了——轻、透明、不绑架你上向量库。如果你也被「换工具就要从头解释」折磨过,点个 star,去试试它的 Docker 快速上手。

阅读原文,看完整文档与 20+ Agent 适配清单:https://github.com/akitaonrails/ai-memory