OpenClawの会話履歴を、jqとripgrepを使用してセッションJSONLファイル全体にわたって検索・分析します。
npx clawhub@latest install session-logs動作要件
session-logs スキルは、AIエージェントが ~/.openclaw/agents/<agentId>/sessions/ にJSONLファイルとして保存された過去の会話ログを検索、フィルタリング、分析する機能を提供します。ユーザーが以前のチャットで話した内容を参照したり、メモリファイルに存在しない過去のコンテキストについて質問したりする場合、このスキルは必要なクエリを提供して情報を取得します。構造化されたJSON処理には jq を、大規模になる可能性のあるセッションアーカイブ全体の高速全文検索には rg(ripgrep)を活用しています。
npx clawhub@latest install session-logsこのページ上部のインストールボタンをクリックするとワンクリックでセットアップできます
sessions.json インデックスを使用して、日付、サイズ、またはプロバイダー(Discord、WhatsApp など)でセッションを識別する必要がある場合。~/.openclaw/agents/ のセッションストレージが存在しないか、アクセスできない環境で作業しています。rg(ripgrep)を使って、すべてのセッションJSONLファイルを単一のコマンドでフレーズやキーワード検索できます。各ファイルを手動で読むことなく、関連するコンテンツを含むセッションを素早く特定できます。
.message.role および .message.content[].type フィールドに対して jq セレクターを使用することで、ユーザーメッセージ、アシスタントの応答、ツール呼び出し、または思考ブロックを個別に抽出できます。ツール結果のようなノイズは自動的にフィルタリングされます。
セッション全体または全セッションを日別に集計して、message.usage.cost.total をまとめることでコストサマリーを作成します。また、メッセージ数のカウント、セッション時間の計算、ツール使用状況の頻度別内訳にも対応しています。
日付やファイルサイズで並べ替えたすべてのセッションを一覧表示したり、特定の日のセッションを検索したり、sessions.json を参照してチャットプロバイダー(Discord、WhatsApp など)をセッション ID にマッピングしたりできます。
セッションは追記専用のJSONLファイルであり、数MBに達することがあります。session-logsのクエリパターンには、head/tailによるサンプリングのヒントや、ファイル全体を不必要にメモリに読み込むことを避けるためのストリーミングjqの使い方が含まれています。
ユーザーが「先月Xについて話したこと、覚えてる?」と言ったとき、エージェントはこのスキルを使って日付やキーワードでsession-logsファイルを検索し、たとえアクティブなコンテキストウィンドウに残っていなくても、関連するやり取りを見つけ出します。
開発者は、各会話にどれくらいのコストがかかっているかを把握したいと考えています。このスキルは、セッションごとに cost.total を集計し、結果を日別にグループ化することで、エージェント履歴全体にわたる読みやすいコスト内訳を生成します。
オペレーターは、エージェントが最も頻繁に呼び出すツールを把握したいと考えています。このスキルは、session-logs からの toolCall エントリを抽出し、集計してランキングを作成します。エージェントの動作のデバッグや最適化に役立ちます。
ユーザーが特定のトピック(例:プロジェクト名、意思決定の内容)について、過去に話し合われたことがあるかどうかを尋ねます。エージェントはすべての JSONL ファイルに対して ripgrep 検索を実行し、詳細な調査のためにマッチしたセッションのパスを返します。
npx clawhub@latest install session-logs動作要件
レビューを書くにはログイン
まだレビューはありません。最初の体験をシェアしましょう!