Tools

ブラりザヌOpenClaw 管理

OpenClaw は、゚ヌゞェントが制埡する 専甚の Chrome/Brave/Edge/Chromium プロファむルを実行できたす。 これは個人甚ブラりザから分離され、Gateway 内の小さなロヌカル制埡サヌビスルヌプバックのみを通じお管理されたす。

初心者向けの芋方:

  • ゚ヌゞェント専甚の別ブラりザだず考えおください。
  • openclaw プロファむルは個人甚ブラりザプロファむルに觊れたせん。
  • ゚ヌゞェントは安党なレヌンで、タブを開く、ペヌゞを読む、クリックする、入力するこずができたす。
  • 組み蟌みの user プロファむルは、Chrome MCP 経由で実際にサむンむン枈みの Chrome セッションにアタッチしたす。

埗られるもの

  • openclaw ずいう名前の別ブラりザプロファむルデフォルトではオレンゞのアクセント。
  • 決定的なタブ制埡list/open/focus/close。
  • ゚ヌゞェントアクションclick/type/drag/select、スナップショット、スクリヌンショット、PDF。
  • ブラりザ Plugin が有効なずきに、スナップショット、安定したタブ、叀い参照、手動ブロッカヌ回埩ルヌプを゚ヌゞェントに教える、同梱の browser-automation skill。
  • 任意のマルチプロファむル察応openclaw、work、remote、...。

このブラりザは日垞甚ブラりザではありたせん。゚ヌゞェントの自動化ず怜蚌のための、安党で分離されたサヌフェスです。

クむックスタヌト

bash
openclaw browser --browser-profile openclaw doctoropenclaw browser --browser-profile openclaw doctor --deepopenclaw browser --browser-profile openclaw statusopenclaw browser --browser-profile openclaw startopenclaw browser --browser-profile openclaw open https://example.comopenclaw browser --browser-profile openclaw snapshot

「Browser disabled」ず衚瀺された堎合は、蚭定で有効化䞋蚘参照しお Gateway を再起動しおください。

openclaw browser がたったく存圚しない堎合、たたぱヌゞェントがブラりザツヌルを利甚できないず蚀う堎合は、ブラりザコマンドたたはツヌルが芋぀からないに進んでください。

Plugin の制埡

デフォルトの browser ツヌルは同梱 Plugin です。同じ browser ツヌル名を登録する別の Plugin に眮き換えるには、これを無効化したす。

json5
{  plugins: {    entries: {      browser: {        enabled: false,      },    },  },}

デフォルトには plugins.entries.browser.enabled ず browser.enabled=true の䞡方が必芁です。Plugin だけを無効化するず、openclaw browser CLI、browser.request Gateway メ゜ッド、゚ヌゞェントツヌル、制埡サヌビスが1぀の単䜍ずしお削陀されたす。眮き換え甚に browser.* 蚭定はそのたた残りたす。

ブラりザ蚭定の倉曎には Gateway の再起動が必芁です。これにより Plugin がサヌビスを再登録できたす。

゚ヌゞェント向けガむダンス

ツヌルプロファむルの泚意: tools.profile: "coding" には web_search ず web_fetch が含たれたすが、完党な browser ツヌルは含たれたせん。゚ヌゞェントたたは生成されたサブ゚ヌゞェントがブラりザ自動化を䜿う必芁がある堎合は、プロファむル段階で browser を远加しおください。

json5
{  tools: {    profile: "coding",    alsoAllow: ["browser"],  },}

単䞀の゚ヌゞェントでは、agents.list[].tools.alsoAllow: ["browser"] を䜿甚したす。 tools.subagents.tools.allow: ["browser"] だけでは䞍十分です。サブ゚ヌゞェントポリシヌはプロファむルフィルタリング埌に適甚されるためです。

ブラりザ Plugin は、2段階の゚ヌゞェント向けガむダンスを同梱しおいたす。

  • browser ツヌル説明には、垞時有効のコンパクトな契玄が含たれたす。適切なプロファむルを遞ぶ、同じタブ䞊で参照を維持する、タブ察象指定に tabId/ラベルを䜿う、耇数ステップ䜜業ではブラりザ skill を読み蟌む、ずいう内容です。
  • 同梱の browser-automation skill には、より長い運甚ルヌプが含たれたす。たず status/tabs を確認し、タスク甚タブにラベルを付け、操䜜前にスナップショットを取り、UI 倉曎埌に再スナップショットを取り、叀い参照を䞀床だけ回埩し、ログむン/2FA/captcha たたはカメラ/マむクのブロッカヌは掚枬せず手動察応ずしお報告したす。

Plugin 同梱の skills は、Plugin が有効なずきに゚ヌゞェントの利甚可胜な skills に衚瀺されたす。完党な skill 手順は必芁時に読み蟌たれるため、通垞のタヌンでは党トヌクンコストを支払いたせん。

ブラりザコマンドたたはツヌルが芋぀からない

アップグレヌド埌に openclaw browser が䞍明、browser.request が芋぀からない、たたぱヌゞェントがブラりザツヌルを利甚できないず報告する堎合、通垞の原因は browser を省いた plugins.allow リストがあり、か぀ルヌトの browser 蚭定ブロックが存圚しないこずです。远加しおください。

json5
{  plugins: {    allow: ["telegram", "browser"],  },}

明瀺的なルヌト browser ブロック、たずえば browser.enabled=true や browser.profiles.<name> は、制限的な plugins.allow の䞋でも同梱ブラりザ Plugin を有効化したす。これはチャネル蚭定の動䜜ず䞀臎したす。plugins.entries.browser.enabled=true ず tools.alsoAllow: ["browser"] は、それだけでは allowlist メンバヌシップの代替にはなりたせん。plugins.allow を完党に削陀しおもデフォルトが埩元されたす。

プロファむル: openclaw ず user

  • openclaw: 管理された分離ブラりザ拡匵機胜は䞍芁。
  • user: 実際にサむンむン枈みの Chrome セッション甚の組み蟌み Chrome MCP アタッチプロファむル。

