トレース

ワークスペースが行うすべてのリクエスト(LLM プロバイダーへのエージェントトラフィック、パッケージのダウンロード、インフラストラクチャへの API 呼び出し)は、Bromure Agentic Coding のホスト側プロキシを経由します。トレース ペインは、プロキシがこのワークスペースのトラフィックをどの程度記録するかを制御し、まったく記録しない設定から完全なリクエストおよびレスポンスの本文までを選べます。記録されたものはすべて Mac 上に残り、保存時に暗号化され、トレースインスペクタまたは bromure-cli trace コマンドラインから参照できます。

ワークスペース設定エディタのトレースペイン。セッショントレースのピッカーが「AI リクエストの詳細」に設定されている

トレースはワークスペースごとに設定します。使い捨てのワークスペースはトレースなしで実行し、本番向けのワークスペースはすべての AI 交信を記録するといった使い分けができます。このページではこの設定ペインについて説明します。トレースレベル、トレースインスペクタウィンドウ、WebSocket トランスクリプト、およびトレース CLI については、トレースの章で詳しく説明します。

セッショントレース

セッショントレース ピッカーでは、4 つの記録レベルのいずれかを選択します。

レベル記録される内容
オフ何も記録しません。
アクティビティのみリクエストごとに 1 件のメタデータレコード(タイムスタンプ、ホスト、メソッド、パス、ステータス、リクエストおよびレスポンスのサイズ、レイテンシ、トークンスワップレポート、認証情報の漏洩警告)を記録します。本文は記録しません。
AI リクエストの詳細アクティビティのみ のすべてに加えて、既知の LLM ホスト(Anthropic、OpenAI/ChatGPT、Google、Cohere、Mistral、Perplexity、x.ai/Grok、Groq、Replicate、HuggingFace、およびワークスペースがローカルモデルにルーティングする際のローカル推論ホスト)の完全なリクエストおよびレスポンス本文を記録します。
すべてLLM プロバイダーだけでなく、すべてのホストの本文を記録します。ディスクの消費が最も速く、セッションごとに本文 100 MB、合計 5 GB の上限があります。

新しいワークスペースは(設定テンプレートを介して)デフォルトで AI リクエストの詳細 になっているため、エージェントの会話は初期状態で監査可能です。この設定が存在する前に作成されたワークスペースは オフ としてデコードされます。

ヒント: アクティビティのみ は、プロンプトやレスポンスのテキストをディスクに保存せずに、監査証跡(どのホストに接続したか、認証情報がスワップまたは漏洩したか)が欲しい場合に適しています。

トレースデータの保存方法

メタデータは、リクエストごとに 1 行の JSON として ~/Library/Application Support/BromureAC/traces/YYYY-MM-DD/<sessionID>.jsonl に追記されます。キャプチャされた本文は、1 階層深いセッションごとのサブディレクトリに、traces/YYYY-MM-DD/<sessionID>/<recordID>.req.enc / <recordID>.res.enc として保存されます。これらはワークスペースのシークレットを保護するのと同じ Keychain 内のマスターキーで AES-GCM 暗号化され、ファイルパーミッションは 0600 です。

何かが書き込まれる前に、次の処理が行われます。

  • 機密性の高いヘッダー(AuthorizationProxy-AuthorizationCookieSet-Cookiex-amz-security-tokenapi-key、および -api-key で終わるすべてのヘッダー)は <redacted> に書き換えられます。
  • トークンスワップおよび漏洩の疑いは、最初と最後の文字のプレビューのみとして記録されます。実際のシークレットのバイトがトレースレコードに入ることはありません。

保持は自動です。セッションごとの本文は 100 MB を上限とし(最も古い本文ファイルから削除されますが、メタデータの行は保持されます)、traces ディレクトリ全体は 5 GB を上限とします(最も古い日付ディレクトリから先に削除されます)。

警告: AI リクエストの詳細 および すべて のレベルでは、AI 交信の完全なプロンプトおよびレスポンスのテキストがディスク上にあります。暗号化されていますが、存在します。ボールトのマスターキーがローテーションされると、以前にキャプチャされた本文は復号できなくなり、インスペクタには「(キャプチャなし / 復号失敗)」と表示されます。

プライベートモード

プライベートモード スイッチは、bromure.io ワークスペースに登録された Mac にのみ表示されます。有効にすると、このワークスペースのセッションは、セッションメタデータ(使用したツール、触れたファイル、実行したコマンド、トークン使用量)を登録済みの bromure.io ワークスペースへストリーミングするのを停止します。ローカルトレースとトレースインスペクタには影響しません。

これは、あるワークスペースで個人用の API キーを使用しており、そのアクティビティを組織の管理者に見られたくない場合に便利です。未登録の Mac ではこのスイッチは非表示になっており(ストリーミングされるものが何もないため)、上のスクリーンショットに表示されていないのはそのためです。登録済みのインストールがストリーミングする内容については、エンタープライズの章を参照してください。

デフォルト: オフ。

サブスクリプショントークンスワップ

エージェントが サブスクリプション(インタラクティブログイン) で認証する場合、プロキシは実際の Claude または Codex の OAuth トークンをホスト上に保持し、VM 内には偽物を提供することを提案します。これは API キーに使用されるのと同じ偽物と実物のトークンスワップモデルです。ワークスペースでこれが初めて発生するとき、プロキシは同意を求めます。

そのプロンプトに応答すると、トレースペインの下部に 1 つまたは 2 つのステータス行が表示されます。

  • Claude サブスクリプショントークンスワップ — Claude OAuth トークンのステータス。
  • Codex サブスクリプショントークンスワップ — Codex / ChatGPT OAuth トークンのステータス。独立して管理されるため、両方のエージェントを使用するワークスペースはプロバイダーごとに決定できます。

各行には アクティブ(「プロキシは実際の OAuth トークンをこの Mac 上に保持し、VM 内には偽物を提供しています」)または 拒否済み のいずれかが、リセットコントロールとともに表示されます。アクティブなときは スワップを破棄(次のセッションで再確認)、拒否済みのときは プロンプトを再有効化 です。リセットすると状態が未設定に戻り、プロキシは次のセッションで再度確認します。

プロキシが少なくとも 1 回プロンプトを表示するまで、これらの行は完全に非表示になります。

記録された内容の表示

  • トレースインスペクタ — ウィンドウメニュー(トレースインスペクタ…、⇧⌘I)から開きます。すべてのワークスペースにわたって記録されたすべての交信を、漏洩バッジおよびスワップバッジ付きでリアルタイムにフィルタ可能なリストとして表示し、キャプチャされた AI 交信を解析済みの会話としてレンダリングします。
  • コマンドライン — アプリが実行されている状態で、bromure-cli trace lstrace summarytrace hostnamestrace leakstrace clear によって同じデータをターミナルで取得できます。

どちらもトレースの章で説明しています。

設定リファレンス

設定種類デフォルト
セッショントレースピッカー: オフ / アクティビティのみ / AI リクエストの詳細 / すべて新しいワークスペースでは AI リクエストの詳細、設定より前のプロファイルでは オフ
プライベートモードスイッチ(登録済みの Mac のみ)オフ
Claude サブスクリプショントークンスワップステータス行 + リセットボタン(プロキシがプロンプトを表示した後にのみ表示)未設定(非表示)
Codex サブスクリプショントークンスワップステータス行 + リセットボタン(プロキシがプロンプトを表示した後にのみ表示)未設定(非表示)