- OpenClaw ゲートウェイは WSL2 内で実行されます
- Chrome は Windows 上で動作します
- ブラウザ制御は WSL2/Windows の境界を越える必要があります
最初に適切なブラウザ モードを選択してください
有効なパターンは 2 つあります。オプション 1: 未加工のリモート CDP
WSL2 から Windows Chrome CDP エンドポイントを指すリモート ブラウザー プロファイルを使用します。 次の場合にこれを選択します。- ブラウザ制御のみが必要です
- Chrome リモート デバッグを WSL2 に公開することに慣れている
- Chrome 拡張機能リレーは必要ありません
オプション 2: Chrome 拡張機能リレー
組み込みのchrome プロファイルと OpenClaw Chrome 拡張機能を使用します。
次の場合にこれを選択します。
- ツールバー ボタンを使用して既存の Windows Chrome タブに接続したい場合
- 生の
--remote-debugging-portではなく、拡張機能ベースの制御が必要な場合 - リレー自体は WSL2/Windows の境界を越えて到達可能である必要があります
browser.relayBindHost は、ブラウザ および Chrome 拡張機能 で導入された重要な設定です。
実用的なアーキテクチャ
参考形状:- WSL2 は127.0.0.1:18789 でゲートウェイを実行します
- Windows は、
http://127.0.0.1:18789/で通常のブラウザーでコントロール UI を開きます。 - Windows Chrome はポート
9222で CDP エンドポイントを公開します - WSL2 は Windows CDP エンドポイントに到達できます
- OpenClaw は、WSL2 から到達可能なアドレスでブラウザー プロファイルをポイントします。
この設定がわかりにくい理由
いくつかの障害が重なる可能性があります。- WSL2 が Windows CDP エンドポイントに到達できない
- コントロール UI が安全でないオリジンから開かれている
gateway.controlUi.allowedOriginsはページの原点と一致しません- トークンまたはペアリングがありません
- ブラウザのプロファイルが間違ったアドレスを指している
- 実際にクロスネームスペースアクセスが必要な場合、拡張リレーは依然としてループバックのみです
コントロール UI の重要なルール
UI が Windows から開かれる場合は、意図的な HTTPS セットアップがない限り、Windows localhost を使用します。 使用:http://127.0.0.1:18789/
コントロール UI の LAN IP をデフォルトにしないでください。 LAN またはテールネット アドレス上のプレーン HTTP は、CDP 自体とは関係のない、安全でない発信元/デバイス認証の動作を引き起こす可能性があります。 コントロール UI を参照してください。
レイヤー内で検証する
上から下へ作業します。スキップしないでください。レイヤ 1: Chrome が Windows 上で CDP を提供していることを確認する
リモート デバッグを有効にして Windows 上で Chrome を起動します。/json/versionは、ブラウザー/プロトコル バージョンのメタデータを含む JSON を返します/json/listは JSON を返します (ページが開いていない場合は空の配列でも問題ありません)
- Windows はまだポートを WSL2 に公開していません
- WSL2側のアドレスが間違っています
- ファイアウォール/ポート転送/ローカルプロキシがまだありません
レイヤ 3: 正しいブラウザ プロファイルを構成する
未加工のリモート CDP の場合、WSL2 から到達可能なアドレスを OpenClaw に指定します。- Windows でのみ動作するものではなく、WSL2 で到達可能なアドレスを使用してください
- 外部管理ブラウザの場合は
attachOnly: trueを保持します - OpenClaw が成功することを期待する前に、同じ URL を
curlでテストします。
レイヤ 4: 代わりに Chrome 拡張機能リレーを使用する場合
ブラウザ マシンとゲートウェイが名前空間の境界によって分離されている場合、リレーには非ループバック バインド アドレスが必要になる場合があります。 例:- リレーはループバックのみであるため、デフォルトの動作の方が安全です
0.0.0.0は露出面を拡大します- ゲートウェイ認証、ノードペアリング、周囲のネットワークをプライベートに保ちます拡張リレーが必要ない場合は、上記の未加工のリモート CDP プロファイルを優先してください。
レイヤ 5: コントロール UI レイヤを個別に確認する
Windows から UI を開きます。http://127.0.0.1:18789/
次に、次のことを確認します。
- ページのオリジンが
gateway.controlUi.allowedOriginsが期待するものと一致します - トークン認証またはペアリングが正しく構成されている
- コントロール UI 認証の問題をブラウザーの問題であるかのようにデバッグしていない
レイヤ 6: エンドツーエンドのブラウザ制御を検証する
WSL2から:- Windows Chromeでタブが開きます
openclaw browser tabsはターゲットを返します- 後のアクション (
snapshot、screenshot、navigate) は同じプロファイルから機能します
よくある誤解を招くエラー
各メッセージをレイヤー固有の手掛かりとして扱います。control-ui-insecure-auth- CDP トランスポートの問題ではなく、UI オリジン / セキュア コンテキストの問題
token_missing- 認証設定の問題
pairing required- デバイス承認の問題
Remote CDP for profile "remote" is not reachable- WSL2 は構成された
cdpUrlに到達できません
- WSL2 は構成された
gateway timeout after 1500ms- 多くの場合、まだ CDP に到達可能であるか、リモート エンドポイントが遅い/到達不能である
Chrome extension relay is running, but no tab is connected- 拡張リレー プロファイルが選択されましたが、添付されたタブはまだ存在しません
迅速なトリアージ チェックリスト1. Windows: curl http://127.0.0.1:9222/json/version は機能しますか?
- WSL2:
curl http://WINDOWS_HOST_OR_IP:9222/json/versionは機能しますか? - OpenClaw 構成:
browser.profiles.<name>.cdpUrlは、WSL2 で到達可能なその正確なアドレスを使用しますか? - コントロール UI: LAN IP の代わりに
http://127.0.0.1:18789/を開いていませんか? - 拡張リレーのみ:
browser.relayBindHostは実際に必要ですか? 必要な場合は明示的に設定されますか?
実践的なポイント
通常、セットアップは実行可能です。難しいのは、ブラウザー トランスポート、コントロール UI オリジン セキュリティ、トークン/ペアリング、および拡張リレー トポロジが、ユーザー側からは同じように見えても、それぞれ独立して失敗する可能性があることです。 疑問がある場合:- 最初に Windows Chrome エンドポイントをローカルで確認します
- WSL2 から同じエンドポイントを 2 番目に検証します。
- その後のみ、OpenClaw 構成またはコントロール UI 認証をデバッグします