Sessions and memory
セッション検索
セッション検索
sessions_search は、自分の過去のセッション内にあるユーザーとアシスタントのテキストを検索します。各結果には
sessionKey、タイムスタンプ、ロール、および一致した短い抜粋が含まれます。前後の会話が必要な場合は、返された
sessionKey を sessions_history に渡します。
可視性と出力
検索には、sessions_history と同じセッション可視性ルールが適用されます。呼び出し元から見える
セッションツリーの外にある結果は、結果数の上限が適用される前に除外されます。サンドボックス化されたエージェントは、
生成セッションの可視性が有効な場合でも、自身が生成したセッションのみに引き続き制限されます。
抜粋はモデルに返される前に秘匿化されます。また、結果は件数、抜粋の長さ、 およびレスポンスの合計サイズによって制限されます。
インデックスのライフサイクル
OpenClaw は、各エージェントの SQLite データベース内で、トランスクリプト行とともに全文検索インデックスを保存します。 新しいユーザーメッセージとアシスタントメッセージは、それらを永続化するトランザクションと同じトランザクション内でインデックス化されるため、 インデックスが進行中の会話より遅れることはありません。ツールの結果、推論ブロック、および画像は除外されます。 検索できるのは、トランスクリプトのアクティブなブランチのみです。
インデックス作成より前のトランスクリプト(たとえば、openclaw doctor によってインポートされたセッション)と、
アクティブなブランチが巻き戻されたセッションは、次回の検索時に開始されるバックグラウンドの整合処理によって再インデックス化されます。
そのため、indexing: true を含むレスポンスは不完全な場合があります。インデックス作成の完了後に再試行してください。
セッションを削除すると、同じトランザクション内でそのインデックスエントリも削除されます。
現在、検索にはダイアクリティカルマーク除去機能を備えた SQLite の Unicode 単語トークナイザーが使用されています。CJK の部分文字列一致に対応する トライグラムトークン化は、今後の改善予定です。
セッション検索とメモリ検索の比較
生のセッショントランスクリプトに含まれる完全一致の単語やフレーズを検索するには、sessions_search を使用します。
永続的なメモリファイルとセマンティック検索には、memory_search を使用します。
試験的なセッションメモリコーパスは、この完全一致トランスクリプト検索をセマンティックに補完するものです。