Tools

軌跡バンドル

Trajectory キャプチャは、OpenClaw のセッションごとのフライトレコーダーです。各エージェント実行の構造化されたタイムラインを記録し、その後 /export-trajectory が現在のセッションを秘匿化されたサポートバンドルにパッケージ化します。

次のような質問に答える必要がある場合に使用します。

  • どのプロンプト、システムプロンプト、ツールがモデルに送信されたか。
  • どのトランスクリプトメッセージとツール呼び出しがこの回答につながったか。
  • 実行はタイムアウト、中止、Compaction、またはプロバイダーエラーに到達したか。
  • どのモデル、Plugin、Skills、ランタイム設定が有効だったか。
  • プロバイダーはどの使用量とプロンプトキャッシュメタデータを返したか。

ライブ Gateway の問題について広範なサポートレポートを提出する場合は、まず /diagnostics から始めてください。Diagnostics はサニタイズ済みの Gateway バンドルを収集し、OpenAI Codex ハーネスセッションでは、承認後に Codex フィードバックを OpenAI サーバーへ送信することもできます。セッションごとの詳細なプロンプト、ツール、トランスクリプトのタイムラインが特に必要な場合は /export-trajectory を使用してください。

クイックスタート

アクティブなセッションでこれを送信します。

/export-trajectory

エイリアス:

/trajectory

OpenClaw はワークスペース配下にバンドルを書き込みます。

.openclaw/trajectory-exports/openclaw-trajectory-<session>-<timestamp>/

相対出力ディレクトリ名を選択できます。

/export-trajectory bug-1234

カスタムパスは .openclaw/trajectory-exports/ の内部で解決されます。絶対パスと ~ パスは拒否されます。

Trajectory バンドルには、プロンプト、モデルメッセージ、ツールスキーマ、ツール結果、ランタイムイベント、ローカルパスを含めることができます。そのため、チャットのスラッシュコマンドは毎回 exec 承認を通ります。バンドルを作成する意図がある場合に一度エクスポートを承認してください。allow-all は使用しないでください。グループチャットでは、OpenClaw は trajectory の詳細を共有ルームに投稿し返すのではなく、承認プロンプトとエクスポート結果を所有者に非公開で送信します。

ローカル確認やサポートワークフローでは、承認済みコマンドパスを直接実行することもできます。

openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --workspace .

アクセス

Trajectory エクスポートは所有者コマンドです。送信者は、そのチャンネルの通常のコマンド認可チェックと所有者チェックに合格する必要があります。

記録される内容

Trajectory キャプチャは、OpenClaw エージェント実行でデフォルトで有効です。

ランタイムイベントには次が含まれます。

  • session.started
  • trace.metadata
  • context.compiled
  • prompt.submitted
  • model.fallback_step。ソースモデル、次のモデル、失敗理由/詳細、チェーン内の位置、fallback が進んだか、成功したか、チェーンを使い切ったかを含みます
  • model.completed
  • trace.artifacts
  • session.ended

トランスクリプトイベントも、アクティブなセッションブランチから再構築されます。

  • ユーザーメッセージ
  • アシスタントメッセージ
  • ツール呼び出し
  • ツール結果
  • Compaction
  • モデル変更
  • ラベルとカスタムセッションエントリ

イベントは、このスキーママーカーを持つ JSON Lines として書き込まれます。

{
  "traceSchema": "openclaw-trajectory",
  "schemaVersion": 1
}

バンドルファイル

エクスポートされたバンドルには次を含めることができます。

ファイル 内容
manifest.json バンドルスキーマ、ソースファイル、イベント数、生成されたファイル一覧
events.jsonl 順序付きのランタイムとトランスクリプトのタイムライン
session-branch.json 秘匿化されたアクティブトランスクリプトブランチとセッションヘッダー
metadata.json OpenClaw バージョン、OS/ランタイム、モデル、設定スナップショット、Plugin、Skills、プロンプトメタデータ
artifacts.json 最終ステータス、エラー、使用量、プロンプトキャッシュ、Compaction 数、アシスタントテキスト、ツールメタデータ
prompts.json 送信されたプロンプトと選択されたプロンプト構築の詳細
system-prompt.txt キャプチャされた場合の最新のコンパイル済みシステムプロンプト
tools.json キャプチャされた場合のモデルに送信されたツール定義

