14 पॉइंट द्वारा GN⁺ 2025-12-25 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 21 साल पहले Selenium विकसित करने वाले Jason Huggins ने AI एजेंट्स को ध्यान में रखकर फिर से बनाया यह ब्राउज़र ऑटोमेशन ओपन सोर्स प्रोजेक्ट
  • Vibium AI एजेंट्स के लिए ब्राउज़र ऑटोमेशन इन्फ्रास्ट्रक्चर है, जो एक सिंगल बाइनरी में ब्राउज़र lifecycle और WebDriver BiDi प्रोटोकॉल को मैनेज करता है और MCP सर्वर एक्सपोज़ करता है
  • 10MB का सिंगल Go बाइनरी Clicker Chrome को अपने-आप detect और launch करता है, और BiDi proxy व MCP सर्वर के जरिए AI models या JS clients को ब्राउज़र कंट्रोल करने देता है
  • JS/TS client sync और async API दोनों को सपोर्ट करता है, और npm install vibium के बाद तुरंत इस्तेमाल किया जा सकता है
  • Claude Code जैसे LLM एजेंट claude mcp add vibium एक ही कमांड से ब्राउज़र कंट्रोल क्षमता जोड़ सकते हैं
  • यह AI ऑटोमेशन और टेस्ट ऑटोमेशन दोनों के लिए उपयुक्त है, और बिना configuration वाला ब्राउज़र कंट्रोल environment देता है

Vibium अवलोकन

  • Vibium AI एजेंट्स और इंसानी यूज़र्स के लिए ब्राउज़र ऑटोमेशन इन्फ्रास्ट्रक्चर है
    • एक सिंगल Go बाइनरी में ब्राउज़र मैनेजमेंट, WebDriver BiDi proxy और MCP सर्वर फ़ंक्शन एकीकृत हैं
    • Claude Code, Codex, Gemini जैसे विभिन्न LLM models के साथ compatible
  • बिना इंस्टॉलेशन प्रक्रिया के तुरंत काम करने वाली संरचना, जिसे AI एजेंट्स या टेस्ट ऑटोमेशन environment में इस्तेमाल किया जा सकता है

घटक

  • Clicker: लगभग 10MB का Go बाइनरी, जो ये फ़ीचर्स देता है
    • Chrome का ऑटो-डिटेक्शन और BiDi mode में launch
    • WebSocket-आधारित BiDi proxy server के रूप में कमांड फ़ॉरवर्डिंग
    • MCP server के जरिए LLM एजेंट्स से संचार
    • Auto-Wait फ़ीचर के साथ elements का इंतज़ार करके interaction
    • screenshot capture फ़ीचर
  • JS/TS client: npm पैकेज के रूप में उपलब्ध, और sync(browserSync) व async(browser) API दोनों को सपोर्ट करता है
    • vibe.go(), vibe.find(), vibe.click(), vibe.quit() जैसे आसान कमांड्स से ब्राउज़र कंट्रोल
    • screenshot save, element खोज, click जैसी बेसिक ऑटोमेशन क्षमताएँ शामिल

AI एजेंट इंटीग्रेशन

  • Claude Code में ब्राउज़र कंट्रोल जोड़ने की कमांड:
    claude mcp add vibium -- npx -y vibium  
    
    • Chrome अपने-आप डाउनलोड हो जाता है, इसलिए अलग configuration की ज़रूरत नहीं
  • उपलब्ध कमांड्स की सूची
    • browser_launch: ब्राउज़र लॉन्च
    • browser_navigate: URL पर जाएँ
    • browser_find: CSS selector से element खोजें
    • browser_click: element पर क्लिक
    • browser_type: टेक्स्ट इनपुट
    • browser_screenshot: viewport capture
    • browser_quit: ब्राउज़र बंद

इंसानी यूज़र्स के लिए इंस्टॉलेशन

  • npm install vibium कमांड से ऑटो-इंस्टॉल
    • प्लेटफ़ॉर्म के अनुसार Clicker बाइनरी, Chrome for Testing और chromedriver को cache में डाउनलोड करता है
    • Linux: ~/.cache/vibium/, macOS: ~/Library/Caches/vibium/, Windows: %LOCALAPPDATA%\\vibium\\
  • environment variable VIBIUM_SKIP_BROWSER_DOWNLOAD=1 से ब्राउज़र डाउनलोड स्किप किया जा सकता है

प्लेटफ़ॉर्म सपोर्ट

  • Linux x64, macOS(Intel/Apple Silicon), Windows x64 सभी सपोर्टेड

क्विक स्टार्ट

  • लाइब्रेरी उपयोग उदाहरण
    import { browser } from "vibium";  
    const vibe = await browser.launch();  
    await vibe.go("https://example.com";);  
    const el = await vibe.find("a");  
    await el.click();  
    await vibe.quit();  
    
  • Claude Code इंटीग्रेशन उदाहरण
    • इंस्टॉल करने के बाद “Go to example.com and click the first link” जैसी कमांड से ब्राउज़र ऑपरेट किया जा सकता है

रोडमैप

  • V1: MCP और JS client के जरिए ब्राउज़र कंट्रोल पर फोकस
  • V2 योजना
    • Python और Java clients
    • Cortex(memory·navigation layer)
    • Retina(recording extension feature)
    • video recording, AI-आधारित element खोज फ़ीचर

