メインコンテンツへスキップ

openclaw sessions

保存済みの会話セッションを一覧表示します。 セッション一覧はチャネル/プロバイダーの生存確認ではありません。セッションストアに永続化された 会話行を表示します。静かな Discord、Slack、Telegram、または その他のチャネルは、メッセージが処理されるまで新しいセッション行を 作成せずに正常に再接続できます。ライブの チャネル接続性が必要な場合は、openclaw channels status --probeopenclaw status --deep、または openclaw health --verbose を使用します。
openclaw sessions
openclaw sessions --agent work
openclaw sessions --all-agents
openclaw sessions --active 120
openclaw sessions --limit 25
openclaw sessions --store ./tmp/sessions.json
openclaw sessions --json
フラグ:
フラグ説明
--agent <id>設定済みのエージェントストア 1 つ(デフォルト: 設定済みのデフォルトエージェント)。
--all-agentsすべての設定済みエージェントストアを集約します。
--store <path>明示的なストアパス(--agent または --all-agents と併用不可)。
--active <minutes>過去 N 分以内に更新されたセッションのみを表示します。
--limit <n|all>出力する最大行数(デフォルト 100; all で完全な出力に戻します)。
--json機械可読な出力。
--verbose詳細ログ。
openclaw sessions と Gateway sessions.list RPC はデフォルトで上限があるため、 大規模で長寿命のストアが CLI プロセスや Gateway イベント ループを占有することはありません。CLI はデフォルトで最新の 100 セッションを返します。 より小さい/大きい範囲には --limit <n> を渡し、意図的に ストア全体が必要な場合は --limit all を渡します。JSON レスポンスには、呼び出し元が さらに行が存在することを示す必要がある場合に備えて、totalCountlimitAppliedhasMore が含まれます。 RPC クライアントは、広範な結合 検出ソースを維持しつつ、現在設定に存在するエージェントの行のみを返すために configuredAgentsOnly: true を渡せます。 Control UI はデフォルトでこのモードを使用するため、削除済みまたはディスクのみのエージェントストアが Sessions ビューに再表示されません。 --all-agents は設定済みエージェントストアを読み取ります。Gateway と ACP セッション 検出はより広範です。デフォルトの agents/ ルートまたはテンプレート化された session.store ルートの下で見つかった ディスクのみのストアも含みます。検出された ストアはエージェントルート内の通常の sessions.json ファイルに解決される必要があり、 シンボリックリンクとルート外パスはスキップされます。 openclaw sessions --all-agents --json:
{
  "path": null,
  "stores": [
    { "agentId": "main", "path": "/home/user/.openclaw/agents/main/sessions/sessions.json" },
    { "agentId": "work", "path": "/home/user/.openclaw/agents/work/sessions/sessions.json" }
  ],
  "allAgents": true,
  "count": 2,
  "totalCount": 2,
  "limitApplied": 100,
  "hasMore": false,
  "activeMinutes": null,
  "sessions": [
    { "agentId": "main", "key": "agent:main:main", "model": "openai/gpt-5.5" },
    { "agentId": "work", "key": "agent:work:main", "model": "anthropic/claude-sonnet-4-6" }
  ]
}

末尾の軌跡進行状況

openclaw sessions tail
openclaw sessions tail --follow
openclaw sessions tail --session-key "agent:main:telegram:direct:123" --tail 25
openclaw sessions --agent work tail --follow
openclaw sessions --all-agents tail --follow
openclaw sessions tail は、最近の軌跡 JSONL イベントをコンパクトな 進行状況行として描画します。--session-key がない場合、まず実行中のセッションを追跡し、その後 最新の保存済みセッションを追跡します。--tail <count> は follow モードの前に 既存イベントを何件出力するかを制御します。デフォルトは 80 で、0 は現在の末尾から開始します。 --follow は、<session>.trajectory-path.json によって参照される移動済み ファイルを含め、選択された軌跡ファイルの監視を続けます。 進行状況ビューは意図的に保守的です。プロンプトテキスト、ツール引数、 ツール結果本文は出力されません。ツール呼び出しはツール名を {...redacted...} とともに表示します。ツール結果は okerrordone などのステータスを表示します。 モデル完了行はプロバイダー/モデルと終了ステータスを表示します。

軌跡バンドルをエクスポート

openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --workspace .
openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --output bug-123 --json
これは、所有者が exec リクエストを承認した後に /export-trajectory スラッシュコマンドで使用される コマンドパスです。出力ディレクトリは常に、選択されたワークスペース配下の .openclaw/trajectory-exports/ 内に解決されます。

クリーンアップ保守

次の書き込みサイクルを待たずに、今すぐ保守を実行します。
openclaw sessions cleanup --dry-run
openclaw sessions cleanup --agent work --dry-run
openclaw sessions cleanup --all-agents --dry-run
openclaw sessions cleanup --enforce
openclaw sessions cleanup --enforce --active-key "agent:main:telegram:direct:123"
openclaw sessions cleanup --dry-run --fix-dm-scope
openclaw sessions cleanup --json
openclaw sessions cleanup は、設定の session.maintenance 設定を使用します (設定リファレンス)。
  • スコープ注記: openclaw sessions cleanup はセッションストア、 トランスクリプト、軌跡サイドカーを保守します。cron 実行履歴は刈り込みません。 これは cron.runLog.keepLinesCron 設定)で管理されます。
  • クリーンアップは、session.maintenance.pruneAfter より古い未参照のプライマリトランスクリプト、compaction チェックポイント、軌跡サイドカーも刈り込みます。 sessions.json からまだ参照されているファイルは保持されます。
  • クリーンアップは、短命の Gateway モデル実行プローブのクリーンアップを modelRunPruned として別途報告します。これは agent:*:explicit:model-run-<uuid> の形をした厳密で明示的なキーにのみ一致します。保持期間は固定の 24h で、 プレッシャーゲート付きです。セッションエントリ 保守/上限プレッシャーに達した場合にのみ、古いプローブ行を削除します。実行時、モデル実行クリーンアップは グローバルな古い行のクリーンアップと上限制御の前に行われます。
