OpenChrome - Chrome tarayıcısı için paralel otomasyon MCP sunucusu
(github.com/shaun0927)Playwright, bir şekilde crawling yapmak ya da
prodüksiyon ortamında E2E testleri çalıştırmak istediğinizde
tarayıcıda tıklama gibi aksiyonları kontrol etmenizi sağlayan kullanışlı bir web otomasyon aracıdır.
2020’de yayınlanmış olsa da,
hâlâ çoğu geliştiricinin kullandığı araçtır.
Ancak tek bir oturum açık olsa bile RAM tüketimi 2 GB’ı aşıyor; ağır, yavaş ve kolayca bozulabiliyor.
Yapay zeka çağında bu aracın yenilenmesi gerekiyor ve
özellikle paralel işlerde de kararlı çalışan bir tarayıcı otomasyon aracına ihtiyaç var.
Artık ne QA’yı kendimiz yapmak ne de sitelerde dolaşmak istiyoruz.
OpenChrome, bu sorunu çözme isteğinden doğmuş bir projedir.
Paralel olarak hızlı ve akıllı biçimde tarayıcı paralel otomasyonu gerçekleştiren bir MCP sunucusudur.
Ayrıca son dönemde kişisel işlerimde en sık kullandığım araç da bu.
Chrome tarayıcı girişini kullanır ve
birden fazla hesap kullanıyorsanız, görev sırasında hangi hesap adının kullanılacağını belirtmeniz yeterlidir.
Varsayılan olarak giriş yapılmış Chrome tarayıcısı temel alınarak çalışır.
20’den fazla tarayıcıda paralel çalışma mümkündür ve RAM kullanımını yaklaşık 300 MB’a düşürdük. Chrome’da oturum açıkken çalışır ve fiilen bot tespitini tamamen etkisiz hâle getirir. Openclaw ile de entegre olabilir.
Kullanım örnekleri aşağıdaki gibidir.
"Twitter’daki 20 ünlü kişinin en son gönderilerini oc ile crawl et."
(claude code bazlı benchmark süresi 3 dakika 30 saniye - bunun çoğu LLM çıkarım süresidir)
Aslında Playwright’ın kronik sorunu, boşa kürek çeken "LLM dolaşması"dır.
Giriş yapma gibi bir işi komut olarak verseniz bile uzun süre siteyi kurcalayıp şunu bunu deniyor,
sonunda da 30 dakikadan uzun sürüp başarısız olduğuna dair bir bildirim geliyor.
Openchrome bunu tahmine dayalı değil, Guided yaklaşımıyla çözüyor.
Doğrudan Chrome’a giriş yapıyor ve bağlantıyı verirseniz doğrudan o bağlantıya gidiyor.
Ekran görüntülerini minimumda tutuyor ve düğme gibi öğelerin konumunu hızla tespit ediyor.
İş sırasında bir sorun çıkarsa, hafızasını yoklayıp aynı hatayı tekrarlamıyor.
Bir MCP sunucusu olduğu için mevcut Playwright yerine her ortamda doğrudan kullanılabilir.
MAC-claude code geliştirmesinde ya da Windows, Linux gibi diğer işletim sistemlerinde olduğu gibi
codex cli, cursor gibi ortamlarda da çalışır.
Kurulum:
npx openchrome-mcp setup
Çok karmaşık ve yüksek kaynak tüketen büyük ölçekli prodüksiyon kararlılığı için ek doğrulama gereklidir;
geri bildiriminiz veya öneriniz varsa GitHub Issues’a yazarsanız hemen yansıtacağım.
Teşekkürler.
13 yorum
Mevcut E2E çözümlerini kullanmadan, test kodunu doğrudan yapay zeka mı yönetip çalıştıracak?
Mevcut Playwright, kalıplaşmış metodolojilerle web sitelerine eriştiği için token tüketimi fazlaysa,
openchrome’un ise LLM dostu bir yaklaşımla ilerleyip LLM’in doğrudan web sitesi davranış kontrolüne hızlıca dahil olmasını sağlayan bir konsept olarak görülebileceğini düşünüyorum. e2e çözümünü doğrudan çalıştırabilirsiniz.
Örneğin Google girişi gerektiren bir prodüksiyon ortamında, yönetici hesabıyla giriş yapılmış durumdayken QA işleri yaptırabilirsiniz. Kaydırma yapmak, edge case’lere göre kendi kendine tıklamak gibi aklınıza gelebilecek çoğu işin tamamı mümkün. Çünkü bu yaklaşımda Playwright’ın otonom şekilde aptalca işler yapmasına izin vermek yerine, LLM anında devreye girerek davranışı kontrol ediyor.
Yalnızca token kullanımına bakılırsa, kalıplaşmış yöntem E2E test senaryolarını LLM müdahalesi olmadan çalıştırmak olduğu için daha az değil mi?
Test metodolojisine bakınca, test case dışında QA’in otonom olarak test yapması da buna dahil ediliyor.
Bu kısım için verimli olduğuna kanaat getirilirse olumlu değerlendirmek doğru olur mu?
Daha teknik bir yanıt vermem gerekirse, özellikle somut bir soru sorduğunuz için,
mevcut Playwright MCP aşağıdaki 3 aşamalı soyutlamayla çalışır:
LLM → MCP sunucusu → Playwright Node.js sunucusu → CDP/Juggler → tarayıcı
Buna karşılık OpenChrome aşağıdaki 1 aşamalı soyutlamayla çalışır:
LLM → MCP sunucusu → CDP → tarayıcı
Soyutlama katmanı ne kadar azsa, o kadar hızlı olur ve kontrol de o kadar hassaslaşır;
Playwright genel amaçlı bir araçken OpenChrome özelleşmiş araçlar kullanır.
Bunu bir matematik problemine benzetirsek, 20 satırlık çözüm sürecini 4 satıra sıkıştırmış gibi düşünebilirsiniz.
Playwright geri bildirimi erişilebilirlik ağacı denilen metin tabanlı bir yöntemle aldığı için
(teoride üstün olsa da çoğu sitede bozulmasının nedeni budur)
bağlamı kavrama kapasitesi de oldukça sınırlıdır.
Bu nedenle erişilebilirliğin iyi uygulanmış olduğu sitelerde (Google gibi bilinen alan adları) Playwright hâlâ faydalıdır,
ama çoğu site ya da production ortamında OpenChrome ezici biçimde daha iyidir.
Ayrıca "araç tasarımının yoğunluğu" ve "LLM'nin hata yapma fırsatlarını azaltmak" sonuçta gerçek kullanım performansını belirlediği için,
teorik performans yerine real-world task'larla ölçmenin doğru olduğunu düşünüyorum.
Teşekkür ederim. Ben de metni yeterince dikkatli okumamışım.
Üretim ortamını hedeflediği kısmını gözden kaçırmışım.
Ben de mutlaka deneyeceğim.
Yanlış soruya bile özenle yanıt verdiğiniz için teşekkür ederim~
Hayır, iyi bir soru, teşekkür ederim. Ben de açıklarken kendi kafamda toparlamış oldum.
Kesinlikle hızlı ve iyi.
Ama bir uyarı penceresi çıkınca duruyor.
Bu içeriği hızlıca iyileştireceğiz.
Chrome DevTools MCP ile karşılaştırması da merak konusu!
Denediğimde, Chrome DevTools MCP'den ziyade Playwright'ın daha iyi olduğunu hatırlıyorum; ileride benchmark da eklemeyi deneyeceğim.
chrome devtools mcpbüyük bağlam uyarısını göstermiyor ama performansı da aşağı yukarı benzer hissettirdiği için ben bunu kullanıyordum! Benchmark sonuçlarını merakla bekliyorum :DOoo, token kullanımı da azalıyor mu? Teşekkürler!!
Yani gereksiz yanlış deneme sayısı azaldıkça token tüketiminin de düştüğünü düşünebilirsiniz.