- 21 yıl önce Selenium'u geliştiren Jason Huggins'in, yapay zeka ajanlarını göz önünde bulundurarak yeniden geliştirdiği açık kaynaklı bir tarayıcı otomasyon projesi
- Vibium, yapay zeka ajanları için bir tarayıcı otomasyon altyapısı olarak, tek bir ikili dosyayla tarayıcı yaşam döngüsünü ve WebDriver BiDi protokolünü yönetir ve bir MCP sunucusu sunar
- 10 MB boyutundaki tek Go ikili dosyası Clicker, Chrome'u otomatik olarak algılar ve çalıştırır; BiDi proxy'si ve MCP sunucusu üzerinden yapay zeka modellerinin veya JS istemcilerinin tarayıcıyı kontrol etmesini sağlar
- JS/TS istemcisi, hem senkron hem asenkron API'leri destekler ve
npm install vibium ile kurulduktan sonra hemen kullanılabilir
- Claude Code gibi LLM ajanları,
claude mcp add vibium komutuyla tek satırda tarayıcı kontrol yeteneği ekleyebilir
- Hem yapay zeka otomasyonu hem de test otomasyonu için uygundur ve yapılandırma gerektirmeyen bir tarayıcı kontrol ortamı sunar
Vibium genel bakış
- Vibium, yapay zeka ajanları ve insan kullanıcılar için bir tarayıcı otomasyon altyapısıdır
- Tek bir Go ikili dosyasında tarayıcı yönetimi, WebDriver BiDi proxy'si ve MCP sunucusu işlevlerini birleştirir
- Claude Code, Codex, Gemini gibi çeşitli LLM modelleriyle uyumludur
- Kurulum süreci olmadan hemen çalışacak şekilde tasarlanmıştır; yapay zeka ajanlarında veya test otomasyonu ortamlarında kullanılabilir
Bileşenler
- Clicker: Yaklaşık 10 MB boyutunda bir Go ikili dosyasıdır ve şu işlevleri yerine getirir
- Chrome'u otomatik algılama ve BiDi modunda çalıştırma
- Komutları ileten WebSocket tabanlı BiDi proxy sunucusu
- MCP sunucusu üzerinden LLM ajanlarıyla iletişim
- Öğe beklendikten sonra etkileşim kuran Auto-Wait özelliği
- Ekran görüntüsü yakalama özelliği
- JS/TS istemcisi: npm paketi olarak sunulur ve hem senkron (
browserSync) hem de asenkron (browser) API'leri destekler
vibe.go(), vibe.find(), vibe.click(), vibe.quit() gibi basit komutlarla tarayıcı kontrolü
- Ekran görüntüsü kaydetme, öğe bulma, tıklama gibi temel otomasyon işlevleri içerir
Yapay zeka ajanı entegrasyonu
İnsan kullanıcılar için kurulum
npm install vibium komutuyla otomatik kurulum
- Platforma göre Clicker ikili dosyası, Chrome for Testing ve chromedriver önbelleğe indirilir
- Linux:
~/.cache/vibium/, macOS: ~/Library/Caches/vibium/, Windows: %LOCALAPPDATA%\vibium\
- Tarayıcı indirmesini atlamak için
VIBIUM_SKIP_BROWSER_DOWNLOAD=1 ortam değişkeni kullanılabilir
Platform desteği
- Linux x64, macOS (Intel/Apple Silicon) ve Windows x64 desteği
Hızlı başlangıç
Yol haritası
- V1: MCP ve JS istemcisi üzerinden tarayıcı kontrolüne odaklanır
- V2 planı
- Python ve Java istemcileri
- Cortex (bellek ve gezinme katmanı)
- Retina (kayıt uzantısı işlevi)
- Video kaydı, yapay zeka tabanlı öğe bulma özelliği
1 yorum
Hacker News yorumları
Selenium sayesinde kariyerimde büyük bir değişim yaşadım. İçtenlikle teşekkür ederim
Bu günlerde Playwright kullanıyorum ama Vibium'un yeni yaklaşımını merak ediyorum
Vibium'un JS enjeksiyonu, DOM değiştirme, ağ isteklerini izleme ve değiştirmeyi destekleyip desteklemediğini merak ediyorum. Playwright kullanırken bu özellikleri neredeyse her zaman kullanıyorum
İlginç. Yakın zamanda dev-browser kullanarak bağlam tasarrufu ve hız artışı elde ediyordum. Vibium'u da kesinlikle deneyeceğim
10 yılı aşkın süredir UI otomasyonuyla geçimini sağlayan biri olarak Selenium'a minnettarım. Şu anda Playwright fiili standart ama Selenium özgün tarayıcı sürücüsüydü. Vibium'un Playwright'tan farkı ne, merak ediyorum
Eskiden Selenium ile Atlassian'ın test genişlemesine yardımcı olan biriyim. Yaklaşık 13-15 yıl önce konuştuğumuzu hatırlıyorum. Bu alanda hâlâ aktif olman sevindirici
Eski Selenium script'lerini Vibium'a taşırsam, test başarısız olduğunda kendi kendini onarma (self-heal) özelliğinden yararlanabilir miyim diye merak ediyorum
Ajan
browser_screenshotile ekran görüntüsü aldıktan sonra tıklama yapacaksa, CSS selector'ü nasıl bulduğunu merak ediyorum. Sadece ekran görüntüsüyle öğe türünü anlamak zorbrowser_evaluatearacını ekleyip JS ile erişilebilirlik ağacını almayı ve bunun üzerinden gezinmeyi sağladım. Ayrıntılar için V2 yol haritasına bakabilirsinizClaude gibi araçların tarayıcı otomasyonunu serbestçe kullanabilmesi için yalnızca belirli URL'lere izin veren bir tarayıcı kilitleme özelliği gerekiyor. Bunun yol haritasında olup olmadığını merak ediyorum
browser_navigatehook'u ile bunu kolayca kontrol edebilirsiniz. Whitelist için bir script'i 5 dakikada kurabilirsiniz. Daha karmaşık politikalar cupcake ve Rego ile uygulanabilir. Referans: Claude Code Hooks dokümanıSkyvern'e benzer bir şey yapmayı düşünüyordum ama neden Selenium uzantısı yerine yeni bir Vibium yaptığınızı merak ediyorum
Tarayıcı ile LLM arasındaki bağlam şişmesi (context bloat) sorununu nasıl ele aldığınızı merak ediyorum. Playwright gibi tracing dosyalarını açığa çıkarma ya da JS çalıştırmaya izin verme planınız var mı diye de sorulmuş