はじめに
Claude Codeを日常的に使っていると、セッションをまたいだときの「記憶喪失」に困ることがあります。昨日デバッグした内容、先週の設計判断、過去に試して失敗したアプローチ。新しいセッションを始めるたびに、これらの情報をゼロから伝え直す必要があります。
Claude-Memは、Claude Codeにセッション間の永続メモリを提供するプラグインです。ツール使用時の観察を自動キャプチャし、AIで圧縮・要約して、将来のセッションで関連コンテキストを自動注入します。
Claude-Memとは
Claude Codeのライフサイクルフックを活用した永続メモリシステムです。セッション中のツール使用やコード変更を「観察(Observation)」として記録し、SQLiteとChromaベクトルデータベースに保存します。次回のセッション開始時に、プロジェクトに関連する過去のコンテキストが自動的に注入されます。
主な特徴
- セッション間で自動的にコンテキストを保持します
- Progressive Disclosure(段階的開示)による効率的なメモリ検索ができます
- MCPツール経由でプロジェクト履歴を自然言語で検索できます
-
http://localhost:37777でリアルタイムのメモリストリームを閲覧できます -
<private>タグで機密情報を記録対象から除外できます - 手動操作は不要で、バックグラウンドで自動動作します
システム要件
| 要件 | バージョン |
|---|---|
| Node.js | 18.0.0以上 |
| Claude Code | 最新版(プラグインサポート付き) |
| Bun | 自動インストール |
| uv(Python) | 自動インストール |
インストール
Claude Code Plugin としてインストール
Claude Code内で2つのコマンドを実行するだけです。
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem
インストール後、Claude Codeを再起動します。これで前回セッションのコンテキストが新しいセッションに自動注入されるようになります。
npm install -g claude-memはSDK/ライブラリのみをインストールします。プラグインとして使用するには、上記の/pluginコマンドでインストールしてください。
OpenClawゲートウェイでの利用
OpenClawを使用している場合は、シェルスクリプトで一括セットアップできます。
curl -fsSL https://install.cmem.ai/openclaw.sh | bash
依存関係のインストール、プラグインセットアップ、AIプロバイダー設定、ワーカー起動までが自動で行われます。
アーキテクチャ
Claude-Memは5つのライフサイクルフックと、バックグラウンドのワーカーサービスで構成されています。
コアコンポーネント
| コンポーネント | 役割 |
|---|---|
| ライフサイクルフック(5つ) | セッションの各段階で自動処理を実行 |
| ワーカーサービス | Bunで動作するHTTP APIサーバー(ポート37777) |
| SQLite | セッション、観察、サマリの永続ストレージ |
| Chroma Vector DB | セマンティック検索 + キーワード検索のハイブリッド |
| mem-searchスキル | 自然言語によるメモリクエリ |
MCPツールによるメモリ検索
Claude-Memは3つの主要MCPツールを提供し、トークン効率の良い3層ワークフローで検索を行います。
3層ワークフロー
通常のメモリ検索では全文を取得するため大量のトークンを消費しますが、Claude-Memは段階的に絞り込むことで約10倍のトークン節約を実現します。
使用例
// ステップ1:インデックスを検索
search(query="認証バグ", type="bugfix", limit=10)
// ステップ2:インデックスを確認し、関連するIDを特定(例:#123, #456)
// ステップ3:必要な観察のみ全文取得
get_observations(ids=[123, 456])
Web Viewer UI
http://localhost:37777にアクセスすると、リアルタイムのメモリストリームを閲覧できます。
機能は以下の通りです。
- 記録された観察の一覧表示
- セッション別のフィルタリング
- 個別の観察の詳細表示
- ベータチャネルの切り替え(設定画面)
プライバシー制御
機密情報を記録対象から除外するには、<private>タグを使用します。
<private>APIキーやパスワードなどの機密情報</private>
<private>タグで囲まれた内容はClaude-Memの観察対象から除外され、データベースに保存されません。
設定
設定ファイルは~/.claude-mem/settings.jsonに配置されます。初回実行時にデフォルト値で自動生成されます。
設定可能な項目は以下の通りです。
- AIモデルの選択
- ワーカーポート番号
- データディレクトリのパス
- ログレベル
- コンテキスト注入の設定
実際のユースケース
ケース1:長期プロジェクトの開発
数週間にわたるプロジェクトで、過去のセッションで行った設計判断を新しいセッションで参照できます。「先週、認証ミドルウェアをどう実装したか」を聞くと、過去の観察から関連するコンテキストが自動的に提供されます。
ケース2:デバッグの効率化
過去に遭遇したバグと解決策が記録されているため、類似のバグに再度遭遇した際に過去の対処法を即座に参照できます。「前回このエラーが出たとき、どう解決したか」という問いに対して、具体的なコード変更の履歴が返ってきます。
ケース3:プロジェクト知識の蓄積
プロジェクト固有の知識(コードベースの構造、過去の技術的判断、踏んだ地雷など)がローカルの~/.claude-mem/にメモリとして蓄積されます。新しいセッションを始めても「このプロジェクトの文脈を知っている」AIアシスタントとして振る舞います。チーム間での知識共有にはexport/importの手順が別途必要です。
ベータ機能:Endless Mode
ベータチャネルではEndless Mode(生体模倣型メモリアーキテクチャ)を試すことができます。長時間のセッションにおけるメモリ圧縮と検索の効率改善を目指す実験的機能です。理論モデルベースの改善であり、標準モードより遅くなる可能性もあります。
Web Viewer UI(http://localhost:37777)の設定画面からベータチャネルに切り替えられます。
トラブルシューティング
問題が発生した場合は、Claude Codeに問題を説明するだけでトラブルシュートスキルが自動的に診断と修正案を提示します。
よくある問題と対処法を紹介します。
-
ワーカーが起動しない場合:Bunがインストールされているか確認してください。自動インストールされるはずですが、手動で
npm install -g bunも可能です - メモリが注入されない場合:Claude Codeを再起動してフックが正しく登録されているか確認してください
-
ポート37777が使用中の場合:
settings.jsonでポート番号を変更できます
まとめ
Claude-Memは、Claude Codeの「セッションをまたぐと記憶がリセットされる」という根本的な制約を解消するプラグインです。
-
/plugin marketplace add→/plugin installの2コマンドで導入できます - ツール使用の観察を自動記録し、次回セッションに関連コンテキストを注入します
- 3層ワークフローで約10倍のトークン節約を実現します
-
<private>タグによるプライバシー制御があります - Web Viewer UIでメモリの内容をリアルタイムに確認できます
セッションごとに「前回の続き」を説明する手間がなくなり、AIアシスタントが本当の意味で「プロジェクトを知っている」存在になります。