Omnimodal’a bağlı kalmadan DOM sıkıştırmasıyla token dostu web gezinen AI ajan kütüphanesi
(tidesurf.org)Normalde sadece ara sıra GN okuyordum, ilk kez gönderi paylaşıyorum. İlginize şimdiden teşekkürler!
Günümüzdeki belirsiz omnimodal Web Surf agent’ları yerine, CDP ile alınan DOM’u LLM’in anlayabileceği şekilde en aza indirip biçimlendirerek ve sıkıştırarak MCP’ye dönüştürsek nasıl olur? fikrinden yola çıkarak geliştirdiğim bir kütüphane.
Geliştirme nedeni
- Ekran görüntüsü tabanlı web ajanları vision modeli gerektiriyor ve token tüketimi çok yüksek oluyor.
- Mevcut DOM serileştirmeleri CSS class’ları, wrapper
div’leri ve script’leri de tamamen içerdiği için tek bir sayfada 50 bin ila 100 bin token çıkabiliyor. - Oysa ajanın ihtiyaç duyduğu şey sadece butonlar, bağlantılar, giriş alanları ve metin; bunun için tüm context window’u harcamak verimsiz.
Çalışma şekli
- CDP üzerinden Chrome instance’ına bağlandıktan sonra, DOM içindeki asgari ayrım için gerekli öğeler dışındaki her şeyi temizler.
- Ardından her öğeye kısa bir ID ekler ve bu içeriği agent’a iletir.
- Agent’tan gelen etkileşimli öğeler için
click("B1"),type("I1", "검색어")gibi etkileşimleri de destekler!
Benchmark
- GitHub: 84,357 -> 2,593 token (32x)
- Wikipedia: 123,615 -> 12,097 token (10x)
- MDN: 24,923 -> 1,793 token (14x)
- HN: 8,736 -> 1,038 token (8.4x)
- Ortalama %93 token tasarrufu, yaklaşık 30ms parse süresi
Kâğıt üzerindeki özellikler
- TypeScript tabanlı; runtime olarak Bun Native ve ayrıca Node 18+ destekleniyor
chrome-remote-interfaceRuntime bağımlılığı- ElysiaJS tabanlı backend
Bağlantılar
- GitHub: https://github.com/TideSurf/core
- npm: https://www.npmjs.com/package/@tidesurf/core
- Dokümanlar/demo: https://tidesurf.org
Kişisel debugging amaçlı yapıp kullanıyordum; beklediğimden daha kullanışlı çıkınca OSS olarak yayımlamaya karar verdim. Bir deneyip bol bol geri bildirim verirseniz çok sevinirim!
Henüz yorum yok.