Claude Recall — Claude Code向け永続メモリ
概要
claude-recallは「Claude Code」のセッション文脈を捕捉して永続化し、将来のセッションに必要な履歴だけを差し込むことで長期的なコンテキスト保持を可能にするプラグインです。ライフサイクルの主要イベント(SessionStart、PostToolUse、Stop)にフックしてデータをキャプチャし、ワーカーがツール出力から有用な観測(observations)を抽出してSQLiteへ保存します。オプションでChromaを用いたベクター検索を組み合わせることで関連性の高い履歴を高速に検索し、セッション開始時に自動注入します。インストールは簡単で、claudeコマンドでリポジトリを指定して導入できます。TypeScript実装で、小規模なプラグインとしてClaudeのワークフローに統合される設計です。
リポジトリの統計情報
- スター数: 40
- フォーク数: 0
- ウォッチャー数: 40
- コミット数: 30
- ファイル数: 19
- メインの言語: TypeScript
主な特徴
- セッションライフサイクルにフックして自動でコンテキストをキャプチャ
- ツール出力から観測を抽出するワーカー処理(テキスト解析)
- SQLiteベースの永続ストレージと、任意でChromaベクター検索を併用可能
- セッション開始時に関連履歴だけをインジェクトして過剰情報を防止
技術的なポイント
claude-recallはプラグインとしてClaude Codeのイベントモデルに密接に統合される点が最大の技術的特徴です。ライフサイクルイベント(SessionStart、PostToolUse、Stop)に対してフックを用意し、ツール利用後などのタイミングでワーカーが起動してツール出力を解析、そこから「観測」と呼ばれる意味のある断片を抽出します。抽出した観測はSQLiteに構造化して保存され、メタ情報(セッションID、タイムスタンプ、ソースツールなど)を付与して管理します。また、テキスト検索だけでなくベクトル検索を併用できるようChroma対応を用意しており、埋め込みを用いた類似度検索で関連性の高い過去履歴を高速に絞り込みます。注入のタイミングはSessionStartで、検索された関連履歴のみを選別してセッションプロンプトへ挿入することで、コンテキストウィンドウの節約とノイズ低減を両立します。実装はTypeScriptで、claudeのプラグインディレクトリ構造(.claude-plugin/.claude など)に沿って配置される設計です。データパイプラインはCapture → Process → Store → Injectの4段階で整理されており、各段階を独立に拡張しやすいモジュール構成になっています。ローカルSQLiteを利用するため導入が容易で、必要に応じてChroma等の検索基盤を追加することでスケーラビリティと検索精度を高められます。
プロジェクトの構成
主要なファイルとディレクトリ:
- .build-info: file
- .claude-plugin: dir
- .claude: dir
- .github: dir
- .gitignore: file
…他 14 ファイル
まとめ
Claude Codeに手軽に永続メモリを追加できる実用的なプラグインです(導入容易・拡張性あり)。
リポジトリ情報:
- 名前: claude-recall
- 説明: Persistent memory for Claude Code
- スター数: 40
- 言語: TypeScript
- URL: https://github.com/nhevers/claude-recall
- オーナー: nhevers
- アバター: https://avatars.githubusercontent.com/u/52906200?v=4
READMEの抜粋:
claude-recall
Persistent memory for Claude Code. Captures session context and injects relevant history into future sessions.
Install
claude install nhevers/claude-recall
How It Works
- Capture: Hooks into Claude Code lifecycle events (SessionStart, PostToolUse, Stop)
- Process: Worker service extracts observations from tool outputs
- Store: SQLite database with optional Chroma vector search
- Inject: Relevant context injected at session start via CLAU…