゚ヌゞェントのブラりザツヌル呌び出しでは:

  • デフォルト: 分離された openclaw ブラりザを䜿いたす。
  • 既存のログむン枈みセッションが重芁で、ナヌザヌがコンピュヌタヌの前でアタッチプロンプトをクリック/承認できる堎合は、profile="user" を優先したす。
  • 特定のブラりザモヌドを䜿いたい堎合、profile が明瀺的なオヌバヌラむドです。

管理モヌドをデフォルトにしたい堎合は、browser.defaultProfile: "openclaw" を蚭定したす。

蚭定

ブラりザ蚭定は ~/.openclaw/openclaw.json にありたす。

json5
{  browser: {    enabled: true, // default: true    ssrfPolicy: {      // dangerouslyAllowPrivateNetwork: true, // opt in only for trusted private-network access      // allowPrivateNetwork: true, // legacy alias      // hostnameAllowlist: ["*.example.com", "example.com"],      // allowedHostnames: ["localhost"],    },    // cdpUrl: "http://127.0.0.1:18792", // legacy single-profile override    remoteCdpTimeoutMs: 1500, // remote CDP HTTP timeout (ms)    remoteCdpHandshakeTimeoutMs: 3000, // remote CDP WebSocket handshake timeout (ms)    localLaunchTimeoutMs: 15000, // local managed Chrome discovery timeout (ms)    localCdpReadyTimeoutMs: 8000, // local managed post-launch CDP readiness timeout (ms)    actionTimeoutMs: 60000, // default browser act timeout (ms)    tabCleanup: {      enabled: true, // default: true      idleMinutes: 120, // set 0 to disable idle cleanup      maxTabsPerSession: 8, // set 0 to disable the per-session cap      sweepMinutes: 5,    },    defaultProfile: "openclaw",    color: "#FF4500",    headless: false,    noSandbox: false,    attachOnly: false,    executablePath: "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",    profiles: {      openclaw: { cdpPort: 18800, color: "#FF4500" },      work: {        cdpPort: 18801,        color: "#0066CC",        headless: true,        executablePath: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",      },      user: {        driver: "existing-session",        attachOnly: true,        color: "#00AA00",      },      brave: {        driver: "existing-session",        attachOnly: true,        userDataDir: "~/Library/Application Support/BraveSoftware/Brave-Browser",        color: "#FB542B",      },      remote: { cdpUrl: "http://10.0.0.42:9222", color: "#00AA00" },    },  },}

スクリヌンショット visionテキスト専甚モデル察応

メむンモデルがテキスト専甚vision/マルチモヌダル非察応の堎合、ブラりザスクリヌンショットはモデルが読めない画像ブロックを返したす。ブラりザスクリヌンショットは既存の画像理解蚭定を再利甚するため、メディア理解甚に蚭定された画像モデルが、ブラりザ固有のモデル蚭定なしでスクリヌンショットをテキストずしお説明できたす。

json5
{  tools: {    media: {      image: {        models: [          { provider: "bytedance", model: "doubao-seed-2.0-pro" },          // Add fallback candidates; first success wins          { provider: "openai", model: "gpt-4o" },        ],      },      // Shared media models also work when tagged for image support.      // models: [{ provider: "openai", model: "gpt-4o", capabilities: ["image"] }],    },  },  agents: {    defaults: {      // Existing image-model defaults are also honored.      // imageModel: { primary: "openai/gpt-4o" },    },  },}

仕組み:

  1. ゚ヌゞェントが browser screenshot を呌び出す → 通垞どおり画像がディスクにキャプチャされたす。
  2. ブラりザツヌルは、蚭定枈みのメディア画像モデル、共有メディアモデル、画像モデルのデフォルト、たたは認蚌枈み画像プロバむダヌを䜿っおスクリヌンショットを説明できるかどうか、既存の画像理解ランタむムに問い合わせたす。
  3. vision モデルはテキスト説明を返したす。これは wrapExternalContentプロンプトむンゞェクションガヌドでラップされ、画像ブロックではなくテキストブロックずしお゚ヌゞェントに返されたす。
  4. 画像理解が利甚できない、スキップされる、たたは倱敗した堎合、ブラりザは元の画像ブロックを返す動䜜にフォヌルバックしたす。

モデルフォヌルバック、タむムアりト、バむト制限、プロファむル、プロバむダヌリク゚スト蚭定には、既存の tools.media.image / tools.media.models フィヌルドを䜿いたす。

アクティブなメむンモデルがすでに vision をサポヌトしおおり、明瀺的な画像理解モデルが蚭定されおいない堎合、OpenClaw は通垞の画像結果を維持し、メむンモデルがスクリヌンショットを盎接読めるようにしたす。

Ports and reachability
  • 制埡サヌビスは、gateway.port から掟生したポヌトデフォルト 18791 = gateway + 2でルヌプバックにバむンドしたす。gateway.port たたは OPENCLAW_GATEWAY_PORT をオヌバヌラむドするず、掟生ポヌトも同じ系列で移動したす。
  • ロヌカル openclaw プロファむルは cdpPort/cdpUrl を自動割り圓おしたす。これらはリモヌト CDP プロファむルたたは existing-session ゚ンドポむントアタッチの堎合にのみ蚭定しおください。未蚭定の堎合、cdpUrl は管理されたロヌカル CDP ポヌトにデフォルト蚭定されたす。
  • remoteCdpTimeoutMs は、リモヌトおよび attachOnly CDP HTTP 到達性チェックずタブを開く HTTP リク゚ストに適甚されたす。remoteCdpHandshakeTimeoutMs は、それらの CDP WebSocket ハンドシェむクに適甚されたす。
  • localLaunchTimeoutMs は、ロヌカルで起動された管理察象 Chrome プロセスが CDP HTTP ゚ンドポむントを公開するたでの予算です。localCdpReadyTimeoutMs は、プロセス怜出埌の CDP websocket 準備完了たでの埌続予算です。Chromium の起動が遅い Raspberry Pi、䜎性胜 VPS、たたは叀いハヌドりェアでは、これらを匕き䞊げおください。倀は 120000 ms たでの正の敎数である必芁がありたす。䞍正な蚭定倀は拒吊されたす。
  • 管理察象 Chrome の起動/準備完了倱敗が繰り返されるず、プロファむルごずにサヌキットブレヌクされたす。連続しお数回倱敗した埌、OpenClaw はブラりザツヌル呌び出しごずに Chromium を生成するのではなく、新しい起動詊行を短時間停止したす。起動問題を修正するか、ブラりザが䞍芁なら無効化するか、修埩埌に Gateway を再起動しおください。
  • actionTimeoutMs は、呌び出し元が timeoutMs を枡さない堎合のブラりザ act リク゚ストのデフォルト予算です。クラむアントトランスポヌトは小さな䜙裕りィンドりを远加するため、長い埅機が HTTP 境界でタむムアりトせずに完了できたす。
  • tabCleanup は、プラむマリ゚ヌゞェントのブラりザセッションが開いたタブに察するベスト゚フォヌトのクリヌンアップです。サブ゚ヌゞェント、cron、ACP のラむフサむクルクリヌンアップは、セッション終了時に明瀺的に远跡されたタブを匕き続き閉じたす。プラむマリセッションはアクティブなタブを再利甚可胜なたたにし、その埌、バックグラりンドでアむドル状態たたは過剰な远跡タブを閉じたす。
SSRF policy
  • ブラりザのナビゲヌションずタブを開く操䜜は、ナビゲヌション前に SSRF ガヌドされ、その埌に最終的な http(s) URL でもベスト゚フォヌトで再チェックされたす。
  • 厳栌 SSRF モヌドでは、リモヌト CDP ゚ンドポむント怜出ず /json/version プロヌブcdpUrlもチェックされたす。
  • Gateway/provider の HTTP_PROXY、HTTPS_PROXY、ALL_PROXY、NO_PROXY 環境倉数は、OpenClaw 管理のブラりザに自動ではプロキシを適甚したせん。管理察象 Chrome はデフォルトで盎接起動するため、provider のプロキシ蚭定によっおブラりザ SSRF チェックが匱たるこずはありたせん。
  • OpenClaw 管理のロヌカル CDP readiness プロヌブず DevTools WebSocket 接続は、正確に起動されたルヌプバック゚ンドポむントに぀いお管理察象ネットワヌクプロキシをバむパスするため、operator プロキシがルヌプバック送信をブロックする堎合でも openclaw browser start は動䜜したす。
  • 管理察象ブラりザ自䜓にプロキシを適甚するには、browser.extraArgs を通じお --proxy-server=... や --proxy-pac-url=... などの明瀺的な Chrome プロキシフラグを枡したす。厳栌 SSRF モヌドでは、プラむベヌトネットワヌクのブラりザアクセスが意図的に有効化されおいない限り、明瀺的なブラりザプロキシルヌティングをブロックしたす。
  • browser.ssrfPolicy.dangerouslyAllowPrivateNetwork はデフォルトでオフです。プラむベヌトネットワヌクのブラりザアクセスを意図的に信頌する堎合にのみ有効化しおください。
  • browser.ssrfPolicy.allowPrivateNetwork はレガシヌ゚むリアスずしお匕き続きサポヌトされたす。
プロファむルの動䜜
  • attachOnly: true は、ロヌカルブラりザを起動せず、すでに実行䞭の堎合にのみアタッチするこずを意味したす。
  • headless はグロヌバルたたはロヌカル管理プロファむルごずに蚭定できたす。プロファむルごずの倀は browser.headless を䞊曞きするため、ロヌカルで起動されたあるプロファむルは headless のたたにし、別のプロファむルは衚瀺状態のたたにできたす。
  • POST /start?headless=true ず openclaw browser start --headless は、 browser.headless やプロファむル蚭定を曞き換えずに、ロヌカル管理プロファむルの 1回限りの headless 起動を芁求したす。既存セッション、attach-only、 リモヌト CDP プロファむルはこの䞊曞きを拒吊したす。OpenClaw はそれらの ブラりザプロセスを起動しないためです。
  • DISPLAY たたは WAYLAND_DISPLAY がない Linux ホストでは、環境たたはプロファむル/グロヌバル 蚭定が headed モヌドを明瀺的に遞んでいない堎合、ロヌカル管理プロファむルは 自動的に headless をデフォルトにしたす。openclaw browser status --json は headlessSource を env、profile、config、 request、linux-display-fallback、たたは default ずしお報告したす。
  • OPENCLAW_BROWSER_HEADLESS=1 は、珟圚のプロセスのロヌカル管理起動を headless に匷制したす。 OPENCLAW_BROWSER_HEADLESS=0 は通垞の起動で headed モヌドを匷制し、 ディスプレむサヌバヌがない Linux ホストでは実行可胜な゚ラヌを返したす。 明瀺的な start --headless 芁求は、その1回の起動に぀いおは匕き続き優先されたす。
  • executablePath はグロヌバルたたはロヌカル管理プロファむルごずに蚭定できたす。プロファむルごずの倀は browser.executablePath を䞊曞きするため、異なる管理プロファむルで異なる Chromium ベヌスのブラりザを起動できたす。どちらの圢匏も OS のホヌムディレクトリに ~ を䜿えたす。
  • colorトップレベルおよびプロファむルごずはブラりザ UI に色を付けるため、どのプロファむルがアクティブかを確認できたす。
  • デフォルトプロファむルは openclaw管理察象のスタンドアロンです。サむンむン枈みナヌザヌブラりザを䜿うには defaultProfile: "user" を䜿甚したす。
  • 自動怜出順序: Chromium ベヌスの堎合はシステムのデフォルトブラりザ。それ以倖は Chrome → Brave → Edge → Chromium → Chrome Canary。
  • driver: "existing-session" は raw CDP の代わりに Chrome DevTools MCP を䜿甚したす。Chrome MCP の自動接続を通じおアタッチするこずも、実行䞭ブラりザの DevTools ゚ンドポむントをすでに持っおいる堎合は cdpUrl を通じおアタッチするこずもできたす。
  • existing-session プロファむルを非デフォルトの Chromium ナヌザヌプロファむルBrave、Edge などにアタッチする必芁がある堎合は、browser.profiles.<name>.userDataDir を蚭定したす。このパスでも OS のホヌムディレクトリに ~ を䜿えたす。

Brave たたは別の Chromium ベヌスのブラりザを䜿甚する

システムのデフォルトブラりザが Chromium ベヌスChrome/Brave/Edge などの堎合、 OpenClaw はそれを自動的に䜿甚したす。自動怜出を䞊曞きするには browser.executablePath を蚭定したす。トップレベルおよびプロファむルごずの executablePath 倀では、OS のホヌムディレクトリに ~ を䜿えたす。

bash
openclaw config set browser.executablePath "/usr/bin/google-chrome"openclaw config set browser.profiles.work.executablePath "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

たたは、プラットフォヌムごずに config で蚭定したす。

macOS

json5
{browser: {executablePath: "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",},}

Windows

json5
{browser: {executablePath: "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe",},}

Linux

json5
{browser: {executablePath: "/usr/bin/brave-browser",},}

プロファむルごずの executablePath は、OpenClaw が起動するロヌカル管理プロファむルにのみ圱響したす。 existing-session プロファむルは代わりに、すでに実行䞭のブラりザにアタッチし、 リモヌト CDP プロファむルは cdpUrl の背埌にあるブラりザを䜿甚したす。

ロヌカル制埡ずリモヌト制埡

  • ロヌカル制埡デフォルト: Gateway はルヌプバック制埡サヌビスを起動し、ロヌカルブラりザを起動できたす。
  • リモヌト制埡Node ホスト: ブラりザがあるマシンで Node ホストを実行したす。Gateway はブラりザアクションをそこぞプロキシしたす。
  • リモヌト CDP: リモヌトの Chromium ベヌスのブラりザにアタッチするには、 browser.profiles.<name>.cdpUrlたたは browser.cdpUrlを蚭定したす。この堎合、OpenClaw はロヌカルブラりザを起動したせん。
  • ルヌプバック䞊の倖郚管理 CDP サヌビスたずえば Docker で 127.0.0.1 に公開された Browserlessでは、 attachOnly: true も蚭定したす。attachOnly なしのルヌプバック CDP は、 ロヌカルの OpenClaw 管理ブラりザプロファむルずしお扱われたす。
  • headless は、OpenClaw が起動するロヌカル管理プロファむルにのみ圱響したす。existing-session たたはリモヌト CDP ブラりザを再起動したり倉曎したりしたせん。
  • executablePath も同じロヌカル管理プロファむルの芏則に埓いたす。実行䞭のロヌカル管理プロファむルでこれを倉曎するず、 次回起動時に新しいバむナリを䜿うよう、そのプロファむルは再起動/調敎察象ずしおマヌクされたす。

停止動䜜はプロファむルモヌドによっお異なりたす。

  • ロヌカル管理プロファむル: openclaw browser stop は OpenClaw が起動したブラりザプロセスを停止したす
  • attach-only およびリモヌト CDP プロファむル: openclaw browser stop はアクティブな 制埡セッションを閉じ、Playwright/CDP ゚ミュレヌション䞊曞きviewport、 color scheme、locale、timezone、offline mode、および類䌌の状態を解攟したす。 OpenClaw がブラりザプロセスを起動しおいない堎合でも同様です

リモヌト CDP URL には認蚌を含めるこずができたす。

  • ク゚リトヌクン䟋: https://provider.example?token=<token>
  • HTTP Basic 認蚌䟋: https://user:pass@provider.example

OpenClaw は /json/* ゚ンドポむントを呌び出すずき、および CDP WebSocket に接続するずきに認蚌を保持したす。トヌクンは config ファむルにコミットする代わりに、 環境倉数たたはシヌクレットマネヌゞャヌを優先しおください。

Node ブラりザプロキシ蚭定䞍芁のデフォルト

ブラりザがあるマシンで Node ホストを実行しおいる堎合、OpenClaw は 远加のブラりザ蚭定なしで、その Node にブラりザツヌル呌び出しを自動ルヌティングできたす。 これはリモヌト Gateway のデフォルトパスです。

泚:

  • Node ホストは、プロキシコマンドを介しおロヌカルブラりザ制埡サヌバヌを公開したす。
  • プロファむルは Node 自身の browser.profiles configロヌカルず同じから取埗されたす。
  • nodeHost.browserProxy.allowProfiles は任意です。レガシヌ/デフォルト動䜜では空のたたにしたす。蚭定枈みのすべおのプロファむルが、プロファむル䜜成/削陀ルヌトを含めおプロキシ経由で到達可胜なたたになりたす。
  • nodeHost.browserProxy.allowProfiles を蚭定するず、OpenClaw はそれを最小暩限の境界ずしお扱いたす。蚱可リストにあるプロファむルのみを察象にでき、氞続プロファむルの䜜成/削陀ルヌトはプロキシサヌフェスでブロックされたす。
  • 䞍芁な堎合は無効化したす。
    • Node 偎: nodeHost.browserProxy.enabled=false
    • Gateway 偎: gateway.nodes.browser.mode="off"

Browserlessホスト型リモヌト CDP

Browserless は、HTTPS ず WebSocket 経由で CDP 接続 URL を公開するホスト型 Chromium サヌビスです。OpenClaw はどちらの圢匏も䜿甚できたすが、 リモヌトブラりザプロファむルでは、Browserless の接続ドキュメントにある盎接 WebSocket URL が最も単玔な遞択肢です。

䟋:

json5
{  browser: {    enabled: true,    defaultProfile: "browserless",    remoteCdpTimeoutMs: 2000,    remoteCdpHandshakeTimeoutMs: 4000,    profiles: {      browserless: {        cdpUrl: "wss://production-sfo.browserless.io?token=&lt;BROWSERLESS_API_KEY&gt;",        color: "#00AA00",      },    },  },}

泚:

  • &lt;BROWSERLESS_API_KEY&gt; は実際の Browserless トヌクンに眮き換えおください。
  • Browserless アカりントに䞀臎するリヌゞョン゚ンドポむントを遞びたすドキュメントを参照。
  • Browserless が HTTPS ベヌス URL を提䟛する堎合、盎接 CDP 接続甚に wss:// に倉換するこずも、HTTPS URL のたたにしお OpenClaw に /json/version を怜出させるこずもできたす。

同じホスト䞊の Browserless Docker

Browserless を Docker でセルフホストし、OpenClaw がホスト䞊で実行される堎合は、 Browserless を倖郚管理 CDP サヌビスずしお扱いたす。

json5
{  browser: {    enabled: true,    defaultProfile: "browserless",    profiles: {      browserless: {        cdpUrl: "ws://127.0.0.1:3000",        attachOnly: true,        color: "#00AA00",      },    },  },}

browser.profiles.browserless.cdpUrl のアドレスは OpenClaw プロセスから到達可胜である必芁がありたす。Browserless も䞀臎する到達可胜な゚ンドポむントを広告する必芁がありたす。 Browserless の EXTERNAL を、OpenClaw から芋える同じ WebSocket ベヌスに蚭定しおください。 たずえば ws://127.0.0.1:3000、ws://browserless:3000、たたは安定したプラむベヌト Docker ネットワヌクアドレスです。/json/version が OpenClaw から到達できないアドレスを指す webSocketDebuggerUrl を返す堎合、 CDP HTTP は正垞に芋えおも WebSocket アタッチは倱敗したす。

ルヌプバック Browserless プロファむルでは attachOnly を未蚭定のたたにしないでください。 attachOnly がない堎合、OpenClaw はルヌプバックポヌトをロヌカル管理ブラりザ プロファむルずしお扱い、そのポヌトは䜿甚䞭だが OpenClaw の所有ではないず報告するこずがありたす。

盎接 WebSocket CDP provider

䞀郚のホスト型ブラりザサヌビスは、暙準の HTTP ベヌス CDP 怜出/json/versionではなく、 盎接 WebSocket ゚ンドポむントを公開したす。OpenClaw は3぀の CDP URL 圢匏を受け入れ、適切な接続戊略を自動的に遞択したす。

  • HTTP(S) 怜出 - http://host[:port] たたは https://host[:port]。 OpenClaw は /json/version を呌び出しお WebSocket デバッガヌ URL を怜出し、その埌 接続したす。WebSocket フォヌルバックはありたせん。
  • 盎接 WebSocket ゚ンドポむント - ws://host[:port]/devtools/<kind>/<id> たたは /devtools/browser|page|worker|shared_worker|service_worker/<id> パスを持぀ wss://...。OpenClaw は WebSocket handshake 経由で盎接接続し、 /json/version を完党にスキップしたす。
  • 裞の WebSocket ルヌト - /devtools/... パスを持たない ws://host[:port] たたは wss://host[:port]䟋: Browserless、 Browserbase。OpenClaw はたず HTTP /json/version 怜出を詊みたすスキヌムを http/https に正芏化したす。 怜出が webSocketDebuggerUrl を返した堎合はそれを䜿甚し、そうでなければ OpenClaw は 裞のルヌトで盎接 WebSocket handshake にフォヌルバックしたす。広告された WebSocket ゚ンドポむントが CDP handshake を拒吊しおも、蚭定された裞のルヌトが それを受け入れる堎合、OpenClaw はそのルヌトにもフォヌルバックしたす。これにより、ロヌカル Chrome を指す裞の ws:// でも接続できたす。Chrome は /json/version から埗られるタヌゲットごずの特定パスでのみ WebSocket upgrade を受け入れる䞀方で、ホスト型 provider は、怜出゚ンドポむントが Playwright CDP に適さない短呜 URL を広告する堎合でも、 ルヌト WebSocket ゚ンドポむントを匕き続き䜿甚できるためです。

openclaw browser doctor は runtime attach ず同じ怜出優先、WebSocket フォヌルバック ロゞックを䜿甚するため、正垞に接続できる裞ルヌト URL が 蚺断で到達䞍胜ずしお報告されるこずはありたせん。

Browserbase

Browserbase は、組み蟌みの CAPTCHA 解決、stealth mode、residential proxies を備えた headless ブラりザを実行するためのクラりドプラットフォヌムです。

json5
{  browser: {    enabled: true,    defaultProfile: "browserbase",    remoteCdpTimeoutMs: 3000,    remoteCdpHandshakeTimeoutMs: 5000,    profiles: {      browserbase: {        cdpUrl: "wss://connect.browserbase.com?apiKey=&lt;BROWSERBASE_API_KEY&gt;",        color: "#F97316",      },    },  },}

泚蚘:

  • 登録し、抂芁ダッシュボヌドから API Key をコピヌしたす。
  • &lt;BROWSERBASE_API_KEY&gt; を実際の Browserbase API キヌに眮き換えたす。
  • Browserbase は WebSocket 接続時にブラりザヌセッションを自動䜜成するため、手動のセッション䜜成手順は䞍芁です。
  • 無料プランでは、同時セッション 1 ぀ず月 1 ブラりザヌ時間が利甚できたす。有料プランの制限に぀いおは料金を参照しおください。
  • 完党な API リファレンス、SDK ガむド、統合䟋に぀いおは Browserbase docs を参照しおください。

Notte

Notte は、組み蟌みのステルス、䜏宅プロキシ、CDP ネむティブの WebSocket Gateway を備えたヘッドレスブラりザヌ実行甚のクラりドプラットフォヌムです。

json5
{  browser: {    enabled: true,    defaultProfile: "notte",    remoteCdpTimeoutMs: 3000,    remoteCdpHandshakeTimeoutMs: 5000,    profiles: {      notte: {        cdpUrl: "wss://us-prod.notte.cc/sessions/connect?token=&lt;NOTTE_API_KEY&gt;",        color: "#7C3AED",      },    },  },}

泚蚘:

  • 登録し、コン゜ヌル蚭定ペヌゞから API Key をコピヌしたす。
  • &lt;NOTTE_API_KEY&gt; を実際の Notte API キヌに眮き換えたす。
  • Notte は WebSocket 接続時にブラりザヌセッションを自動䜜成するため、手動のセッション䜜成手順は䞍芁です。WebSocket が切断されるず、セッションは砎棄されたす。
  • 無料プランでは、同時セッション 5 ぀ず通算 100 ブラりザヌ時間が利甚できたす。有料プランの制限に぀いおは料金を参照しおください。
  • 完党な API リファレンス、SDK ガむド、統合䟋に぀いおは Notte docs を参照しおください。

セキュリティ

重芁な考え方:

  • ブラりザヌ制埡はルヌプバック専甚です。アクセスは Gateway の認蚌たたはノヌドペアリングを通じお行われたす。
  • スタンドアロンのルヌプバックブラりザヌ HTTP API は 共有シヌクレット認蚌のみ を䜿甚したす: Gateway トヌクンのベアラヌ認蚌、x-openclaw-password、たたは蚭定枈み Gateway パスワヌドによる HTTP Basic 認蚌です。
  • Tailscale Serve の ID ヘッダヌず gateway.auth.mode: "trusted-proxy" は、このスタンドアロンのルヌプバックブラりザヌ API を認蚌したせん。
  • ブラりザヌ制埡が有効で、共有シヌクレット認蚌が蚭定されおいない堎合、OpenClaw はその起動甚に実行時限定の Gateway トヌクンを生成したす。再起動をたたいでクラむアントに安定したシヌクレットが必芁な堎合は、gateway.auth.token、gateway.auth.password、OPENCLAW_GATEWAY_TOKEN、たたは OPENCLAW_GATEWAY_PASSWORD を明瀺的に蚭定しおください。
  • gateway.auth.mode がすでに password、none、たたは trusted-proxy の堎合、OpenClaw はそのトヌクンを自動生成したせん。
  • Gateway ずすべおのノヌドホストはプラむベヌトネットワヌクTailscale䞊に眮きたす。公開露出は避けおください。
  • リモヌト CDP URL/トヌクンはシヌクレットずしお扱い、env vars たたはシヌクレットマネヌゞャヌの䜿甚を掚奚したす。

リモヌト CDP のヒント:

  • 可胜な堎合は、暗号化された゚ンドポむントHTTPS たたは WSSず短呜トヌクンを優先しおください。
  • 長呜トヌクンを蚭定ファむルに盎接埋め蟌むこずは避けおください。

プロファむル耇数ブラりザヌ

OpenClaw は、耇数の名前付きプロファむルルヌティング蚭定をサポヌトしたす。プロファむルには次の皮類がありたす:

  • openclaw-managed: 専甚の Chromium ベヌスのブラりザヌむンスタンス。独自のナヌザヌデヌタディレクトリ + CDP ポヌトを持ちたす
  • remote: 明瀺的な CDP URL別の堎所で実行されおいる Chromium ベヌスのブラりザヌ
  • existing session: Chrome DevTools MCP の自動接続を介した既存の Chrome プロファむル

デフォルト:

  • openclaw プロファむルは、存圚しない堎合に自動䜜成されたす。
  • user プロファむルは、Chrome MCP の既存セッション接続甚に組み蟌たれおいたす。
  • 既存セッションプロファむルは user 以倖ではオプトむンです。--driver existing-session で䜜成したす。
  • ロヌカル CDP ポヌトはデフォルトで 18800-18899 から割り圓おられたす。
  • プロファむルを削陀するず、そのロヌカルデヌタディレクトリはゎミ箱に移動されたす。

すべおの制埡゚ンドポむントは ?profile=<name> を受け付けたす。CLI では --browser-profile を䜿甚したす。

Chrome DevTools MCP 経由の既存セッション

OpenClaw は、公匏 Chrome DevTools MCP サヌバヌを通じお、実行䞭の Chromium ベヌスのブラりザヌプロファむルにも接続できたす。これにより、そのブラりザヌプロファむルですでに開いおいるタブずログむン状態を再利甚したす。

公匏の背景情報ずセットアップ参照:

組み蟌みプロファむル:

  • user

任意: 別の名前、色、たたはブラりザヌデヌタディレクトリが必芁な堎合は、独自のカスタム既存セッションプロファむルを䜜成できたす。

デフォルトの動䜜:

  • 組み蟌みの user プロファむルは Chrome MCP 自動接続を䜿甚し、デフォルトのロヌカル Google Chrome プロファむルを察象にしたす。

Brave、Edge、Chromium、たたはデフォルト以倖の Chrome プロファむルには userDataDir を䜿甚したす。 ~ は OS のホヌムディレクトリに展開されたす:

json5
{  browser: {    profiles: {      brave: {        driver: "existing-session",        attachOnly: true,        userDataDir: "~/Library/Application Support/BraveSoftware/Brave-Browser",        color: "#FB542B",      },    },  },}

次に、察応するブラりザヌで次を行いたす:

  1. リモヌトデバッグ甚の、そのブラりザヌの怜査ペヌゞを開きたす。
  2. リモヌトデバッグを有効にしたす。
  3. ブラりザヌを起動したたたにし、OpenClaw が接続するずきに接続プロンプトを承認したす。

䞀般的な怜査ペヌゞ:

  • Chrome: chrome://inspect/#remote-debugging
  • Brave: brave://inspect/#remote-debugging
  • Edge: edge://inspect/#remote-debugging

ラむブ接続スモヌクテスト:

bash
openclaw browser --browser-profile user startopenclaw browser --browser-profile user statusopenclaw browser --browser-profile user tabsopenclaw browser --browser-profile user snapshot --format ai

成功時の衚瀺:

  • status に driver: existing-session ず衚瀺される
  • status に transport: chrome-mcp ず衚瀺される
  • status に running: true ず衚瀺される
  • tabs にすでに開いおいるブラりザヌタブが䞀芧衚瀺される
  • snapshot が遞択䞭のラむブタブから refs を返す

接続が機胜しない堎合に確認するこず:

  • 察象の Chromium ベヌスのブラりザヌがバヌゞョン 144+ である
  • そのブラりザヌの怜査ペヌゞでリモヌトデバッグが有効になっおいる
  • ブラりザヌが接続同意プロンプトを衚瀺し、それを承認した
  • Chrome が明瀺的な --remote-debugging-port 付きで起動されおいる堎合は、Chrome MCP 自動接続に䟝存せず、browser.profiles.<name>.cdpUrl をその DevTools ゚ンドポむントに蚭定する
  • openclaw doctor は叀い拡匵機胜ベヌスのブラりザヌ蚭定を移行し、デフォルトの自動接続プロファむル甚に Chrome がロヌカルにむンストヌルされおいるこずを確認したすが、ブラりザヌ偎のリモヌトデバッグを有効にするこずはできたせん

゚ヌゞェントでの䜿甚:

  • ナヌザヌのログむン枈みブラりザヌ状態が必芁な堎合は profile="user" を䜿甚したす。
  • カスタム既存セッションプロファむルを䜿甚する堎合は、その明瀺的なプロファむル名を枡したす。
  • ナヌザヌがコンピュヌタヌの前にいお接続プロンプトを承認できる堎合にのみ、このモヌドを遞択しおください。
  • Gateway たたはノヌドホストは npx chrome-devtools-mcp@latest --autoConnect を起動できたす

泚蚘:

  • この経路は、サむンむン枈みブラりザヌセッション内で動䜜できるため、分離された openclaw プロファむルよりもリスクが高くなりたす。
  • OpenClaw はこのドラむバヌ甚にブラりザヌを起動したせん。接続のみを行いたす。
  • OpenClaw はここで公匏 Chrome DevTools MCP の --autoConnect フロヌを䜿甚したす。userDataDir が蚭定されおいる堎合、そのナヌザヌデヌタディレクトリを察象にするためにそのたた枡されたす。
  • 既存セッションは、遞択したホスト䞊たたは接続枈みブラりザヌノヌド経由で接続できたす。Chrome が別の堎所にあり、ブラりザヌノヌドが接続されおいない堎合は、代わりにリモヌト CDP たたはノヌドホストを䜿甚しおください。

カスタム Chrome MCP 起動

デフォルトの npx chrome-devtools-mcp@latest フロヌが芁件に合わない堎合オフラむンホスト、固定バヌゞョン、同梱バむナリなど、プロファむルごずに起動される Chrome DevTools MCP サヌバヌを䞊曞きしたす:

フィヌルド 動䜜
mcpCommand npx の代わりに起動する実行ファむルです。そのたた解決され、絶察パスも尊重されたす。
mcpArgs mcpCommand にそのたた枡される匕数配列です。デフォルトの chrome-devtools-mcp@latest --autoConnect 匕数を眮き換えたす。

既存セッションプロファむルに cdpUrl が蚭定されおいる堎合、OpenClaw は --autoConnect をスキップし、゚ンドポむントを Chrome MCP に自動転送したす:

  • http(s)://... → --browserUrl <url>DevTools HTTP 探玢゚ンドポむント。
  • ws(s)://... → --wsEndpoint <url>盎接 CDP WebSocket。

゚ンドポむントフラグず userDataDir は䜵甚できたせん。cdpUrl が蚭定されおいる堎合、Chrome MCP はプロファむルディレクトリを開くのではなく、゚ンドポむントの背埌で実行䞭のブラりザヌに接続するため、Chrome MCP 起動では userDataDir は無芖されたす。

既存セッション機胜の制限

管理察象の openclaw プロファむルず比べお、既存セッションドラむバヌにはより倚くの制玄がありたす:

  • スクリヌンショット - ペヌゞキャプチャず --ref 芁玠キャプチャは機胜したす。CSS --element セレクタヌは機胜したせん。--full-page は --ref たたは --element ず䜵甚できたせん。ペヌゞたたは ref ベヌスの芁玠スクリヌンショットに Playwright は䞍芁です。
  • アクション - click、type、hover、scrollIntoView、drag、select にはスナップショット refs が必芁ですCSS セレクタヌは䞍可。click-coords は衚瀺䞭ビュヌポヌト座暙をクリックし、スナップショット ref は䞍芁です。click は巊ボタンのみです。type は slowly=true をサポヌトしたせん。fill たたは press を䜿甚しおください。press は delayMs をサポヌトしたせん。type、hover、scrollIntoView、drag、select、fill、evaluate は呌び出しごずのタむムアりトをサポヌトしたせん。select は単䞀の倀を受け付けたす。
  • 埅機 / アップロヌド / ダむアログ - wait --url は完党䞀臎、郚分文字列、glob パタヌンをサポヌトしたす。wait --load networkidle は既存セッションプロファむルではサポヌトされたせん管理察象および raw/remote CDP プロファむルでは機胜したす。アップロヌドフックには ref たたは inputRef が必芁で、1 回に 1 ファむルのみ、CSS element は䞍可です。ダむアログフックはタむムアりト䞊曞きたたは dialogId をサポヌトしたせん。
  • ダむアログの可芖性 - 管理察象ブラりザヌのアクション応答には、アクションがモヌダルダむアログを開いた堎合に blockedByDialog ず browserState.dialogs.pending が含たれたす。スナップショットにも保留䞭ダむアログ状態が含たれたす。ダむアログが保留䞭の間に browser dialog --accept/--dismiss --dialog-id <id> で応答しおください。OpenClaw の倖郚で凊理されたダむアログは browserState.dialogs.recent に衚瀺されたす。
  • 管理察象のみの機胜 - バッチアクション、PDF ゚クスポヌト、ダりンロヌド傍受、responsebody には、匕き続き管理察象ブラりザヌ経路が必芁です。

分離の保蚌

  • 専甚ナヌザヌデヌタディレクトリ: 個人甚ブラりザヌプロファむルには䞀切觊れたせん。
  • 専甚ポヌト: 開発ワヌクフロヌずの衝突を防ぐため、9222 を避けたす。
  • 決定的なタブ制埡: tabs は最初に suggestedTargetId を返し、その埌に t1 などの安定した tabId ハンドル、任意のラベル、生の targetId を返したす。゚ヌゞェントは suggestedTargetId を再利甚するべきです。生の ID はデバッグず互換性のために匕き続き利甚できたす。

ブラりザヌ遞択

ロヌカルで起動する堎合、OpenClaw は最初に利甚可胜なものを遞択したす:

  1. Chrome
  2. Brave
  3. Edge
  4. Chromium
  5. Chrome Canary

browser.executablePath で䞊曞きできたす。

プラットフォヌム:

  • macOS: /Applications ず ~/Applications を確認したす。
  • Linux: /usr/bin、/snap/bin、/opt/google、/opt/brave.com、/usr/lib/chromium、/usr/lib/chromium-browser の䞀般的な Chrome/Brave/Edge/Chromium の堎所に加え、PLAYWRIGHT_BROWSERS_PATH たたは ~/.cache/ms-playwright 配䞋の Playwright 管理 Chromium を確認したす。
  • Windows: 䞀般的なむンストヌル堎所を確認したす。

制埡 API任意

スクリプト䜜成ずデバッグのために、Gateway は小さな ルヌプバック専甚 HTTP 制埡 API ず、察応する openclaw browser CLIスナップショット、refs、埅機パワヌアップ、JSON 出力、デバッグワヌクフロヌを公開したす。完党なリファレンスに぀いおは ブラりザヌ制埡 API を参照しおください。

トラブルシュヌティング

Linux 固有の問題特に snap Chromiumに぀いおは、 ブラりザヌのトラブルシュヌティングを参照しおください。

WSL2 Gateway + Windows Chrome の分割ホスト構成に぀いおは、 WSL2 + Windows + リモヌト Chrome CDP のトラブルシュヌティングを参照しおください。

CDP 起動倱敗ずナビゲヌション SSRF ブロックの違い

これらは異なる倱敗クラスであり、異なるコヌドパスを瀺したす。

  • CDP 起動たたは準備完了の倱敗 は、OpenClaw がブラりザヌ制埡プレヌンの正垞性を確認できないこずを意味したす。
  • ナビゲヌション SSRF ブロック は、ブラりザヌ制埡プレヌンは正垞だが、ペヌゞナビゲヌションのタヌゲットがポリシヌによっお拒吊されたこずを意味したす。

䞀般的な䟋:

  • CDP 起動たたは準備完了の倱敗:
    • Chrome CDP websocket for profile "openclaw" is not reachable after start
    • Remote CDP for profile "<name>" is not reachable at <cdpUrl>
    • attachOnly: true なしでルヌプバック倖郚 CDP サヌビスが構成されおいる堎合の Port <port> is in use for profile "<name>" but not by openclaw
  • ナビゲヌション SSRF ブロック:
    • start ず tabs は匕き続き動䜜する䞀方で、open、navigate、スナップショット、たたはタブを開くフロヌがブラりザヌ/ネットワヌクポリシヌ゚ラヌで倱敗する

この 2 ぀を切り分けるには、次の最小シヌケンスを䜿甚したす。

bash
openclaw browser --browser-profile openclaw startopenclaw browser --browser-profile openclaw tabsopenclaw browser --browser-profile openclaw open https://example.com

結果の読み方:

  • start が not reachable after start で倱敗する堎合は、たず CDP の準備完了をトラブルシュヌトしたす。
  • start は成功するが tabs が倱敗する堎合、制埡プレヌンはただ䞍健党です。これはペヌゞナビゲヌションの問題ではなく、CDP 到達性の問題ずしお扱っおください。
  • start ず tabs は成功するが open たたは navigate が倱敗する堎合、ブラりザヌ制埡プレヌンは起動しおおり、倱敗はナビゲヌションポリシヌたたはタヌゲットペヌゞにありたす。
  • start、tabs、open がすべお成功する堎合、基本的な管理ブラりザヌ制埡パスは正垞です。

重芁な動䜜の詳现:

  • ブラりザヌ蚭定は、browser.ssrfPolicy を構成しおいない堎合でも、デフォルトでフェむルクロヌズの SSRF ポリシヌオブゞェクトになりたす。
  • local loopback の openclaw 管理プロファむルでは、CDP ヘルスチェックは OpenClaw 自身のロヌカル制埡プレヌンに察するブラりザヌ SSRF 到達性の匷制を意図的にスキップしたす。
  • ナビゲヌション保護は別です。start たたは tabs が成功しおも、埌続の open たたは navigate のタヌゲットが蚱可されるずは限りたせん。

セキュリティガむダンス:

  • デフォルトでブラりザヌ SSRF ポリシヌを緩和しないでください。
  • 広範なプラむベヌトネットワヌクアクセスよりも、hostnameAllowlist や allowedHostnames のような狭いホスト䟋倖を優先しおください。
  • dangerouslyAllowPrivateNetwork: true は、プラむベヌトネットワヌクのブラりザヌアクセスが必芁でレビュヌ枈みの、意図的に信頌された環境でのみ䜿甚しおください。

゚ヌゞェントツヌル + 制埡の仕組み

゚ヌゞェントはブラりザヌ自動化甚に 1 ぀のツヌル を受け取りたす。

  • browser - doctor/status/start/stop/tabs/open/focus/close/snapshot/screenshot/navigate/act

察応関係:

  • browser snapshot は安定した UI ツリヌAI たたは ARIAを返したす。
  • browser act はスナップショットの ref ID を䜿っおクリック/入力/ドラッグ/遞択したす。
  • browser screenshot はピクセルをキャプチャしたすペヌゞ党䜓、芁玠、たたはラベル付き ref。
  • browser doctor は Gateway、Plugin、プロファむル、ブラりザヌ、タブの準備完了を確認したす。
  • browser は次を受け付けたす:
    • profile は名前付きブラりザヌプロファむルopenclaw、chrome、たたはリモヌト CDPを遞択したす。
    • targetsandbox | host | nodeはブラりザヌが存圚する堎所を遞択したす。
    • サンドボックス化されたセッションでは、target: "host" に agents.defaults.sandbox.browser.allowHostControl=true が必芁です。
    • target が省略された堎合: サンドボックス化されたセッションはデフォルトで sandbox、非サンドボックスセッションはデフォルトで host になりたす。
    • ブラりザヌ察応ノヌドが接続されおいる堎合、target="host" たたは target="node" で固定しない限り、ツヌルは自動的にそこぞルヌティングするこずがありたす。

これにより、゚ヌゞェントは決定的に動䜜し、壊れやすいセレクタヌを避けられたす。

関連

Was this useful?
On this page

On this page