lore
lore
Claude Codeの会話全体を対象としたセマンティック検索ツールです。 プロジェクト、セッション、ブランチを問わず、過去に議論したあらゆる内容を検索できます。
特徴
ハイブリッド検索(ベクトル + キーワード)
multilingual-e5-smallの埋め込みとFTS5/BM25をReciprocal Rank Fusion(RRF)で組み合わせます。意味による検索と完全一致検索の両方に対応しています。完全ローカル動作、APIキー不要 すべてがローカルマシン上で実行されます。埋め込みにはONNX Runtime、ストレージには
sqlite-vecを使用。データがデバイスから外部へ送信されることはありません。セッション終了時の自動インデックス SessionEndフックにより、新しいセッションがバックグラウンドで自動的にインデックスされます。手動操作は不要です。
バックグラウンドインデックス 手動でのインデックス実行は即座に完了します。作業を続けながら進捗を監視でき、インデックス作成中も既に完了している分については検索可能です。
デフォルトでオプトアウト方式 すべてのプロジェクトが自動的にインデックスされます。不要なプロジェクトは除外可能です。登録は不要です。
会話を認識したチャンク分割 任意のトークンウィンドウではなく、論理的なターン(ユーザーの質問 + アシスタントの完全な応答チェーン)で分割します。ツール使用チェーン、思考ブロック、多段階のやり取りを正しく処理します。
100以上の言語に対応 韓国語、日本語、中国語、英語など90以上の言語に対応。CJK(中日韓)を考慮したトークン推定により、正確なチャンク分割を実現します。
クイックスタート
Claude Codeに追加
# No install needed — always runs latest version
claude mcp add -s user lore -- npx getlore
# Or for a single project only
claude mcp add -s project lore -- npx getloreOpenAI Codex CLIに追加
# No install needed
codex mcp add lore -- npx getlorenpm install -g getlore
# Then register with your tool:
claude mcp add -s user lore -- getlore # Claude Code
codex mcp add lore -- getlore # Codex CLI
# Manage your install:
getlore --version # Check installed version
getlore update # Update to latest使用方法
接続後、AIはloreのツールを直接使用できます:
You: "What did we discuss about auth refactoring last week?"
Claude: [calls lore search] Found 3 relevant conversations...
In your "my-webapp" project on March 15, you decided to...初回セットアップ:
インデックス作成 --
index()を実行すると全プロジェクトが自動的にスキャンされ、バックグラウンドで実行されます検索 -- 過去の会話について何でも質問してください
除外(オプション) -- 不要なノイズの多いプロジェクトを非表示にします
ツール
ツール | 目的 |
| インデックス対象からプロジェクトを除外/追加(オプトアウトモデル) |
| バックグラウンドインデックスを開始。除外されていない全プロジェクトが対象。モード: |
| インデックスの進捗、ETA、スキップ理由、DBの健全性を確認 |
| 会話全体を対象としたセマンティック検索 + キーワード検索 |
| 検索結果を前後の会話を含めて展開 |
| プロジェクトごとにインデックス済みのセッションを閲覧 |
なぜこのツールが必要か
Claude Codeはすべての会話を~/.claude/projects/にJSONL形式のトランスクリプトとして保存します。数週間経つと、数十のプロジェクトにわたって数百ものセッションが蓄積されます。そこにはアーキテクチャの決定、デバッグ、コードレビュー、設計の検討などが含まれています。
しかし、それらを検索する方法がありません。「認証ミドルウェアにはどのようなアプローチをとったか?」や「データベース移行の議論をしたのはどのプロジェクトか?」といった質問に答えることができません。
既存のツールはクラウドAPIを必要としたり、ゾンビプロセスを生成したり、会話を単なるドキュメントとして扱ったりするものがほとんどです。loreはClaude Codeのセッション専用に構築されており、ターンの境界、ツール使用チェーン、思考ブロックを理解します。Node.js以外の依存関係なしで、完全にローカルで動作します。
仕組み
~/.claude/projects/*/*.jsonl
|
JSONL Parser (extracts user/assistant messages, skips noise)
|
Turn-pair Chunker (groups by logical conversation turns)
|
Transformers.js (multilingual-e5-small, INT8 quantized, 384d)
|
sqlite-vec + FTS5 (hybrid vector + keyword storage)
|
Reciprocal Rank Fusion (combines both signals for ranking)ストレージ: ~/.lore/lore.dbに単一のSQLiteファイルを作成。同時読み取りのためにWALモードを使用。
設定: プロジェクトの除外設定は~/.lore/config.jsonに保存。
環境変数
変数 | デフォルト | 説明 |
|
| データディレクトリ |
|
| データベースパス |
|
| Claude Codeトランスクリプトの場所 |
Apple Silicon (Mシリーズ) での測定値:
メトリクス | 値 |
検索レイテンシ | 20-30ms |
インデックス速度 | 約10セッション/秒 |
初回検索(モデルのコールドロード) | 約5秒 |
DBサイズ | 10セッションあたり約0.1MB |
モデルサイズ(初回のみダウンロード) | 約112MB |
「セッションが見つかりません」
manage_projectsでlistアクションを実行し、利用可能なプロジェクトを確認してください。除外されていない限り、すべてインデックスされます。
ロックファイルが古い
インデックス作成が中断された場合、次回の実行時にロックファイルは自動的にクリーンアップされます(PIDベースの検出)。
DBの破損
~/.lore/lore.dbを削除して再インデックスしてください。ソースデータ(~/.claude/projects/)が変更されることはありません。
開発
git clone https://github.com/hyunjae-labs/lore.git
cd lore
npm install
npm run build
npm test # 118 tests技術スタック
Model Context Protocol SDK -- stdioトランスポート
@huggingface/transformers -- multilingual-e5-small (INT8)
better-sqlite3 + sqlite-vec -- 組み込みベクトルDB
Reciprocal Rank Fusion -- ハイブリッド検索ランキング
ライセンス
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hyunjae-labs/lore'
If you have feedback or need assistance with the MCP directory API, please join our Discord server