AI Deck

QMD (Query Markup Documents) ─ Markdownノートや議事録をローカル完結で横断検索できるハイブリッド検索エンジン

Shopify CEO の Tobi Lütke が開発したオープンソースのオンデバイス検索エンジン。手元に散らばった Markdown ノート・会議メモ・技術ドキュメントをまとめてインデックス化し、キーワードでも自然文でも探せる。BM25 による全文検索、ベクトルによる意味検索、そしてローカル LLM による再ランキングを組み合わせたハイブリッド方式が特徴で、モデルの実行を含めてすべて自分のマシン上で完結する。MCP サーバーとしても動くため、Claude Code などの AI エージェントから「自分のメモを検索させる」記憶基盤としても使える。GitHub で 2 万件を超えるスターを集めており、ライセンスは MIT。

主な特徴

  • 3 層のハイブリッド検索: 完全一致に強い BM25 全文検索、言い換えに強いベクトル検索、そして候補を並べ替えるローカル LLM の再ランカーを Reciprocal Rank Fusion で統合する。単純なキーワード検索では拾えない「言い方が違うだけの同じ話題」も引き当てられる
  • 完全ローカル動作: 埋め込みモデルも再ランカーも GGUF 形式のローカルモデル(node-llama-cpp 経由)で動く。ノートの中身が外部の API に送信されないため、業務メモや個人の記録を扱いやすい
  • Markdown を理解したチャンク分割: 見出し・段落・コードブロックといった構造の切れ目を見てテキストを分割する。コードについては tree-sitter による構文単位の分割も選べ、途中で意味が切れた断片が返りにくい
  • コレクション単位の管理: qmd collection add で複数のディレクトリをそれぞれコレクションとして登録し、検索時に対象を絞り込める。Obsidian の Vault、リポジトリの docs、議事録フォルダを別々に扱うといった運用ができる
  • MCP サーバー / Claude Code プラグイン: query get multi_get status といったツールを MCP 経由で公開し、AI エージェントが会話の途中で自分のナレッジベースを検索できる。Claude Code には claude plugin install qmd@qmd でプラグインとして導入できる
  • 用途で選べる 3 つの検索コマンド: 速度優先の search(BM25 のみ)、意味検索の vsearch、クエリ拡張と再ランキングまで行う最高精度の query を使い分けられる。出力形式は JSON・CSV・Markdown などから選べ、スクリプトへの組み込みも容易

料金

プラン料金主な特徴
オープンソース(MIT ライセンス)$0全機能を利用可能。モデルもローカル実行のため利用料は発生しない

料金は2026年8月時点の情報です。最新の情報は公式リポジトリをご確認ください。

なお、初回セットアップ時に埋め込み用・再ランキング用・クエリ拡張用のモデルが自動でダウンロードされ、合計で 2GB 前後のディスク容量を使う(~/.cache/qmd/models/ にキャッシュされる)。金銭的なコストは発生しないが、ディスクと計算資源は自前で用意する形になる。

メリット・デメリット

メリット

  • ノートの内容を外部に送らずに済むため、社外秘の議事録や個人的な記録でも安心して索引化できる
  • 無料かつ MIT ライセンスで、商用利用や社内ツールへの組み込みにも制約が少ない
  • キーワード検索と意味検索の両方を 1 つのコマンドで扱え、「うろ覚えの内容」から目的のメモに辿り着ける
  • MCP 対応により、AI エージェントに「自分の過去の記録」を参照させる用途に直結する
  • 出力形式が選べる CLI なので、既存のスクリプトやエディタ連携に組み込みやすい

⚠️ デメリット

  • CLI ツールであり GUI は付属しない。ターミナル操作に慣れていないと扱いにくい
  • Node.js 22 以上または Bun が必要で、macOS では拡張機能に対応した Homebrew 版 SQLite を用意する必要がある
  • ローカル LLM を動かすため、再ランキングまで行う query は環境によっては応答に時間がかかる
  • 既定の埋め込みモデル(EmbeddingGemma)は英語向けの最適化が中心で、日本語中心のノートでは多言語モデルへの切り替えと再インデックスが必要になる場合がある
  • 対象は Markdown を中心としたテキスト。PDF や Office ファイルをそのまま索引化する用途には向かない

類似サービスとの比較

比較項目QMDKhojObsidian(標準検索)ripgrep
提供形態CLI(オープンソース)セルフホスト / クラウドノートアプリCLI(オープンソース)
検索方式BM25 + ベクトル + LLM 再ランキング全文 + 意味検索キーワード中心正規表現による全文一致
ローカル完結可能ローカルモデル利用時は可能可能可能
AI エージェント連携MCP サーバー / Claude Code プラグインチャット UI・API 経由プラグインに依存なし
対象データMarkdown・ドキュメント全般ノート・文書・一部のオンラインソース自身の Vault 内のノート任意のテキストファイル

こんな人におすすめ

  • 数年分の Markdown ノートや議事録が溜まっていて、キーワード検索だけでは目的の記録に辿り着けなくなっている人
  • 社外秘の資料を扱うため、検索インデックスやモデル推論を外部サービスに預けたくない人
  • Claude Code などの AI エージェントに、自分の過去の記録を参照させながら作業させたい開発者
  • Obsidian の Vault やリポジトリの docs を横断して一括検索したい人
  • CLI ツールを普段から使っていて、検索結果を JSON で受け取って自分のワークフローに組み込みたい人

まとめ

QMD は、ローカルに閉じたまま高精度の検索を実現することに振り切ったツールである。BM25・ベクトル検索・LLM 再ランキングという現代的な検索の構成要素を、外部サービスに依存せず 1 つの CLI にまとめた点が最大の価値といえる。GUI がなくセットアップに前提条件がある分、導入のハードルはやや高いが、蓄積したノートを AI エージェントの記憶として活かしたい人にとっては有力な選択肢になる。まずは 1 つのコレクションを登録して qmd query の精度を確かめてみるとよい。

関連リンク

← ブログ