manifest.json は、そのバンドルに存在するファイルを列挙します。セッションが対応するランタイムデータをキャプチャしなかった場合、一部のファイルは省略されます。

キャプチャ場所

デフォルトでは、ランタイム trajectory イベントはセッションファイルの横に書き込まれます。

<session>.trajectory.jsonl

OpenClaw は、ベストエフォートのポインターファイルもセッションの横に書き込みます。

<session>.trajectory-path.json

ランタイム trajectory サイドカーを専用ディレクトリに保存するには、OPENCLAW_TRAJECTORY_DIR を設定します。

export OPENCLAW_TRAJECTORY_DIR=/var/lib/openclaw/trajectories

この変数が設定されている場合、OpenClaw はそのディレクトリにセッション ID ごとに 1 つの JSONL ファイルを書き込みます。

セッションメンテナンスは、所有するセッションエントリがプルーニング、上限適用、またはセッションのディスク予算によって退避されたときに、trajectory サイドカーを削除します。セッションディレクトリ外のランタイムファイルは、ポインターターゲットがそのセッションに属していることをまだ証明できる場合にのみ削除されます。

キャプチャを無効にする

OpenClaw を開始する前に OPENCLAW_TRAJECTORY=0 を設定します。

export OPENCLAW_TRAJECTORY=0

これにより、ランタイム trajectory キャプチャが無効になります。/export-trajectory は引き続きトランスクリプトブランチをエクスポートできますが、コンパイル済みコンテキスト、プロバイダーアーティファクト、プロンプトメタデータなどのランタイム専用ファイルは欠落する場合があります。

プライバシーと制限

Trajectory バンドルはサポートとデバッグ向けに設計されており、公開投稿向けではありません。OpenClaw は、エクスポートファイルを書き込む前に機密値を秘匿化します。

  • 認証情報と既知のシークレットらしいペイロードフィールド
  • 画像データ
  • ローカル状態パス
  • ワークスペースパス。$WORKSPACE_DIR に置き換えられます
  • 検出された場合のホームディレクトリパス

エクスポーターは入力サイズにも上限を設けます。

  • ランタイムサイドカーファイル: ライブキャプチャは 10 MiB で停止し、容量が残っている場合は切り詰めイベントを記録します。エクスポートは既存のランタイムサイドカーを最大 50 MiB まで受け入れます
  • セッションファイル: 50 MiB
  • ランタイムイベント: 200,000
  • エクスポートされるイベント総数: 250,000
  • 個々のランタイムイベント行は 256 KiB を超えると切り詰められます

チーム外に共有する前に、バンドルを確認してください。秘匿化はベストエフォートであり、アプリケーション固有のすべてのシークレットを把握することはできません。

トラブルシューティング

エクスポートにランタイムイベントがない場合:

  • OpenClaw が OPENCLAW_TRAJECTORY=0 なしで開始されたことを確認します
  • OPENCLAW_TRAJECTORY_DIR が書き込み可能なディレクトリを指しているか確認します
  • セッション内で別のメッセージを実行してから、再度エクスポートします
  • manifest.jsonruntimeEventCount を確認します

コマンドが出力パスを拒否する場合:

  • bug-1234 のような相対名を使用します
  • /tmp/...~/... を渡さないでください
  • エクスポートを .openclaw/trajectory-exports/ の内部に保持します

エクスポートがサイズエラーで失敗する場合、セッションまたはサイドカーがエクスポートの安全制限を超えています。新しいセッションを開始するか、より小さな再現をエクスポートしてください。

関連