1 टिप्पणियां

 
GN⁺ 2025-12-25
Hacker News की राय
  • Selenium की वजह से मेरे करियर में बड़ा बदलाव आया। इसके लिए दिल से आभार
    आजकल मैं Playwright इस्तेमाल कर रहा हूँ, लेकिन Vibium का नया approach दिलचस्प लग रहा है

    • Playwright ने WebSockets+JSON आधारित तेज़ browser control के साथ बड़ी प्रगति की है। Vibium इसके समकक्ष W3C WebDriver BiDi standard का उपयोग कर रहा है। लक्ष्य Playwright जैसी “कुछ clicks में काम पूरा” वाली शानदार developer experience देना है
    • अगर आप पहले से Playwright इस्तेमाल कर रहे हैं, तो Stagehand आज़माने की सलाह है। API मिलती-जुलती है, लेकिन इसे testing नहीं बल्कि automation के लिए डिज़ाइन किया गया है
  • जानना चाहता हूँ कि क्या Vibium JS injection, DOM modification, और network requests की monitoring/modification को support करता है। Playwright इस्तेमाल करते समय मैं लगभग हमेशा इन features का उपयोग करता हूँ

    • अभी यह support नहीं है, लेकिन roadmap में शामिल है। लक्ष्य Playwright की खूबियों को अपनाकर उससे आगे बढ़ना है
    • व्यक्तिगत रूप से, सिर्फ network request monitoring भी मेरे लिए काफी होगी। Flutter + Amazon AppSync app को debug करना बहुत मुश्किल है
  • दिलचस्प है। हाल में मैं dev-browser का उपयोग करके context बचत और speed improvement पा रहा था। Vibium भी ज़रूर आज़माऊँगा

    • Vibium में भी ऐसी skill-based extensibility को support करने की योजना है
  • 10 साल से ज़्यादा समय से UI automation से रोज़ी-रोटी कमाने वाले व्यक्ति के तौर पर मैं Selenium का आभारी हूँ। अब Playwright लगभग de facto standard है, लेकिन Selenium ही मूल browser driver था। जानना चाहता हूँ कि Vibium, Playwright से कैसे अलग है

    • Playwright “speed” में आगे है, लेकिन Selenium के पास अभी भी दुनिया भर में गहराई तक जमी हुई ecosystem है। Vibium की योजना Selenium users के लिए स्वाभाविक रूप से भविष्य-उन्मुख agent coding की ओर जाने वाला पुल बनाने की है
  • मैं पहले Selenium के साथ Atlassian की test extension में मदद कर चुका हूँ। याद है कि लगभग 13–15 साल पहले इस बारे में बात हुई थी। यह देखकर अच्छा लगा कि आप अब भी इस क्षेत्र में सक्रिय हैं

  • जानना चाहता हूँ कि पुराने Selenium scripts को Vibium में migrate करने पर क्या test failures के समय self-heal feature का लाभ मिल सकेगा

    • उपमा दूँ तो, मैं अभी एक island resort बना रहा हूँ। पुल (migration path) बाद में बनाया जाएगा। पहले अगर resort आकर्षक होगा, तो पुल बनाने का कारण अपने आप बन जाएगा। अभी मेरा ध्यान resort बनाने पर है, लेकिन पुल भी ज़रूर बनाना चाहता हूँ
  • अगर agent browser_screenshot से स्क्रीन capture करने के बाद click करना चाहे, तो वह CSS selector कैसे ढूँढता है, यह जानना चाहता हूँ। सिर्फ screenshot से element type समझना मुश्किल है

    • अभी MCP server में पूरी तरह autonomous exploration की कमी है। मेरे fork में मैंने browser_evaluate tool जोड़ा है, जो JS से accessibility tree लाता है और उसके आधार पर exploration संभव बनाता है। अधिक जानकारी के लिए V2 roadmap देखें
  • Claude जैसे tools को browser automation खुलकर इस्तेमाल करने देना हो, तो सिर्फ specific URLs को allow करने वाला browser lock feature चाहिए। जानना चाहता हूँ कि क्या यह roadmap में है

    • अगर आप Claude Code इस्तेमाल कर रहे हैं, तो browser_navigate hook से इसे आसानी से control किया जा सकता है। whitelist के लिए script 5 मिनट में सेट की जा सकती है। अधिक जटिल policies को cupcake और Rego से लागू किया जा सकता है। संदर्भ: Claude Code Hooks docs
    • मैं Claude के “blast radius” risk को अच्छी तरह समझता हूँ। मैं भी Vibium development UTM VM के अंदर करता हूँ। network rules जोड़ने पर भी विचार कर रहा हूँ। V2 roadmap पहले ही पोस्ट कर चुका हूँ, और लगता है V3 draft भी तैयार करना चाहिए
    • सबसे पक्का तरीका है firewall वाले container के अंदर सिर्फ छोटी whitelist को allow करना
  • मैं Skyvern जैसी कोई चीज़ बनाने की सोच रहा था, लेकिन जानना चाहता हूँ कि Selenium extension की जगह नया Vibium बनाने का कारण क्या था

    • इसका कुछ स्पष्टीकरण Vibium v1 announcement में दिया गया है। Selenium और Playwright AI-first design नहीं थे। Vibium को शुरू से AI-आधारित “vibe coding” के लिए optimized architecture के साथ डिज़ाइन किया गया है
  • जानना चाहता हूँ कि browser और LLM के बीच context bloat की समस्या को कैसे handle किया जा रहा है। यह भी पूछा गया कि क्या Playwright की तरह tracing files expose करने या JS execution allow करने की योजना है

    • browser exposure को धीरे-धीरे बढ़ाया जाएगा। context bloat का अभी तक कहीं भी पूर्ण समाधान नहीं है। लंबी अवधि में “MCP का उपयोग न करने वाली दिशा” ही जवाब हो सकती है। फिलहाल Vibium MCP server और JS/TS API दोनों प्रदान करता है। JS/TS API में arbitrary JS execution संभव है। agent अगर Vibium scripts लिखकर उन्हें चलाए, तो यह context bloat कम करने का एक workaround हो सकता है