ClawMem は Sentō に付属する持続的メモリ層です。エージェントのワークスペース(~/workspace/)をインデックス化し、エージェント自身のメモ、過去の会話、追加したファイルに対する高速な検索を提供します。

ClawMem がなければ、エージェントは毎回の会話をゼロから始めます。あれば、先週話したことを思い出せます。

何がインデックス化されるか

デフォルトで ClawMem は以下をインデックス化します:

  • ~/workspace/CLAUDE.md — エージェントのアイデンティティとルール
  • ~/workspace/memory/**/*.md — あなたについて学んだすべて
  • エージェントが覚えるように指示された ~/workspace/ 内のその他のもの

.openclaw/node_modules/、隠しディレクトリはインデックス化しません — 明示的に除外されます。

検索の仕組み

ClawMem は 2 つの補完的な検索方法を実行します:

  1. BM25 — クラシックなキーワード検索。高速、依存関係ゼロ。
  2. Gemini 埋め込み(オプション)— セマンティック / ベクトル検索。無料の Gemini API キーが必要(sento init 時、または後で sento config で設定)。

Gemini をスキップすると、キーワードのみの検索になります。ほとんどのエージェントではこれでも十分に動きます — ワークスペース全体は通常、数十から数百の小さな Markdown ファイルで、コーパスではありません。

メモリへの書き込み

エージェントは、あなたが覚えるように言うとメモリに自分で書き込みます:

「簡潔な回答が好きって覚えておいて」

~/workspace/memory/ にファイルを作成または更新し、タイプ別に分類(ユーザープロフィール、フィードバック、プロジェクトコンテキスト、リファレンス)。ファイルシステムがメモリ — データベースなし、リモートサービスなし。

メモリの読み込み

新しいターンごとに、ClawMem は素早い検索パスを実行し、最も関連性の高いメモリエントリをエージェントのコンテキストに注入します。エージェントはそれらを他のツール結果と同じように見て、応答に使えます。

なぜベクトル DB を使わないか

3 つの理由:

  1. セットアップコストゼロ。 ClawMem はエージェントのワークスペース内のいくつかのファイル。ベクトル DB はサーバー。
  2. 監査可能。 エージェントのメモリを cat で読める。不透明な埋め込み空間はない。
  3. ポータブル。 メモリはエージェントと一緒に移動。ワークスペースを新しいホストにクローンすれば、メモリも一緒に来る。

より多く欲しくなる時

エージェントが最終的に数千のファイルをインデックス化することになった場合(例:完全なコードベース)、BM25 はまだ動きますがセマンティック検索がより価値を持ちます。Gemini を埋め込み用に接続 — 合理的なレート制限内で無料。

ファイル

  • ~/workspace/memory/ — メモリツリー全体
  • ~/workspace/memory/MEMORY.md — インデックス / 要約;エージェントが自己維持
  • メモリごとの Markdown ファイル、frontmatter で type: user | feedback | project | reference を宣言