Elija primero el modo de navegador adecuado
Opción 1: CDP remoto directo de WSL2 a Windows
Utilice un perfil de navegador remoto que apunte desde WSL2 a un endpoint CDP de Chrome en Windows. Elija esta opción cuando el Gateway permanezca dentro de WSL2, Chrome se ejecute en Windows y el control del navegador deba atravesar el límite entre WSL2 y Windows.Opción 2: MCP de Chrome local al host
Utilice el controladorexisting-session (perfil user) únicamente cuando el Gateway se ejecute
en el mismo host que Chrome, se quiera usar el estado local del navegador con la sesión iniciada, no se
necesite transporte del navegador entre hosts y no se necesiten responsebody,
exportación a PDF, interceptación de descargas ni acciones por lotes (los perfiles de MCP de Chrome no
las admiten).
Para Gateway en WSL2 + Chrome en Windows, utilice CDP remoto directo. MCP de Chrome es
local al host, no un puente de WSL2 a Windows.
Arquitectura funcional
- WSL2 ejecuta el Gateway en
127.0.0.1:18789 - Windows abre la interfaz de control en un navegador normal en
http://127.0.0.1:18789/ - Chrome en Windows expone un endpoint CDP en el puerto
9222 - WSL2 puede acceder a ese endpoint CDP de Windows
- OpenClaw dirige un perfil de navegador a la dirección accesible desde WSL2
Regla crítica para la interfaz de control
Cuando la interfaz se abra desde Windows, utilice el localhost de Windows salvo que haya una configuración HTTPS deliberada:Validación por capas
Proceda de arriba abajo; no se salte pasos. Corregir una capa puede dejar todavía visible un error diferente de una capa posterior.Capa 1: verifique que Chrome proporciona CDP en Windows
Diagnostique IPv4 e IPv6 antes de cambiar portproxy
Chromium intenta vincular primero la depuración remota a127.0.0.1 y recurre a
[::1] únicamente si falla la vinculación IPv4. Una regla persistente de v4tov4 que escuche en
127.0.0.1:9222 puede ocupar ese endpoint antes de que se inicie Chrome. Chrome pasa entonces
a [::1]:9222, mientras que la regla antigua reenvía el tráfico IPv4 a
su propio listener y devuelve una respuesta vacía.
Compruebe desde Windows los listeners y las reglas de proxy reales en lugar de deducirlos
a partir de la versión de Chrome:
tasklist /fi "PID eq <PID>" para cada PID de netstat.
-
Si
chrome.exeresponde en127.0.0.1, elimine cualquier regla portproxy que también escuche en127.0.0.1:9222. Reenvíe únicamente la dirección del adaptador de Windows accesible desde WSL2 a127.0.0.1. -
Si
chrome.exeresponde únicamente en[::1], dirija el listener accesible desde WSL2 a::1conv4tov6en lugar de reenviar a una dirección IPv4 sin utilizar:
0.0.0.0, una dirección de LAN ni una dirección de tailnet: CDP concede el control de
la sesión del navegador.
Capa 2: verifique que WSL2 puede acceder a ese endpoint de Windows
Desde WSL2, pruebe la dirección exacta que se vaya a utilizar encdpUrl:
/json/versiondevuelve JSON con metadatos de Browser / Protocol-Version/json/listdevuelve JSON (una matriz vacía es válida si no hay páginas abiertas)
Capa 3: configure el perfil de navegador correcto
Dirija OpenClaw a la dirección accesible desde WSL2:- utilice la dirección accesible desde WSL2, no una que solo funcione en Windows
- mantenga
attachOnly: truepara navegadores administrados externamente cdpUrlpuede serhttp://,https://,ws://owss://- utilice HTTP(S) cuando quiera que OpenClaw detecte
/json/version - utilice WS(S) únicamente cuando el proveedor del navegador proporcione una URL directa del socket de DevTools
- pruebe la misma URL con
curlantes de esperar que OpenClaw funcione correctamente
Capa 4: verifique por separado la capa de la interfaz de control
Abrahttp://127.0.0.1:18789/ desde Windows y, a continuación, verifique:
- el origen de la página coincide con lo que espera
gateway.controlUi.allowedOrigins - la autenticación mediante token o el emparejamiento están configurados correctamente
- no se está diagnosticando un problema de autenticación de la interfaz de control como si fuera un problema del navegador
Capa 5: verifique el control integral del navegador
Desde WSL2:- la pestaña se abre en Chrome en Windows
browser tabsdevuelve el objetivo- las acciones posteriores (
snapshot,screenshot,navigate) funcionan desde el mismo perfil
Errores comunes que pueden inducir a error
Lista de comprobación para un diagnóstico rápido
- Windows: ¿cuál de
127.0.0.1o[::1]responde en/json/versiony pertenece ese listener achrome.exe? - WSL2: ¿funciona
curl http://WINDOWS_HOST_OR_IP:9222/json/version? - Configuración de OpenClaw: ¿utiliza
browser.profiles.<name>.cdpUrlesa dirección exacta accesible desde WSL2? - Interfaz de control: ¿se está abriendo
http://127.0.0.1:18789/en lugar de una IP de LAN? - ¿Se está intentando utilizar
existing-sessionentre WSL2 y Windows en lugar de CDP remoto directo?