回顧:Claude Code 的本地專案記憶
回顧:Claude Code 的本地專案記憶
回顧是一個完全本地的 Claude Code 專案記憶外掛,旨在消除「冷啟動」問題,讓使用者不必在每個新會話中重新說明專案背景。透過維護本地活動日誌並將其濃縮成可直接使用的摘要,回顧讓開發者能在不浪費模型代幣或妥協隱私的情況下繼續工作。
本地摘要與代幣效率
回顧提供持久記憶,且不需要外部 LLM 或 API 金鑰來進行摘要。它使用傳統的 Python 抽取式摘要演算法——結合 TF‑IDF 與 TextRank——來找出會話中最核心的句子。此方式確保更新專案記憶不會消耗任何模型代幣。
在恢復會話時,回顧會載入一個緊湊的 context.md 檔案(通常 1–2K 代幣),而不是重播完整的對話記錄。這大幅降低代幣消耗,延長訂閱使用上限或降低 API 成本。
回顧如何管理專案記憶
回顧使用兩個主要檔案,存放於專案根目錄的 .recall/ 目錄中:
history.md:只增不減的日誌,記錄每個會話的提示、AI 回覆、觸及的檔案與執行的指令。context.md:濃縮的摘要,包含專案目標、進度概述、後續步驟、未解決的議題,以及最近變更的git diff --stat。
操作流程
| 階段 | 動作 |
|---|---|
| 會話期間 | Stop 與 SessionEnd 勾點會逐步將新活動附加至 history.md。 |
| 會話開始 | SessionStart 勾點會顯示 context.md,並詢問使用者是否要從已保存的上下文恢復並繼續記錄。 |
| 會話結束 | 使用者執行 /recall:save 以觸發本地摘要器,或在 auto_save_context 設為 "on_end" 時自動執行。 |
與內建 Claude Code 記憶的比較
回顧是對現有 Claude Code 功能的補充,而非取代。它填補了手動指示與完整對話重播之間的空白。
| 功能 | CLAUDE.md / # |
--continue / --resume |
回顧 |
|---|---|---|---|
| 性質 | 手寫規則/筆記 | 完整對話重播 | 自動捕捉日誌 + 本地摘要 |
| 維護方式 | 手動 | 無 | 自動 |
| 內容 | 要遵循的指示 | 完整先前對話 | 目標、檔案、指令、後續步驟 |
| 恢復成本 | 小 | 大(代幣密集) | 小(約 1–2K 代幣) |
| 格式 | 可編輯 Markdown | 本地會話狀態 | 純文字於 .recall/ |
| Claude 的處理方式 | 作為指示 | 作為對話 | 作為不可信的參考資料 |
隱私與安全架構
回顧採用「零網路」架構。它不會發出任何網路請求,無需 API 金鑰,也不載入第三方模型。所有處理皆在使用者的機器本地完成。
安全措施
- 機密遮蔽:盡力過濾常見機密形式(API 金鑰、PEM 金鑰、
.env指派)後才寫入磁碟。 - 加固 Git 整合:為防止惡意倉庫透過 git 設定執行程式碼,
git diff與log皆在停用core.fsmonitor、diff.external與掛鉤的情況下執行。 - 寫入限制:
output_dir限制在專案目錄內,避免寫入絕對路徑或上層目錄。 - 信任邊界:因為
context.md可能被提交至倉庫,它被視為不可信資料。Claude 會被告知此邊界,且在依賴已保存的上下文前會要求使用者確認。
安裝與設定
回顧可透過 Claude Code 市集安裝:
/plugin marketplace add raiyanyahya/recall
/plugin install recall@recall
主要設定選項(recall.config.json)
auto_save_context:設定為"on_end"時,會在會話結束時自動重新產生摘要。summary_sentences:控制抽取式摘要保留的句子數量(預設 8 句)。include_git:切換是否在context.md中加入git diff --stat與最近的提交。redact:啟用或停用從日誌中剝除機密資訊。
摘要: 回顧是一個完全本地的 Claude Code 外掛,透過自動記錄會話並使用本地 Python 摘要器產生緊湊、代幣高效的上下文摘要,提供持久的專案記憶。
標題: 回顧:Claude Code 的本地專案記憶