BookinglyTech News
Inteligencia artificial

Jev Ultrafast: un agente de navegador que resuelve una búsqueda de vuelos en 7,1 segundos

El repositorio browser-use/jev-ultrafast acumula 3.109 estrellas en GitHub en un día. El agente usa un LLM pequeño solo para escribir texto y consume estado estructurado en lugar de capturas.

3 min de lecturaGitHub en alza0 vistas

El repositorio browser-use/jev-ultrafast pasó de cero a 3.109 estrellas en GitHub en un solo día, con un ritmo medio de 2.252 al día. Está escrito en Python y su autor, browser-use, lo presenta con una descripción de tres palabras: «i. am. speed.». La cifra que exhibe el README es una búsqueda de vuelos Zürich-Londres en Google Flights resuelta en 7,1 segundos, incluyendo la generación de texto y las esperas de carga.

Un espacio de acciones cerrado

Jev Ultrafast no funciona como los agentes de navegador que reciben una captura de pantalla y deciden sobre píxeles. Cada observación produce una tabla de elementos, y sobre ella se define un conjunto limitado de operaciones: CLICK, TYPE_TEXT, SELECT, SCROLL_UP, SCROLL_DOWN, WAIT, DONE y BLOCKED. El modelo elige una operación y un elemento; solo cuando la operación es TYPE_TEXT entra en juego un LLM pequeño para redactar el texto. Las dos decisiones —operación y objetivo— comparten el mismo estado observado y se resuelven en una única ida y vuelta de red.

Cada cabecera de objetivo contiene únicamente elementos compatibles. Las opciones de un desplegable nativo llevan su índice observado de elemento y opción. No hay scripts de acción específicos por sitio ni cadenas de campo preparadas dentro de la política.

Qué hace distinto al bucle

El README detalla varias decisiones de diseño. El bucle por defecto del agente no usa capturas: consume estado estructurado, y solo el inspector opta por las imágenes. Cada instantánea implica una sola llamada al navegador, que lee de forma atómica los controles visibles con sus nombres, valores y texto, y conserva referencias a los nodos reales del DOM. Antes de enviar una entrada, el ejecutor comprueba que la página siga fresca y descarta controles cubiertos. La salida del modelo nunca se traduce en selectores, coordenadas, comandos de shell ni JavaScript ejecutable.

Cómo probarlo

La demo se abre en la interfaz local del puerto 8766 y se lanza con Start demo → Run automatically. El inspector muestra los elementos numerados, las probabilidades de operación y de objetivo, y las acciones ejecutadas. Chrome se conecta mediante Browser Harness, que se instala con uv sync; si hay problemas de conexión, uv run browser-harness doctor. La configuración de ejemplo usa el modelo inception/mercury-2.5 con el razonamiento desactivado, y TEXT_MODEL_API_KEY es una clave de OpenRouter. Gemini, GLM y DeepSeek también sirven a través del helper de texto compatible con OpenAI.

Como biblioteca, el punto de entrada es uv run env-file .env python your_script.py. El ejemplo examples/flights.py keep-open lanza la búsqueda, verifica ruta, fecha y resultados, y guarda la traza, pero no selecciona ni reserva el vuelo.

El interés no está en el LLM, sino en cómo lo saca del camino crítico: la política no genera selectores ni coordenadas, y el texto solo aparece cuando la operación lo exige. Está por ver si ese diseño aguanta fuera del ejemplo de Google Flights, con sesiones autenticadas, formularios que no se dejan reducir a una tabla o sitios que cambian a mitad de la tarea. La velocidad es un dato medido por el propio proyecto.