你有沒有過這種經驗:

花了半小時跟 Claude Code 說清楚你的專案架構,解釋為什麼這裡不用 ORM、那裡要用自定義的錯誤格式、這個 naming convention 有歷史原因不要改——然後隔天開新 session,一切歸零。

它不記得。你得再說一遍。

這不是 Claude 的問題,是 LLM 的根本限制:每個 session 都是一個全新的對話,沒有上一次的任何記憶。你在 CLAUDE.md 寫的東西只能覆蓋靜態規範,卻沒辦法保留「上週我們決定把 API 分層重構,目前做到一半」這種動態的工作狀態。

claude-mem 就是為了解決這件事而生的。


它在背後做了什麼

安裝之後,claude-mem 會在 Claude Code 的整個生命週期裡掛上 5 個自動化 hook

  • SessionStart:新 session 開始,自動把過去相關記憶注入進來
  • UserPromptSubmit:你每次送出訊息,它都在旁邊記錄
  • PostToolUse:Claude 每次用工具之後,觀察結果被自動捕捉
  • Stop:Claude 停止回應時,這段互動被整理壓縮
  • SessionEnd:session 結束,把這次的重要發現存進資料庫

這些全部在背景自動執行,你不需要手動做任何事。

存下來的東西不是原始對話記錄——claude-mem 會用 AI 先做語義壓縮,把「這次做了什麼、發現了什麼、決定了什麼」提煉出來存進 SQLite。搜尋的時候再透過 Chroma 向量資料庫做混合搜尋(語義 + 關鍵字),讓過去的記憶能被準確召回。


怎麼搜尋過去的記憶

claude-mem 提供 4 個 MCP 工具,設計成一個 3 層查詢工作流

1
2
3
4
5
6
7
8
第一層:search(query)
→ 用 50-100 tokens 取得搜尋結果索引(ID 清單)

第二層:timeline(anchor=ID)
→ 取得某個結果前後的時間軸脈絡

第三層:get_observations([IDs])
→ 針對你真正需要的 ID,抓完整細節(每筆約 500-1,000 tokens)

這個設計很聰明:先篩選,再取詳情。不是一次把所有記憶都塞進 context,而是讓 Claude 先看摘要索引、決定哪些值得深挖,才去取完整內容。官方說這樣可以省下 約 10 倍的 token 消耗


安裝只要一個指令

在 Claude Code session 裡執行:

1
2
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem

重啟 Claude Code 之後,hook 自動生效。從下一個 session 開始,它就會默默在背後記錄。

注意:用 npm install -g claude-mem 只會裝 SDK library,不會啟動 hook 和 worker 服務。一定要用上面的 /plugin 指令。

系統需求:Node.js 18+、最新版 Claude Code。Bun 和 uv 如果沒有會自動安裝,不用自己準備。


你不想被記住的東西,用 <private> 包起來

有些對話內容你不想讓它留存——臨時的測試代碼、你自己罵幾句出氣的抱怨、包含客戶資訊的討論。

用這個語法就能排除:

1
2
3
<private>
這段不要記進去
</private>

claude-mem 會跳過 <private> 標籤裡的內容,不進行捕捉和儲存。


用 Web UI 看 Claude 的「腦袋」

Worker 服務跑起來之後,打開 http://localhost:37777 可以看到一個即時更新的記憶流 UI。

你可以看到:

  • 每個 session 記錄了哪些觀察
  • AI 壓縮後的摘要長什麼樣
  • 哪些記憶被成功召回並注入到當前 session

對於理解「它現在知道什麼」非常直觀。


適合哪種人用

最有感的場景

  • 長期進行中的個人專案,每天都在跟 Claude Code 互動
  • 做了很多架構決策、有很多「這樣做的原因」需要保留
  • 討厭每次新 session 都要重新解釋同樣的背景資訊

比較沒差的場景

  • 用 Claude 處理一次性的、互相獨立的任務
  • 專案有非常詳細的 CLAUDE.md,靜態規範已經夠用
  • 對話主要是問問題而不是持續推進一件事

總結

claude-mem 解決的是 AI 開發工具最根本的一個痛點:context window 的邊界讓 AI 永遠活在當下

它用 5 個 lifecycle hook 自動記錄、AI 壓縮摘要、向量搜尋召回,讓 Claude Code 在下一個 session 開始時,能帶著「上次我們做到哪」的記憶繼續工作。

核心要點:

  • 全自動運作,不需要手動整理
  • 3 層查詢設計讓 token 消耗保持可控
  • <private> 標籤給你完整的隱私控制
  • Web UI 讓記憶系統的狀態一目了然

如果你是 Claude Code 的重度使用者,試試看——你可能會訝異於它記得多少你以為早就消失的東西。


資源