回顧: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

操作流程

階段 動作
會話期間 StopSessionEnd 勾點會逐步將新活動附加至 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 difflog 皆在停用 core.fsmonitordiff.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 的本地專案記憶

Sources