KI-Agentenbibliothek für tokenfreundliches Web-Navigieren per DOM-Komprimierung ohne Abhängigkeit von Omnimodalität
(tidesurf.org)Normalerweise lese ich GN nur gelegentlich mit, und dies ist mein erster Beitrag. Vielen Dank im Voraus!
Was wäre, wenn man statt eines bestehenden Web-Surf-Agenten auf Basis von Omnimodalität, die noch einige Unsicherheiten mit sich bringt, das per CDP empfangene DOM so minimal formatiert und komprimiert, dass ein LLM es verstehen kann, und daraus ein MCP macht? Mit dieser Idee im Ausgangspunkt habe ich diese Bibliothek entwickelt.
Warum ich sie gebaut habe
- Screenshot-basierte Web-Agenten benötigen Vision-Modelle und verbrauchen extrem viele Tokens.
- Bestehende DOM-Serialisierung enthält CSS-Klassen, Wrapper-
divs und sogar Skripte, sodass eine einzelne Seite auf 50.000 bis 100.000 Tokens kommt. - Der Agent braucht eigentlich nur Buttons, Links, Eingabefelder und Text; dafür gleich das gesamte Kontextfenster zu verbrauchen, ist ineffizient.
Funktionsweise
- Nach der Verbindung zu einer Chrome-Instanz über CDP wird im DOM alles entfernt, was nicht für eine minimale Unterscheidung der Elemente nötig ist.
- Anschließend wird jedem Element eine kurze ID zugewiesen und der Inhalt an den Agenten übergeben.
- Interaktionen mit interaktiven Elementen vom Agenten aus werden ebenfalls unterstützt, etwa
click("B1"),type("I1", "검색어")!
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)
- Im Schnitt 93 % weniger Tokens, Parsing-Zeit etwa 30 ms
Paper-Spezifikation
- TypeScript-basiert, als Runtime werden Bun Native sowie Node 18+ unterstützt
- Abhängigkeit von der
chrome-remote-interface-Runtime - Backend auf Basis von ElysiaJS
Links
- GitHub: https://github.com/TideSurf/core
- npm: https://www.npmjs.com/package/@tidesurf/core
- Dokumentation/Demo: https://tidesurf.org
Ich habe das ursprünglich für persönliches Debugging gebaut und verwendet. Unerwartet stellte es sich als ziemlich brauchbar heraus, deshalb habe ich es als OSS veröffentlicht. Probiert es gern aus und gebt mir viel Feedback!
Noch keine Kommentare.