agent-browser
por vercel-labsagent-browser es una CLI de automatización para Chrome/Chromium pensada para agentes de IA y scripts de shell. Úsala para abrir páginas, navegar, hacer clic, rellenar formularios, capturar snapshots, tomar capturas de pantalla, grabar video, perfilar rendimiento, gestionar sesiones, manejar autenticación y automatizar flujos de trabajo de navegador de extremo a extremo.
Overview
What is agent-browser?
agent-browser es una herramienta de automatización de navegador en línea de comandos diseñada para agentes de IA y flujos basados en shell. Se conecta directamente a Chrome o Chromium mediante el Chrome DevTools Protocol (CDP), de modo que puedes scriptar interacciones reales de navegador desde el terminal o desde el runtime de un agente.
Con agent-browser puedes:
- Abrir y navegar por páginas web (
agent-browser open <url>) - Descubrir elementos interactivos mediante snapshots estructurados
- Hacer clic en botones, seguir enlaces e interactuar con formularios
- Rellenar inputs, escribir texto y pulsar teclas
- Tomar snapshots para entender la estructura de la página y las acciones disponibles
- Gestionar sesiones y conservar el estado autenticado
- Completar flujos de autenticación (incluyendo OAuth y 2FA con ayuda humana)
- Usar proxies para pruebas geolocalizadas o entornos corporativos
- Registrar trazas de rendimiento para profiling
- Grabar video de sesiones de navegador para depuración o documentación
Who is agent-browser for?
agent-browser encaja bien si:
- Ejecutas un agente de IA o un framework de automatización que necesita controlar un navegador real
- Quieres una forma "CLI-first" de automatizar flujos de Chrome/Chromium
- Necesitas un sistema robusto de selección de elementos amigable para LLMs (mediante
@refscompactos) - Automatizas flujos de login, envío de formularios o recorridos de apps web de varios pasos
- Quieres capturar pruebas reproducibles, demos o sesiones de depuración como video o trazas
Es especialmente útil en estos casos:
- Automatización de navegador: navegación scriptada, clics y rellenado de formularios
- Automatización de flujos: secuencias de extremo a extremo como "iniciar sesión → navegar → exportar informe"
- Automatización de tests: smoke tests, comprobaciones de regresión y profiling de rendimiento de aplicaciones web
When agent-browser is and is not a good fit
Usa agent-browser cuando:
- Puedes ejecutar una CLI local y tienes acceso a Chrome o Chromium
- Quieres un comportamiento de navegador determinista y scriptable expuesto a un agente de IA
- Necesitas control detallado sobre sesiones, cookies y autenticación
Puede no ser la mejor opción cuando:
- No puedes instalar ni ejecutar Chrome/Chromium en el host
- Solo necesitas HTML en bruto o peticiones HTTP sencillas (un cliente HTTP o scraper puro puede ser más simple)
- Requieres control de navegador headless en lenguajes o runtimes muy acoplados a otras librerías de automatización de navegador
How to Use
Installation options
agent-browser admite varios métodos de instalación. Elige el que mejor se adapte a tu entorno:
-
npm (Node.js)
npm i -g agent-browser -
Homebrew (macOS/Linux)
brew install agent-browser -
Rust / Cargo
cargo install agent-browser
Después de instalar la CLI, ejecuta la configuración integrada de Chrome:
agent-browser install
Esto descarga y conecta una versión compatible de Chrome/Chromium. Cuando haya una nueva versión disponible, actualiza con:
agent-browser upgrade
Si usas agent-browser como skill dentro de una plataforma de agentes, también puedes añadirlo con:
npx skills add https://github.com/vercel-labs/agent-browser --skill agent-browser
Consulta el archivo SKILL.md en el repositorio para ver los detalles más recientes sobre la integración específica del skill.
Core browser automation workflow
Cada flujo de trabajo de agent-browser sigue un bucle sencillo: open → snapshot → interact → re-snapshot.
-
Navigate to a page
agent-browser open https://example.com/form -
Take a snapshot to discover elements
Usa el modo interactivo de snapshot para obtener una lista compacta de elementos clicables y rellenables con@refs:agent-browser snapshot -iEjemplo de salida (simplificada):
@e1 [input type="email"] @e2 [input type="password"] @e3 [button] "Submit" -
Interact using refs
agent-browser fill @e1 "user@example.com" agent-browser fill @e2 "password123" agent-browser click @e3 -
Wait and re-snapshot
agent-browser wait --load networkidle agent-browser snapshot -i
Este patrón permite que un agente de IA razone sobre una vista estructural compacta en lugar del DOM completo, lo que reduce significativamente el uso de contexto.
Command reference basics
agent-browser expone un conjunto amplio de comandos (ver references/commands.md), entre ellos:
-
Navigation
agent-browser open <url> agent-browser back agent-browser forward agent-browser reload agent-browser close -
Snapshot and refs
agent-browser snapshot # árbol completo agent-browser snapshot -i # solo elementos interactivos (recomendado) agent-browser snapshot -c # salida compacta agent-browser snapshot -d 3 # limitar profundidad agent-browser snapshot -s "#main" # limitado a un selector CSS -
Interactions
agent-browser click @e1 agent-browser dblclick @e1 agent-browser hover @e1 agent-browser focus @e1 agent-browser fill @e2 "text" agent-browser type @e2 "text" agent-browser press Enter
Usa references/snapshot-refs.md para una guía más profunda sobre cómo se generan los @refs y cuánto tiempo permanecen válidos.
Working with sessions and authentication
agent-browser ofrece herramientas integradas para navegación autenticada y multi-sesión. Esto es útil para flujos de login, pruebas multi-cuenta o aislamiento de roles de usuario.
-
Named sessions (ver
references/session-management.md):# Session "auth": flujo de login agent-browser --session auth open https://app.example.com/login # Session "public": navegación separada agent-browser --session public open https://example.comCada sesión tiene cookies, almacenamiento, caché e historial aislados.
-
Session state persistence:
# Guardar cookies y almacenamiento agent-browser state save ./auth-state.json # Restaurar más adelante agent-browser state load ./auth-state.json agent-browser open https://app.example.com/dashboard -
Authentication patterns (ver
references/authentication.md):- Importar cookies desde una instancia de Chrome con depuración activada en la que ya hayas iniciado sesión
- Recorrer formularios de login estándar usando snapshots y
fill/click - Manejar autenticación basada en cookies, auth básica HTTP y refresh de tokens
En flujos complejos de OAuth o 2FA, puede seguir siendo necesario que una persona intervenga en la configuración inicial; después, agent-browser puede reutilizar el estado autenticado guardado.
Proxy support and network configuration
Si necesitas enrutar el tráfico a través de un proxy (para pruebas por ubicación, limitación de tasa o entornos corporativos), usa las opciones documentadas en references/proxy-support.md:
-
HTTP/HTTPS proxy via CLI flag
agent-browser --proxy "http://proxy.example.com:8080" open https://example.com -
Environment variable configuration
export HTTP_PROXY="http://proxy.example.com:8080" export HTTPS_PROXY="https://proxy.example.com:8080" agent-browser open https://example.com -
SOCKS proxy
export ALL_PROXY="socks5://proxy.example.com:1080" agent-browser open https://example.com
Profiling and performance tracing
Para automatización de tests e investigación de rendimiento, agent-browser puede capturar trazas de rendimiento de Chrome (ver references/profiling.md):
# Start profiling
agent-browser profiler start
# Run your scenario
agent-browser open https://example.com
agent-browser click @e1
agent-browser wait 1000
# Stop and save trace
agent-browser profiler stop ./trace.json
Puedes abrir el trace.json resultante en Chrome DevTools (pestaña Performance) o en visores compatibles para analizar la ejecución de JavaScript, el renderizado y eventos de temporización de usuario.
Video recording for debugging and documentation
agent-browser puede grabar un video de la sesión de navegador, lo que es útil para depurar automatizaciones que fallan o crear guías paso a paso (ver references/video-recording.md):
# Start recording
agent-browser record start ./demo.webm
# Perform actions
agent-browser open https://example.com
agent-browser snapshot -i
agent-browser click @e1
# Stop recording
agent-browser record stop
Puedes incrustar estos archivos .webm en documentación, compartirlos con tu equipo o adjuntarlos a informes de bugs.
Using templates for common workflows
El repositorio incluye plantillas de scripts de shell en el directorio templates/ para ayudarte a construir flujos de trabajo repetibles:
templates/form-automation.sh– patrón estructurado para rellenar y enviar formulariostemplates/authenticated-session.sh– ejemplo para iniciar sesión y persistir el estado de la sesióntemplates/capture-workflow.sh– patrón para hacer snapshots o grabar un flujo de varios pasos
Puedes copiar y adaptar estos scripts a tu propio entorno, jobs de CI o pipelines de agentes.
FAQ
What problems does agent-browser solve compared to simple HTTP clients?
agent-browser controla una instancia real de Chrome/Chromium mediante CDP. Esto significa que puede manejar:
- Renderizado del lado del cliente y JavaScript complejo
- Single-page apps que dependen de APIs del navegador
- Interacciones reales de usuario como clics, escritura y pulsación de teclas
- Tiempos visuales, comportamiento de renderizado y trazas de rendimiento
Si solo necesitas HTML o JSON en bruto de endpoints básicos, un cliente HTTP puede ser suficiente. Para cualquier cosa que deba comportarse como un usuario real en un navegador, agent-browser es más adecuado.
How do I install Chrome or Chromium for agent-browser?
Después de instalar la CLI con npm, Homebrew o Cargo, ejecuta:
agent-browser install
Esto descarga y configura una versión compatible de Chrome/Chromium que agent-browser puede controlar vía CDP. Cuando se publique una nueva versión, actualiza con:
agent-browser upgrade
Can agent-browser reuse my existing logged-in browser session?
Sí. references/authentication.md explica cómo iniciar Chrome con --remote-debugging-port e importar cookies desde una sesión en la que ya hayas iniciado sesión. Una vez importado, puedes guardar ese estado autenticado con agent-browser state save y restaurarlo más tarde sin repetir todo el flujo de login.
Is agent-browser suitable for CI and automated testing?
Sí. agent-browser es una herramienta de línea de comandos que funciona bien en entornos automatizados siempre que Chrome/Chromium esté disponible. Puedes:
- Ejecutar flujos end-to-end como parte de tus suites de tests
- Capturar trazas de rendimiento durante los builds
- Grabar videos de escenarios que fallen
Para CI, usa el método de instalación que coincida con tu imagen de build (npm, Homebrew o Cargo) y luego scripta tus flujos usando scripts de shell o tu framework de agentes.
How does agent-browser help AI agents work with complex pages?
En lugar de volcar el DOM completo, agent-browser proporciona snapshots compactos con @refs estables para los elementos importantes (enlaces, botones, inputs, etc.). Esto reduce drásticamente el uso de tokens y facilita que un agente de IA pueda:
- Entender la estructura de la página
- Seleccionar el elemento correcto por ref
- Enviar comandos precisos de
click,fillypress
references/snapshot-refs.md explica cómo se generan los refs, cuándo refrescarlos y las mejores prácticas para una automatización robusta.
Does agent-browser support proxies and corporate networks?
Sí. Puedes configurar proxies HTTP, HTTPS y SOCKS tanto mediante flags de CLI (--proxy) como a través de variables de entorno (HTTP_PROXY, HTTPS_PROXY, ALL_PROXY). references/proxy-support.md cubre la configuración básica, proxies con autenticación, reglas de bypass y consejos de resolución de problemas.
Where should I start in the repository to learn more?
Para profundizar de forma práctica en agent-browser:
- Empieza por
SKILL.mdpara una visión general y un quick start - Lee
references/commands.mdpara ver la lista completa de comandos y opciones - Revisa
references/authentication.md,references/session-management.md,references/snapshot-refs.md,references/profiling.mdyreferences/video-recording.mdpara temas específicos - Explora el directorio
templates/para scripts de flujo de trabajo listos para usar que puedas adaptar a tus propios casos de uso
