デバッグ

このページでは、ストリーミング出力のデバッグ補助ツールについて説明します。特にプロバイダーが推論を通常のテキストに混入する場合に役立ちます。

ランタイムデバッグオーバーライド

チャットで /debug を使用すると、ランタイム限定の設定オーバーライドを設定できます(メモリのみ、ディスクには書き込まれません)。 /debug はデフォルトで無効です。commands.debug: true で有効にしてください。 openclaw.json を編集せずにマイナーな設定を切り替えたい場合に便利です。

例:

/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug unset messages.responsePrefix
/debug reset

/debug reset はすべてのオーバーライドをクリアし、ディスク上の設定に戻します。

ゲートウェイ watch モード

素早い開発イテレーションには、ファイルウォッチャーでゲートウェイを実行してください:

pnpm gateway:watch

これは以下に対応します:

node --watch-path src --watch-path tsconfig.json --watch-path package.json --watch-preserve-output scripts/run-node.mjs gateway --force

gateway:watch の後にゲートウェイ CLI フラグを追加すると、再起動のたびに渡されます。

開発プロファイル + 開発ゲートウェイ (—dev)

dev プロファイルを使用して状態を分離し、安全で使い捨てのデバッグ環境を構築できます。--dev フラグは 2つ あります:

  • グローバル --dev(プロファイル): ~/.openclaw-dev 配下に状態を分離し、デフォルトのゲートウェイポートを 19001 に設定します(派生ポートも連動)。
  • gateway --dev:設定やワークスペースがない場合にデフォルト設定を自動作成(BOOTSTRAP.md をスキップ)。

推奨フロー(dev プロファイル + dev ブートストラップ):

pnpm gateway:dev
OPENCLAW_PROFILE=dev openclaw tui

グローバルインストールがまだない場合は、pnpm openclaw ... で CLI を実行してください。

動作内容:

  1. プロファイル分離(グローバル --dev

    • OPENCLAW_PROFILE=dev
    • OPENCLAW_STATE_DIR=~/.openclaw-dev
    • OPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.json
    • OPENCLAW_GATEWAY_PORT=19001(ブラウザ/canvas も連動)
  2. 開発ブートストラップgateway --dev

    • 設定ファイルがない場合に最小限の設定を書き込みます(gateway.mode=local、ループバックにバインド)。
    • agent.workspace を開発ワークスペースに設定。
    • agent.skipBootstrap=true(BOOTSTRAP.md をスキップ)。
    • ワークスペースファイルがない場合にシード: AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.md
    • デフォルトの身元:C3‑PO(プロトコルドロイド)。
    • 開発モードではチャンネルプロバイダーをスキップ(OPENCLAW_SKIP_CHANNELS=1)。

リセットフロー(新規開始):

pnpm gateway:dev:reset

注意: --devグローバルプロファイルフラグで、一部のランナーに食べられます。 明示的に指定する必要がある場合は、環境変数形式を使用してください:

OPENCLAW_PROFILE=dev openclaw gateway --dev --reset

--reset は設定、認証情報、セッション、開発ワークスペースをクリア(rm ではなく trash を使用)してから、デフォルトの開発環境を再作成します。

ヒント: 非開発ゲートウェイがすでに稼働中(launchd/systemd)の場合は、先に停止してください:

openclaw gateway stop

生のストリームログ(OpenClaw)

OpenClaw は、フィルタリング/フォーマット生のアシスタントストリームをログに記録できます。 推論がプレーンテキストのデルタとして到着しているのか、別の thinking ブロックとして到着しているのかを確認する最良の方法です。

CLI で有効化:

pnpm gateway:watch --raw-stream

パスのオーバーライド(任意):

pnpm gateway:watch --raw-stream --raw-stream-path ~/.openclaw/logs/raw-stream.jsonl

環境変数での設定:

OPENCLAW_RAW_STREAM=1
OPENCLAW_RAW_STREAM_PATH=~/.openclaw/logs/raw-stream.jsonl

デフォルトファイル:

~/.openclaw/logs/raw-stream.jsonl

生のチャンクログ(pi-mono)

ブロックに解析される生の OpenAI 互換チャンクをキャプチャするため、pi-mono は別のロガーを公開しています:

PI_RAW_STREAM=1

パス(任意):

PI_RAW_STREAM_PATH=~/.pi-mono/logs/raw-openai-completions.jsonl

デフォルトファイル:

~/.pi-mono/logs/raw-openai-completions.jsonl

注意: これは pi-mono の openai-completions プロバイダーを使用するプロセスのみが出力します。

安全上の注意

  • 生のストリームログには、完全なプロンプト、ツール出力、ユーザーデータが含まれる可能性があります。
  • ログはローカルに保管し、デバッグ後に削除してください。
  • ログを共有する場合は、シークレットや個人情報を事前に除去してください。