openclaw browser
Administra la superficie de control del navegador de OpenClaw y ejecuta acciones del navegador: ciclo de vida, perfiles, pestañas, instantáneas, capturas de pantalla, navegación, entrada, emulación de estado y depuración.
Relacionado: herramienta de navegador
Indicadores comunes
--url <gatewayWsUrl>: URL de WebSocket de Gateway (usa la configuración de forma predeterminada).--token <token>: token de Gateway (si es necesario).--timeout <ms>: tiempo de espera de la solicitud en ms (predeterminado:30000).--expect-final: espera una respuesta final de Gateway.--browser-profile <name>: elige un perfil de navegador (predeterminado:openclaw, obrowser.defaultProfile).--json: salida legible por máquina (donde se admita).
Inicio rápido (local)
browser({ action: "doctor" }).
Solución rápida de problemas
Sistart falla con not reachable after start, soluciona primero la preparación de CDP. Si start y tabs funcionan pero open o navigate fallan, el plano de control del navegador está sano y el fallo suele ser un bloqueo de la política SSRF de navegación.
Secuencia mínima:
Ciclo de vida
doctor --deepañade una prueba de instantánea en vivo: es útil cuando la preparación básica de CDP está en verde pero quieres una prueba de que la pestaña actual se puede inspeccionar.stopcierra la sesión de control activa y borra las sustituciones temporales de emulación incluso para perfilesattachOnlyy CDP remotos donde OpenClaw no inició el proceso del navegador. Para perfiles locales administrados,stoptambién detiene el proceso de navegador creado.start --headlessse aplica solo a esa solicitud de inicio y solo cuando OpenClaw inicia un navegador local administrado. No reescribebrowser.headlessni la configuración del perfil, y no tiene efecto en un navegador que ya se está ejecutando.- En hosts Linux sin
DISPLAYniWAYLAND_DISPLAY, los perfiles locales administrados se ejecutan automáticamente en modo headless salvo queOPENCLAW_BROWSER_HEADLESS=0,browser.headless=falseobrowser.profiles.<name>.headless=falsesolicite explícitamente un navegador visible.
Si falta el comando
Siopenclaw browser es un comando desconocido, revisa plugins.allow en ~/.openclaw/openclaw.json. Cuando plugins.allow está presente, enumera explícitamente el Plugin de navegador incluido salvo que la configuración ya tenga un bloque raíz browser:
browser explícito (por ejemplo, browser.enabled=true o browser.profiles.<name>) también activa el Plugin de navegador incluido bajo una lista de permitidos de plugins restrictiva.
Relacionado: herramienta de navegador
Perfiles
Los perfiles son configuraciones con nombre de enrutamiento del navegador:openclaw(predeterminado): inicia o se adjunta a una instancia de Chrome dedicada y administrada por OpenClaw (directorio de datos de usuario aislado).user: controla tu sesión existente de Chrome con sesión iniciada mediante Chrome DevTools MCP.- perfiles CDP personalizados: apuntan a un endpoint CDP local o remoto.
--browser-profile <name> en cualquier subcomando; por ejemplo, openclaw browser --browser-profile work tabs.
Pestañas
tabs devuelve primero suggestedTargetId, luego el tabId estable (como t1), la etiqueta opcional y el targetId sin procesar. Pasa suggestedTargetId de vuelta a focus, close, instantáneas y acciones. Asigna una etiqueta con open --label, tab new --label o tab label; se aceptan etiquetas, ids de pestaña, ids de destino sin procesar y prefijos únicos de ids de destino. El campo de solicitud sigue llamándose targetId por compatibilidad, pero acepta cualquiera de estas referencias de pestaña.
Los ids de destino sin procesar son identificadores de diagnóstico volátiles, no memoria duradera del agente: cuando Chromium reemplaza el destino sin procesar subyacente durante una navegación o el envío de un formulario, OpenClaw mantiene el tabId estable o la etiqueta adjunta a la pestaña de reemplazo cuando puede probar la coincidencia. Prefiere suggestedTargetId.
Instantánea / captura de pantalla / acciones
Instantánea:--full-pagees solo para capturas de página; no se puede combinar con--refni--element.- Los perfiles
existing-session/useradmiten capturas de pantalla de página y capturas de pantalla--refdesde la salida de instantánea, pero no capturas de pantalla CSS--element. --labelssuperpone las referencias de la instantánea actual en la captura de pantalla. En perfiles respaldados por Playwright funciona con--full-page(superposición de página completa),--ref(superposición de recorte de elemento por referencia ARIA) y--element(superposición de recorte de elemento por selector CSS); en los modos de recorte de elemento, las etiquetas se proyectan en relación con el elemento. La respuesta también incluye un arregloannotations(omitido cuando está vacío) con el cuadro delimitador de cada referencia:ref,number,role,nameopcional ybox: {x, y, width, height}en el espacio de coordenadas de la imagen capturada (viewport / fullpage / relativo al elemento). Los perfilesexisting-sessionrenderizan una superposición chrome-mcp en capturas de pantalla de página, pero no usan el ayudante de proyección de Playwright ni incluyenannotations; las capturas de pantalla CSS--elementno se admiten allí. Sin Playwright ni chrome-mcp, las capturas de pantalla etiquetadas no están disponibles.snapshot --urlsagrega destinos de enlaces descubiertos a las instantáneas de IA para que los agentes puedan elegir destinos de navegación directos en lugar de adivinar solo a partir del texto del enlace.
evaluate --fn acepta el código fuente de una función, una expresión o el cuerpo de una instrucción. Los cuerpos de instrucciones se envuelven como funciones asíncronas, así que usa return para el valor que quieres recuperar. Usa --timeout-ms cuando la función del lado de la página pueda necesitar más que el tiempo de espera predeterminado de evaluate. browser.evaluateEnabled=false (predeterminado: true) desactiva tanto evaluate como wait --fn.
Las respuestas de acción devuelven el targetId sin procesar actual después de un reemplazo de página provocado por una acción cuando OpenClaw puede probar la pestaña de reemplazo. Los scripts deben seguir almacenando y pasando suggestedTargetId/etiquetas para flujos de trabajo de larga duración.
Ayudantes de archivos y diálogos:
/tmp/openclaw/downloads de forma predeterminada, o la raíz temporal configurada). Usa waitfordownload o download cuando el agente necesite esperar un archivo específico y devolver su ruta; esos esperadores explícitos son propietarios de la siguiente descarga. Las cargas aceptan archivos desde la raíz temporal de cargas de OpenClaw y medios entrantes administrados por OpenClaw, incluidas referencias media://inbound/<id> y media/inbound/<id> relativas al sandbox. Se rechazan refs de medios anidadas, recorridos de directorio y rutas locales arbitrarias.
Cuando una acción abre un diálogo modal, la respuesta de la acción devuelve blockedByDialog con browserState.dialogs.pending; pasa --dialog-id para responderlo directamente. Los diálogos gestionados fuera de OpenClaw aparecen en browserState.dialogs.recent.
Estado y almacenamiento
Viewport + emulación:Depuración
Chrome existente mediante MCP
Usa el perfil integradouser, o crea tu propio perfil existing-session:
--cdp-url para que Chrome MCP se adjunte a ese endpoint en su lugar. Para Docker, Browserless u otras configuraciones remotas donde no se necesiten las semánticas de Chrome MCP, usa un perfil CDP en su lugar.
Límites actuales de existing-session:
- Las acciones guiadas por instantáneas usan refs, no selectores CSS.
browser.actionTimeoutMsasigna de forma predeterminada 60000 ms a las solicitudesactadmitidas cuando los llamadores omitentimeoutMs;timeoutMspor llamada sigue teniendo prioridad.clicksolo es clic izquierdo.typeno admiteslowly=true.pressno admitedelayMs.hover,scrollintoview,drag,select,fillyevaluaterechazan sustituciones de tiempo de espera por llamada.selectadmite solo un valor.wait --load networkidleno se admite (funciona en perfiles administrados y perfiles CDP sin procesar/remotos).- Las cargas de archivos requieren
--ref/--input-ref, no admiten CSS--elementy admiten un archivo a la vez. - Los hooks de diálogo no admiten
--timeout. - Las capturas de pantalla admiten capturas de página y
--ref, pero no CSS--element. responsebody, la interceptación de descargas, la exportación a PDF y las acciones por lotes siguen requiriendo un navegador administrado o un perfil CDP sin procesar.
Control remoto del navegador (proxy de host de nodo)
Si el Gateway se ejecuta en una máquina distinta del navegador, ejecuta un host de nodo en la máquina que tiene Chrome/Brave/Edge/Chromium. El Gateway envía las acciones del navegador a ese nodo mediante proxy; no se requiere un servidor de control del navegador separado. Usagateway.nodes.browser.mode para controlar el enrutamiento automático y gateway.nodes.browser.node para fijar un nodo específico si hay varios conectados.
Seguridad + configuración remota: Herramienta de navegador, Acceso remoto, Tailscale, Seguridad