一句話結論
ai-memory 把「代理記憶」從每個工具各自為政,變成一處自架的共享倉庫:Claude Code 做到一半關掉,在同一目錄開 Codex,下一個代理會拿到一份交接單,告訴它做到哪、什麼失敗過、還有什麼沒解——而且預設完全不用呼叫 LLM,沒有 API key 也能跑。
GitHub akitaonrails/ai-memory 於 2026-10-25 查證為 13,283 顆星、936 個 fork、MIT 授權、Rust 撰寫,最新版本 v3.2.2(2026-10-23 發布)。專案 2026-05-21 才建立,五個月長到這個規模,是目前「代理記憶」類別裡少見的單一自帶執行檔 + 檔案即真相路線。
為什麼需要它:現在每個代理的記憶都缺一角
| 你現在的記憶方式 | 會在什麼時候掉 | 後果 |
|---|---|---|
| Claude Code 自己的筆記 | 換成 Codex/Cursor/Gemini CLI | 新工具一切歸零,要重新解釋架構 |
| 各工具的專案規則檔(CLAUDE.md 等) | 換台機器、換個資料夾 | 規則還在,但「上次做到哪」不在 |
| 每人各自的 MEMORY.md | 交給隊友接手 | 對方看不到你的失敗紀錄,重踩一次 |
| 向量資料庫/託管記憶 API | 斷網、額度用完、想搬走 | 記憶鎖在別人的服務裡,拉不回來 |
這四種情況的共同點是:記憶綁在工具、綁在機器、綁在人。ai-memory 的解法是把記憶搬到中間——一個自己跑的小服務。
一表看懂
| 項目 | 內容(2026-10-25 查證) |
|---|---|
| 專案 | akitaonrails/ai-memory |
| 星數/Fork/Issue | 13,283 ★/936/23 open |
| 授權/語言 | MIT/Rust(Rust 1.95+) |
| 最新版本 | v3.2.2(2026-10-23) |
| 建倉日期 | 2026-05-21 |
| 官網 | aimemory.sh(README 標示的官方網站) |
| 形態 | 單一自帶執行檔+可選 Docker/AUR/RPM/macOS 選單列 App |
| 真相來源 | git 版控的 markdown wiki(.md 檔),資料庫只是可重建的索引 |
| 預設 LLM 用量 | 零(capture、搜尋、交接、衰減、去重都不需 API key) |
| 支援 harness | 20+ 種(Claude Code、Codex、Cursor、Gemini CLI、OpenCode、Grok、Kimi、Kiro、Qwen、Copilot CLI、Hermes Agent 等) |
| 多人 | 內建多用戶認證、逐人歸屬、審計日誌,不是付費層 |
| 自述寫入上限 | 約 700 次/秒(作者量測,非第三方驗證) |
它怎麼運作:四個階段
| 階段 | 做什麼 | 需要 LLM 嗎 |
|---|---|---|
| capture | 代理透過生命週期 hook 自動送出「觀察」(提示、工具呼叫、session 邊界),先過一層定型化的隱私邊界才落地 | 不需要 |
| consolidate | session 結束時,把觀察整理成專案 wiki 裡的 markdown 頁面 | 可選(不用 LLM 也能產出雛形頁) |
| recall | 下個 session 任何代理拿到一份有長度上限的簡報,並可全文搜尋:FTS、實體、連結、(可選)向量融合排序 | 不需要(向量選項才需要) |
| handoff | 跨代理交接是有型別的協定:每張交接單有擁有者、只能被認領一次 | 不需要 |
這條 pipeline 的關鍵在「不用 LLM 也能活」。多數同類工具把摘要、壓縮、去重都外包給模型,ai-memory 則用排程衰減+抽取式壓縮+近似重複合併把這件事做到零 API 呼叫;要更聰明的整併,才需要打開可選的 LLM 路徑。
六個值得注意的設計選擇
1. 真相是 markdown,不是資料庫。 整個記憶是一份 git 版控的 wiki:可以 grep、可以用 Obsidian 開、可以手改、可以 rsync。資料庫(SQLite)只是衍生的索引,隨時能從檔案重建。這對「三年後還能不能讀自己的記憶」影響很大。
2. 預設零 LLM 呼叫。 capture、搜尋、交接都不需要 API key。官方自述的理由很直接:記憶是長期資產,不該綁在一個會漲價、會改版、會下架的模型 API 上。
3. 交接單是「有型別、認領一次」的協定。 兩個代理同時開在同一個專案,不會互相搶同一張交接單;README 註明 v1.39+ 起「目前專案」指標預設按呼叫者隔離。
4. 老化(aging)可逆,而且不刪原始檔。 記憶按層級排程衰減、被用到的記憶衰減更慢(開頁、搜尋、點連結都算「使用」);冷掉的情節記憶壓縮成耐久事實(檔案路徑、錯誤碼、決策),近似重複合併、疑似矛盾標記。原文留在 git,restore-page 可以還原。
5. 跨機器、跨專案、跨人都是同一件事。 記憶放自己跑的伺服器(同一台筆電、homelab、VPS 都行);一份「你平常怎麼工作」的 profile(套件管理器、測試佈局、架構習慣)會在新 repo 開場時送達;團隊指向同一台伺服器就變成共享知識庫(個人交接仍保持私人)。
6. 可選的「做夢」整併。 有配置 LLM 時,可在閒置時把冷門頁面重寫成整併後的頁面,你一回來工作就取消;永遠不刪來源、預設關閉,而且要通過 recall 評測才可能變成預設行為。
安裝:三種常見路徑(指令照官方原文)
A. Linux/macOS 兩行、免 root
curl -fsSL https://github.com/akitaonrails/ai-memory/releases/latest/download/install.sh | sh
ai-memory setup
install.sh 會下載對應平台版本、比對 release 公布的 SHA-256(不符就拒絕安裝),再連結到 ~/.local/bin/ai-memory。ai-memory setup 會建立資料目錄與 owner-only 的 bearer token、啟動 per-user 服務(systemd --user 或 launchd),並自動尋找機器上的代理來接線;它會先顯示計畫再問你要接哪幾個(--plan 只看不動)。
想先驗證腳本再跑,官方有
docs/install.md的逐步說明;要讓 AI 代理幫你裝,則照INSTALL_FOR_AGENTS.md。
B. Claude Code/Codex 走外掛市集
claude plugin marketplace add akitaonrails/ai-memory && claude plugin install ai-memory@ai-memory
codex plugin marketplace add akitaonrails/ai-memory && codex plugin add ai-memory@ai-memory
C. Docker(本機迴環、無認證)
docker run -d --name ai-memory \
--restart unless-stopped \
-p 127.0.0.1:49374:49374 \
-v ai-memory-data:/data \
docker.io/akitaonrails/ai-memory:latest
Docker 版不含 LLM/向量金鑰也能用(FTS5 全文搜尋照常);要開 LLM 再補 AI_MEMORY_LLM_PROVIDER 等環境變數。要接代理再跑 ai-memory install-mcp --client claude-code --apply 與 ai-memory install-hooks --agent claude-code --apply。
另外 AUR(yay -S ai-memory-bin)、Fedora RPM、macOS 選單列 App(需 Rust+Swift 6 自行 build)也都有官方路徑。
最省事的啟動方式:直接用 ai-memory run claude 或 ai-memory run codex 開代理——第一次會自動補齊該 harness 的 hook 與 MCP,並加上跨 harness 的 session 連續性。
支援清單:20+ 種 harness(節錄)
| 類型 | 代表 |
|---|---|
| 完整支援(hook+MCP) | Claude Code、Codex、Cursor、Gemini CLI、OpenCode(V1/V2 自動偵測)、Qwen Code、Copilot CLI、Factory Droid、Kimi Code、Kiro CLI、Grok Build CLI、Hermes Agent、Claude Desktop 以外多數 CLI |
| 只有 hook | Pool、CodeBuddy Code |
| 只有 MCP | Claude Desktop、Zed、VS Code Copilot、Swival CLI、FreeBuff、Prime Agent |
| 僅託管模式 | Crush |
| 實驗性 | 原生 Windows(WSL2 為支援) |
值得一提的是:README 的「站在誰的肩膀上」名單裡同時列了 Karpathy 的 LLM Wiki(compile-not-retrieve)、basic-memory(markdown 當真相)、cognee,以及 Hermes Agent(自我改進迴圈)。對本站讀者來說,這代表熟悉的工具鏈在這條路線上有被納入設計考量。
與同類工具怎麼分?(README 自述整理)
| 從哪裡來 | 相似處 | ai-memory 的差異 |
|---|---|---|
| claude-mem | 自動捕捉、hook 驅動 | 記憶從「單一代理的本機壓縮」變成跨代理/跨機器共享的 markdown wiki |
| Context Mode 這類 context 縮減 MCP | 降低 context 用量 | 目標不同:那個省 token,這個做長期沈澱與交接 |
| mem0/fact extractor | 逐回合自動抽取 | 產出是可讀可編輯的頁面,不是不透明的 fact row;檢索融合 FTS+實體+圖 |
| Zep/Graphiti(時序知識圖) | 時序推理、型別關係 | 不需要另外架圖資料庫,單一執行檔內做完 |
| basic-memory(檔案優先) | markdown 在磁碟上當真相 | 加上自動生命週期捕捉、衍生索引、跨代理交接、多人共享 |
| Claude Code 內建記憶 | 零設定、「記住我的專案」 | 跨機器/跨代理同步、可搜尋、可團隊共用、會記工具生命週期 |
| 託管記憶 API(Supermemory 等) | 自動 ingestion 的第二大腦 | 自架、無必要 API 支出、可離線、按專案共享 |
誠實揭露:這篇沒有實測的事
- 沒有實際安裝、沒有跑過交接流程。本文的功能、指令與數字全部來自官方 README/
docs/與 GitHub API,數字以 2026-10-25 查詢為準。 - 「寫入上限約 700 次/秒」是作者自述的量測值,沒有第三方複驗。
- 效能、記憶檢索品質(recall)這類宣稱,官方提到有 recall 評測與比較文件,但本文未重跑。
- 「20+ harness」以 README 支援矩陣與 CI 檢查為依據;個別代理的實際體驗可能因版本而異(少數僅 managed/MCP-only)。
已知限制(自行評估)
| 限制 | 說明 |
|---|---|
| 專案很年輕 | 2026-05 建倉,v3.2.2;API/設定在大版本間有變動(2.x→3.0 要先讀升級文件) |
| 原生 Windows 仍 experimental | 穩定的 Windows 路徑是 WSL2 |
| Docker 快速啟動無認證 | 只綁 127.0.0.1,本機程序與瀏覽器頁面仍可觸及;正式用要自己補 token |
| 需要一個常駐服務 | 雖然是單一執行檔,但「跨機器共享」的前提是有台機器一直開著 |
| 不是給非開發者 | 安裝、hook、MCP、token 都是開發者語彙 |
誰適合/誰不需要
適合:同時用兩種以上編碼代理的人;會在桌機與筆電間切換同一個專案的人;要把「上次做到哪」交給隊友的團隊;在意記憶可被 grep、可搬走、不想綁託管 API 的人。
不需要:只用單一代理、單一機器,且工具內建記憶已經夠用的人;完全不碰命令列的人;只需要「本次對話內」上下文管理的場景。
站內延伸閱讀
- claude-mem 完整教學:AI 代理長期記憶 — 單一代理的本機記憶壓縮路線,可與本文對照
- Context Mode 完整教學:把 AI 代理 context 砍掉 98% — 省 token 的 MCP 方案(與長期記憶互補)
- LLM Wiki 完整教學:Karpathy 的知識庫寫法 — ai-memory 明確列為設計源頭之一
- mem0 記憶層解析 — 託管式記憶層的代表
- Hermes Agent 自我改進機制 — 在 ai-memory 支援矩陣與設計源頭名單中都出現
資料來源與查證方法
| 來源 | 用途 | 查證時間 |
|---|---|---|
GitHub REST API /repos/akitaonrails/ai-memory | 星數、fork、issue、語言、授權、建倉與推送時間 | 2026-10-25 |
GitHub API /releases/latest | 最新版本 v3.2.2、發布日 | 2026-10-25 |
| 專案 README(main 分支) | 功能、安裝指令、支援矩陣、設計說明 | 2026-10-25 |
| 站內既有文章比對 | 確認無重複專文(ai-memory/akitaonrails 命中 0) | 2026-10-25 |
本文只做介紹與查證整理,未受廠商贊助、未含聯盟連結。所有數字請以官方頁面當下顯示為準。
