Chrome拡張機能(ブラウザリレー)

OpenClaw Chrome拡張機能を使用すると、エージェントは別のopenclawが管理するChromeプロファイルを起動する代わりに、既存のChromeタブ(通常のChromeウィンドウ)を制御できます。

アタッチ/デタッチは 単一のChromeツールバーボタン で行われます。

コンセプト

3つのパートがあります:

  • ブラウザ制御サービス(GatewayまたはNode): エージェント/ツールが呼び出すAPI(Gateway経由)
  • ローカルリレーサーバー(ループバックCDP): 制御サーバーと拡張機能の間をブリッジ(デフォルトで http://127.0.0.1:18792
  • Chrome MV3拡張機能: chrome.debugger を使用してアクティブタブにアタッチし、CDPメッセージをリレーにパイプ

OpenClawは通常の browser ツールサーフェス(適切なプロファイルを選択)を通じてアタッチされたタブを制御します。

インストール/ロード(アンパック)

  1. 拡張機能を安定したローカルパスにインストール:
openclaw browser extension install
  1. インストールした拡張機能ディレクトリパスを表示:
openclaw browser extension path
  1. Chrome → chrome://extensions
  • "デベロッパーモード"を有効化
  • "パッケージ化されていない拡張機能を読み込む" → 上記で表示されたディレクトリを選択
  1. 拡張機能をピン留めします。

更新(ビルドステップなし)

拡張機能は静的ファイルとしてOpenClawリリース(npmパッケージ)内に同梱されています。別の「ビルド」ステップはありません。

OpenClawをアップグレード後:

  • openclaw browser extension install を再実行して、OpenClaw状態ディレクトリ下のインストール済みファイルを更新します。
  • Chrome → chrome://extensions → 拡張機能の"再読み込み"をクリック。

使用方法(追加設定不要)

OpenClawには、デフォルトポートの拡張リレーをターゲットとする chrome という名前のブラウザプロファイルが組み込まれています。

使用:

  • CLI: openclaw browser --browser-profile chrome tabs
  • エージェントツール: profile="chrome"browser

別の名前や別のリレーポートが必要な場合は、独自のプロファイルを作成します:

openclaw browser create-profile \
  --name my-chrome \
  --driver extension \
  --cdp-url http://127.0.0.1:18792 \
  --color "#00AA00"

アタッチ/デタッチ(ツールバーボタン)

  • OpenClawに制御させたいタブを開きます。
  • 拡張アイコンをクリック。
    • アタッチ時にバッジに ON が表示されます。
  • もう一度クリックするとデタッチします。

どのタブを制御しますか?

  • "見ているタブ"を自動的に制御 しません
  • ツールバーボタンをクリックして 明示的にアタッチしたタブのみ を制御します。
  • 切り替えるには: 他のタブを開いてそこで拡張アイコンをクリックします。

バッジ + 一般的なエラー

  • ON: アタッチ済み。OpenClawがそのタブを制御できます。
  • : ローカルリレーに接続中。
  • !: リレーに到達できません(最も一般的: このマシンでブラウザリレーサーバーが実行されていません)。

! が表示される場合:

  • Gatewayがローカルで実行されていることを確認(デフォルト設定)、またはGatewayが他の場所で実行されている場合はこのマシンでノードホストを実行します。
  • 拡張機能のオプションページを開くと、リレーが到達可能かどうかが表示されます。

リモートGateway(ノードホストを使用)

ローカルGateway(Chromeと同じマシン) — 通常は 追加手順不要

GatewayがChromeと同じマシンで実行されている場合、ループバックでブラウザ制御サービスを起動し、リレーサーバーを自動起動します。拡張機能はローカルリレーと通信し、CLI/ツール呼び出しはGatewayに送られます。

リモートGateway(Gatewayが他の場所で実行) — ノードホストを実行

Gatewayが別のマシンで実行されている場合は、Chromeを実行するマシンでノードホストを起動します。 Gatewayはそのノードにブラウザアクションをプロキシします。拡張機能 + リレーはブラウザマシンのローカルのままです。

複数のノードが接続されている場合は、gateway.nodes.browser.node で1つをピン留めするか、gateway.nodes.browser.mode を設定します。

サンドボックス化(ツールコンテナ)

エージェントセッションがサンドボックス化されている場合(agents.defaults.sandbox.mode != "off")、browser ツールは制限される可能性があります:

  • デフォルトでは、サンドボックス化されたセッションは サンドボックスブラウザtarget="sandbox")をターゲットにし、ホストChromeではありません。
  • Chrome拡張リレーテイクオーバーには ホスト ブラウザ制御サーバーの制御が必要です。

オプション:

  • 最も簡単: サンドボックス化されていない セッション/エージェントから拡張機能を使用します。
  • または、サンドボックス化されたセッションのホストブラウザ制御を許可:
{
  agents: {
    defaults: {
      sandbox: {
        browser: {
          allowHostControl: true
        }
      }
    }
  }
}

次に、ツールがツールポリシーで拒否されていないことを確認し、(必要に応じて)target="host"browser を呼び出します。

デバッグ: openclaw sandbox explain

リモートアクセスのヒント

  • Gatewayとノードホストを同じtailnetに保ち、リレーポートをLANや公開インターネットに公開しないでください。
  • ノードを意図的にペアリングします。リモート制御が不要な場合はブラウザプロキシルーティングを無効にします(gateway.nodes.browser.mode="off")。

"extension path"の仕組み

openclaw browser extension path は、拡張ファイルを含む インストール済み のディスク上のディレクトリを表示します。

CLIは意図的に node_modules パスを表示 しません。常に最初に openclaw browser extension install を実行して、OpenClaw状態ディレクトリ下の安定した場所に拡張機能をコピーしてください。

そのインストールディレクトリを移動または削除すると、有効なパスから再ロードするまでChromeは拡張機能を壊れたものとしてマークします。

セキュリティ上の影響(これを読んでください)

これは強力で危険です。モデルに「ブラウザに手を与える」ようなものとして扱ってください。

  • 拡張機能はChromeのデバッガーAPI(chrome.debugger)を使用します。アタッチされると、モデルは次のことができます:
    • そのタブでクリック/入力/ナビゲート
    • ページコンテンツを読み取る
    • タブのログインセッションがアクセスできるものにアクセス
  • これは専用のopenclawが管理するプロファイルのように 分離されていません
    • 日常使用のプロファイル/タブにアタッチすると、そのアカウント状態へのアクセスを許可することになります。

推奨事項:

  • 拡張リレー使用には、個人ブラウジングとは別の専用Chromeプロファイルを優先してください。
  • Gatewayとノードホストをtailnetのみに保ち、Gateway認証 + ノードペアリングに依存します。
  • リレーポートをLAN(0.0.0.0)に公開せず、Funnel(公開)も避けます。

関連: