- CLI de automatización de navegador headless para agentes de IA
- Cambio de la arquitectura anterior de node.js + playwright + CDP a una en la que un binario en Rust invoca CDP directamente
- Al ejecutarse como un demonio independiente, no hay proceso de Node.js en tiempo de ejecución, lo que reduce el uso de memoria y también el footprint
- Comandos de flujo de trabajo amigables para IA
- El comando
snapshot obtiene el árbol de accesibilidad y genera refs únicos (@e1, @e2), operando con base en ellos (también admite selectores tradicionales)
- Navegación de páginas (
open, goto), clic e ingreso de texto (click, fill, type, hover, check, ..), generación de capturas de pantalla y PDF (screenshot, pdf)
- Consulta de estado (
get text, get attr), verificación de estado (is), espera (wait), control de mouse y teclado (mouse, keyboard)
- Búsqueda de elementos (
find), configuración del navegador (set), pestañas/ventanas/frames/diálogos (tab, window, frame, dialog)
- Comparación (
diff): compara mediante snapshot/captura de pantalla/URL, etc.
- Soporte para gestión de sesión/almacenamiento/cookies (
cookie, storage), interceptación y mocking de solicitudes de red (network route)
- Con
--session se ejecutan instancias aisladas del navegador
- Con
--profile o --session-name se mantiene el estado de inicio de sesión y almacenamiento
- La opción
--annotate permite generar capturas de pantalla anotadas con números de elementos
- Ofrece binarios en Rust para macOS, Linux y Windows, con soporte de fallback a Node.js
- Licencia Apache-2.0
2 comentarios
Lo estoy usando muchísimo y me está funcionando muy bien. La eficiencia de tokens también es buena.
Creo que no había llegado a presentar
agent-browser. Últimamente hay tantas cosas que seguramente se me pasó jaja.Ahora se agregó de forma experimental el argumento
--native, así que quedó más pequeño y más rápido.https://x.com/ctatedev/status/2028960626685386994
Es otro proyecto de Chris Tate, creador de portless - una herramienta que reemplaza los números de puerto por URLs
.localhostbasadas en nombres.