Sobre el proyecto

agent-browser es una CLI de automatización de navegadores construida como un binario nativo de Rust, diseñada específicamente para agentes de IA. Se instala a través de npm, Homebrew o Cargo, y descarga Chrome desde Chrome for Testing en el primer uso. Las instalaciones existentes de Chrome, Brave, Playwright y Puppeteer se detectan automáticamente. No se requiere Playwright ni Node.js para el daemon. El flujo de trabajo principal se centra en instantáneas del árbol de accesibilidad que asignan referencias de elementos estables (como @e1, @e2), que los agentes usan para hacer clic, rellenar y leer texto. También se admiten selectores CSS tradicionales y localizadores semánticos (por rol ARIA, texto, etiqueta, placeholder, alt, título o data-testid). Los clics fallan rápidamente cuando otro elemento cubre el objetivo, informando del elemento que lo cubre para que los agentes puedan descartarlo y reintentar. Las capacidades clave incluyen: abrir y navegar páginas, tomar capturas de pantalla (con opciones de anotación, detección de cambios y umbrales), guardar PDFs, evaluar JavaScript, conectarse a través de CDP y transmisión por WebSocket. El comando read obtiene texto legible por agentes desde URLs sin lanzar Chrome, con soporte para descubrimiento de llms.txt, extracción de markdown y generación de esquemas. La ejecución por lotes ejecuta múltiples comandos en una sola invocación para evitar la sobrecarga de inicio de proceso por comando. Las funciones de red incluyen interceptación de solicitudes, simulación (mocking), grabación de HAR y filtrado de solicitudes. La gestión de pestañas admite ID de pestaña estables (t1, t2), etiquetas asignadas por el usuario e ID de destino de CDP. El cambio de marcos, el manejo de diálogos, el acceso al portapapeles, el control del ratón con movimiento similar al humano, la configuración del navegador (viewport, emulación de dispositivos, geolocalización, modo sin conexión, cabeceras, credenciales, esquema de color), cookies y gestión de localStorage/sessionStorage están disponibles. El comando diff compara instantáneas, capturas de pantalla o URLs para detectar cambios visuales y estructurales. Las herramientas de depuración incluyen grabación de trazas, perfilado de Chrome DevTools y grabación de vídeo con fps configurables y superposición de cursor. WebMCP (experimental) permite herramientas proporcionadas por la página con descubrimiento automático, obtención de esquemas e invocación, con límites de seguridad para contenido de página no confiable. Un comando de chat con IA proporciona control del navegador en lenguaje natural en modo de una sola ejecución o REPL interactivo. El proyecto es desarrollado por Vercel Labs y está disponible en GitHub.