メインコンテンツへスキップ
組み込みエンジンはデフォルトのメモリバックエンドです。メモリインデックスを エージェントごとの SQLite データベースに保存し、はじめるための追加依存関係は 不要です。

提供されるもの

  • FTS5 全文インデックス(BM25 スコアリング)による キーワード検索
  • サポートされている任意のプロバイダーの埋め込みによる ベクトル検索
  • 最良の結果を得るために両方を組み合わせる ハイブリッド検索
  • 中国語、日本語、韓国語向けのトライグラムトークン化による CJK サポート
  • データベース内ベクトルクエリ向けの sqlite-vec 高速化(任意)。

はじめに

デフォルトでは、組み込みエンジンは OpenAI 埋め込みを使用します。OPENAI_API_KEY または models.providers.openai.apiKey がすでに設定されている場合、追加のメモリ設定なしで ベクトル検索が動作します。 プロバイダーを明示的に設定するには:
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai",
      },
    },
  },
}
埋め込みプロバイダーがない場合、キーワード検索のみ利用できます。 ローカルの GGUF 埋め込みを強制するには、公式の llama.cpp プロバイダー plugin をインストールしてから、local.modelPath を GGUF ファイルに向けます。
openclaw plugins install @openclaw/llama-cpp-provider
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "local",
        fallback: "none",
        local: {
          modelPath: "~/.node-llama-cpp/models/embeddinggemma-300m-qat-Q8_0.gguf",
        },
      },
    },
  },
}

サポートされている埋め込みプロバイダー

プロバイダーID注記
BedrockbedrockAWS 認証情報チェーンを使用
DeepInfradeepinfraデフォルト: BAAI/bge-m3
Geminigeminiマルチモーダル(画像 + 音声)に対応
GitHub Copilotgithub-copilotCopilot サブスクリプションを使用
LM Studiolmstudioローカル/セルフホスト
Locallocal@openclaw/llama-cpp-provider
Mistralmistral
Ollamaollamaローカル/セルフホスト
OpenAIopenaiデフォルト: text-embedding-3-small
OpenAI-compatibleopenai-compatible汎用 /v1/embeddings エンドポイント
Voyagevoyage
OpenAI 以外に切り替えるには、memorySearch.provider を設定します。

インデックス作成の仕組み

OpenClaw は MEMORY.mdmemory/*.md をチャンク(デフォルトでは 400 トークン、 80 トークンの重複)にインデックス化し、エージェントごとの SQLite データベースに保存します。
  • インデックスの場所: 所有するエージェントデータベース: ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite
  • ストレージメンテナンス: SQLite WAL サイドカーは定期チェックポイントと シャットダウン時チェックポイントで範囲内に保たれます。
  • ファイル監視: メモリファイルの変更により、デバウンスされた再インデックスが トリガーされます(デフォルト 1.5 秒)。
  • 自動再インデックス: 埋め込みプロバイダー、モデル、チャンク化設定、設定済みソース、 またはスコープが変更されると、インデックスは自動的に再構築されます。
  • オンデマンド再インデックス: openclaw memory index --force
memorySearch.extraPaths を使って、ワークスペース外の Markdown ファイルも インデックス化できます。 設定リファレンスを参照してください。

使用する場面

組み込みエンジンはほとんどのユーザーに適した選択です。
  • 追加依存関係なしでそのまま動作します。
  • キーワード検索とベクトル検索を適切に処理します。
  • すべての埋め込みプロバイダーをサポートします。
  • ハイブリッド検索は、両方の取得アプローチの最良部分を組み合わせます。
再ランキング、クエリ拡張、またはワークスペース外のディレクトリをインデックス化する必要がある場合は、 QMD への切り替えを検討してください。 自動ユーザーモデリングを伴うセッション横断メモリが必要な場合は、 Honcho を検討してください。

トラブルシューティング

メモリ検索が無効ですか? openclaw memory status を確認してください。プロバイダーが 検出されない場合は、明示的に設定するか API キーを追加してください。 ローカルプロバイダーが検出されませんか? ローカルパスが存在することを確認し、次を実行します。
openclaw memory status --deep --agent main
openclaw memory index --force --agent main
スタンドアロン CLI コマンドと Gateway はどちらも同じ local プロバイダー ID を使用します。 ローカル埋め込みを使用したい場合は、memorySearch.provider: "local" を設定してください。 古い結果ですか? 再構築するには openclaw memory index --force を実行してください。まれなエッジケースでは、 ウォッチャーが変更を見逃す場合があります。 sqlite-vec が読み込まれませんか? OpenClaw は自動的にプロセス内のコサイン類似度に フォールバックします。openclaw memory status --deep はローカルのベクトルストアを 埋め込みプロバイダーとは別に報告するため、Vector store: unavailable は sqlite-vec の読み込みを指し、Embeddings: unavailable は プロバイダー/認証またはモデル準備状況を指します。具体的な読み込みエラーはログを確認してください。

設定

埋め込みプロバイダーのセットアップ、ハイブリッド検索の調整(重み、MMR、時間減衰)、 バッチインデックス作成、マルチモーダルメモリ、sqlite-vec、追加パス、その他すべての 設定項目については、 メモリ設定リファレンスを参照してください。

関連