5 puntos por mercuriusdream 2026-03-16 | Aún no hay comentarios. | Compartir por WhatsApp

Normalmente solo leo GN de vez en cuando; esta es mi primera vez publicando. ¡Mucho gusto!


Esta es una biblioteca que hice a partir de la idea: ¿y si, en lugar de un Web Surf agent actual y poco claro basado en lo omnimo­dal, tomamos el DOM obtenido por CDP, lo formateamos y comprimimos al mínimo para que un LLM pueda entenderlo, y luego lo convertimos en MCP?

Por qué la hice

  • Los agentes web basados en capturas de pantalla requieren modelos de visión y consumen una cantidad enorme de tokens.
  • La serialización tradicional del DOM incluye clases CSS, div envoltorios e incluso scripts, por lo que una sola página puede terminar con entre 50 mil y 100 mil tokens.
  • Lo que el agente necesita son botones, enlaces, entradas de texto y texto; usar toda la ventana de contexto solo para eso es ineficiente.

Cómo funciona

  • Tras conectarse a una instancia de Chrome mediante CDP, elimina todo excepto los elementos mínimos necesarios para distinguir la estructura dentro del DOM.
  • Después, asigna un ID corto a cada elemento y le entrega ese contenido al agente.
  • También soporta interacciones sobre elementos interactivos desde el agente, como click("B1"), type("I1", "término de búsqueda").

Benchmark

  • GitHub: 84,357 -> 2,593 tokens (32x)
  • Wikipedia: 123,615 -> 12,097 tokens (10x)
  • MDN: 24,923 -> 1,793 tokens (14x)
  • HN: 8,736 -> 1,038 tokens (8.4x)
  • En promedio, 93% de reducción de tokens y tiempo de parsing de ~30 ms

Especificaciones sobre el papel

  • Basado en TypeScript; como runtime soporta Bun Native y también Node 18+
  • Dependencia del runtime chrome-remote-interface
  • Backend basado en ElysiaJS

Enlaces


Lo hice originalmente para depuración personal y, después de usarlo, me sorprendió que resultara bastante útil, así que decidí liberarlo como OSS. ¡Pruébenlo y agradeceré mucho su feedback!

Aún no hay comentarios.

Aún no hay comentarios.