フラグ:
フラグ説明
--dry-run書き込みなしで、刈り込み/上限制御されるエントリ数をプレビューします。テキストモードでは、セッションごとのアクション表(ActionKeyAgeModelFlags)と、セッションラベル別にグループ化されたサマリーを出力します。
--enforcesession.maintenance.modewarn の場合でも保守を適用します。
--fix-missingトランスクリプトファイルが見つからない、またはヘッダーのみ/空のエントリを、通常はまだ期限/件数超過の対象にならない場合でも削除します。
--fix-dm-scopesession.dmScopemain の場合、以前の per-peerper-channel-peer、または per-account-channel-peer ルーティングによって残された古いピアキー付き直接 DM 行を廃止します。最初に --dry-run を使用してください。適用すると、それらの行は sessions.json から削除され、トランスクリプトは削除済みアーカイブとして保持されます。
--active-key <key>特定のアクティブキーをディスク予算エビクションから保護します。グループセッションやスレッドスコープのチャットセッションなど、永続的な外部会話ポインターも、期限/件数/ディスク予算保守によって保持されます。
--agent <id>設定済みエージェントストア 1 つに対してクリーンアップを実行します。
--all-agentsすべての設定済みエージェントストアに対してクリーンアップを実行します。
--store <path>特定の sessions.json ファイルに対して実行します。
--jsonJSON サマリーを出力します。--all-agents の場合、出力にはストアごとのサマリーが 1 つ含まれます。
Gateway に到達できる場合、設定済みエージェントストアに対する非 dry-run クリーンアップは Gateway 経由で送信されるため、実行時トラフィックと同じセッションストアライターを共有します。 ストアファイルの明示的なオフライン修復には --store <path> を使用します。 openclaw sessions cleanup --all-agents --dry-run --json:
{
  "allAgents": true,
  "mode": "warn",
  "dryRun": true,
  "stores": [
    {
      "agentId": "main",
      "storePath": "/home/user/.openclaw/agents/main/sessions/sessions.json",
      "beforeCount": 120,
      "afterCount": 80,
      "missing": 0,
      "dmScopeRetired": 0,
      "pruned": 40,
      "capped": 0
    },
    {
      "agentId": "work",
      "storePath": "/home/user/.openclaw/agents/work/sessions/sessions.json",
      "beforeCount": 18,
      "afterCount": 18,
      "missing": 0,
      "dmScopeRetired": 0,
      "pruned": 0,
      "capped": 0
    }
  ]
}

セッションをコンパクト化

詰まった、または肥大化したセッションのコンテキスト予算を回収します。openclaw sessions compact <key>sessions.compact Gateway RPC の第一級ラッパーであり、実行中の Gateway が必要です。
openclaw sessions compact "agent:main:main"
openclaw sessions compact "agent:main:main" --max-lines 200
openclaw sessions compact "agent:work:main" --agent work --json
  • --max-lines がない場合、Gateway は LLM でトランスクリプトを要約します。CLI はデフォルトでクライアント期限を課しません。Gateway が 設定済みの Compaction ライフサイクルを所有します。
  • --max-lines <n> がある場合、最後の n トランスクリプト行に切り詰め、 以前のトランスクリプトを .bak サイドカーとしてアーカイブします。
  • --agent <id>: セッションを所有するエージェント。global キーでは必須です。
  • --url / --token / --password: Gateway 接続のオーバーライド。
  • --timeout <ms>: 任意のクライアント側 RPC タイムアウト(ミリ秒)。
  • --json: 生の RPC ペイロードを出力します。
Gateway が Compaction の失敗を報告した場合、または到達不能な場合、コマンドは非ゼロで終了するため、 cron やスクリプトが無言の no-op を成功と誤認することはありません。
openclaw agent --message '/compact ...'Compaction パスではありません。CLI からのスラッシュ コマンドは authorized-sender チェックによって拒否されます。その 呼び出しは、無言で no-op するのではなく、ここを指すガイダンスとともに非ゼロで終了します。

sessions.compact RPC

openclaw gateway call sessions.compact --params '<json>' は次を受け付けます。
フィールド必須説明
key文字列はいCompaction するセッションキー(例: agent:main:main)。
agentId文字列いいえセッションを所有するエージェント ID(global キー用)。
maxLines整数 ≥ 1いいえLLM 要約の代わりに最後の N 行へ切り詰めます。
LLM 要約レスポンスの例:
{
  "ok": true,
  "key": "agent:main:main",
  "compacted": true,
  "result": { "tokensBefore": 243868, "tokensAfter": 34941 }
}
切り詰めレスポンスの例(--max-lines 200):
{
  "ok": true,
  "key": "agent:main:main",
  "compacted": true,
  "archived": "/home/user/.openclaw/agents/main/sessions/transcripts/<id>.jsonl.bak",
  "kept": 200
}

関連