14 poin oleh GN⁺ 2025-12-25 | 1 komentar | Bagikan ke WhatsApp
  • Jason Huggins, yang mengembangkan Selenium 21 tahun lalu, kini membangunnya kembali dengan mempertimbangkan agen AI dalam proyek open source otomatisasi browser ini
  • Vibium adalah infrastruktur otomatisasi browser untuk agen AI, yang mengelola siklus hidup browser dan protokol WebDriver BiDi dalam satu biner tunggal serta mengekspos server MCP
  • Clicker, biner Go tunggal berukuran 10MB, secara otomatis mendeteksi dan menjalankan Chrome, lalu memungkinkan model AI atau klien JS mengendalikan browser melalui proxy BiDi dan server MCP
  • Klien JS/TS mendukung API sinkron maupun asinkron, dan dapat langsung digunakan setelah instalasi dengan npm install vibium
  • Agen LLM seperti Claude Code dapat menambahkan kemampuan kontrol browser hanya dengan satu perintah: claude mcp add vibium
  • Cocok untuk otomatisasi AI maupun otomatisasi pengujian, serta menyediakan lingkungan kontrol browser tanpa konfigurasi

Ikhtisar Vibium

  • Vibium adalah infrastruktur otomatisasi browser untuk agen AI dan pengguna manusia
    • Menggabungkan manajemen browser, proxy WebDriver BiDi, dan fungsi server MCP dalam satu biner Go
    • Kompatibel dengan berbagai model LLM seperti Claude Code, Codex, Gemini, dan lainnya
  • Dirancang untuk langsung berjalan tanpa proses instalasi yang rumit, sehingga dapat dimanfaatkan dalam lingkungan agen AI maupun otomatisasi pengujian

Komponen

  • Clicker: biner Go sekitar 10MB yang menjalankan fungsi berikut
    • Deteksi otomatis Chrome dan menjalankannya dalam mode BiDi
    • Meneruskan perintah melalui server proxy BiDi berbasis WebSocket
    • Berkomunikasi dengan agen LLM melalui server MCP
    • Menyediakan fitur Auto-Wait untuk menunggu elemen sebelum berinteraksi
    • Menyediakan fitur pengambilan screenshot
  • Klien JS/TS: tersedia sebagai paket npm dan mendukung API sinkron (browserSync) maupun asinkron (browser)
    • Mengendalikan browser dengan perintah sederhana seperti vibe.go(), vibe.find(), vibe.click(), vibe.quit()
    • Mencakup fungsi otomatisasi dasar seperti menyimpan screenshot, mencari elemen, dan klik
    Iklan

Integrasi agen AI

  • Perintah untuk menambahkan kemampuan kontrol browser ke Claude Code:
    claude mcp add vibium -- npx -y vibium  
    
    • Chrome akan diunduh secara otomatis sehingga tidak memerlukan konfigurasi tambahan
  • Daftar perintah yang disediakan
    • browser_launch: menjalankan browser
    • browser_navigate: berpindah ke URL
    • browser_find: mencari elemen dengan selektor CSS
    • browser_click: mengklik elemen
    • browser_type: memasukkan teks
    • browser_screenshot: menangkap viewport
    • browser_quit: menutup browser
    Iklan

Instalasi untuk pengguna manusia

  • Instalasi otomatis dengan perintah npm install vibium
    • Mengunduh ke cache biner Clicker, Chrome for Testing, dan chromedriver sesuai platform
    • Linux: ~/.cache/vibium/, macOS: ~/Library/Caches/vibium/, Windows: %LOCALAPPDATA%\vibium\
  • Unduhan browser dapat dilewati dengan variabel lingkungan VIBIUM_SKIP_BROWSER_DOWNLOAD=1

Dukungan platform

  • Mendukung Linux x64, macOS (Intel/Apple Silicon), dan Windows x64

Mulai cepat

  • Contoh penggunaan library
    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();  
    
    Iklan
  • Contoh integrasi Claude Code
    • Setelah instalasi, browser dapat dikendalikan dengan perintah seperti “Go to example.com and click the first link”

Roadmap

  • V1: berfokus pada kontrol browser melalui MCP dan klien JS
  • Rencana V2
    • Klien Python dan Java
    • Cortex (lapisan memori dan navigasi)
    • Retina (fitur ekstensi perekaman)
    • Perekaman video, fitur pencarian elemen berbasis AI

1 komentar

 
GN⁺ 2025-12-25
Komentar Hacker News
  • Berkat Selenium, karier saya mengalami perubahan besar. Saya benar-benar sangat berterima kasih
    Sekarang saya memakai Playwright, tetapi saya penasaran dengan pendekatan baru Vibium

    • Playwright telah membuat kemajuan besar lewat kontrol browser cepat berbasis WebSockets+JSON. Vibium menggunakan standar W3C WebDriver BiDi sebagai padanannya. Tujuannya adalah memberikan pengalaman pengembangan keren ala Playwright yang terasa seperti “cukup beberapa klik saja”
    • Jika Anda sudah memakai Playwright, saya merekomendasikan mencoba Stagehand. API-nya mirip, tetapi dirancang untuk otomatisasi, bukan untuk pengujian
  • Saya penasaran apakah Vibium mendukung injeksi JS, modifikasi DOM, serta pemantauan dan perubahan request jaringan. Saat memakai Playwright, saya hampir selalu menggunakan fitur-fitur ini

    • Belum didukung untuk saat ini, tetapi sudah masuk roadmap. Tujuannya adalah mengambil keunggulan Playwright lalu memperluasnya lebih jauh
    • Secara pribadi, pemantauan request jaringan saja sudah cukup bagi saya. Aplikasi Flutter + Amazon AppSync sangat sulit untuk di-debug
  • Menarik. Baru-baru ini saya memakai dev-browser dan mendapatkan penghematan konteks serta peningkatan kecepatan. Saya pasti akan mencoba Vibium juga

    • Vibium juga berencana mendukung ekstensibilitas berbasis skill seperti ini
  • Sebagai orang yang mencari nafkah lewat otomatisasi UI selama lebih dari 10 tahun, saya berterima kasih kepada Selenium. Sekarang Playwright pada dasarnya adalah standar de facto, tetapi Selenium adalah browser driver yang asli. Saya penasaran bagaimana Vibium berbeda dari Playwright

    • Playwright unggul dalam hal “kecepatan”, tetapi Selenium masih punya ekosistem yang mengakar kuat di seluruh dunia. Vibium berencana membuat jembatan agar pengguna Selenium bisa beralih secara alami ke agent coding generasi masa depan
  • Saya adalah orang yang dulu membantu perluasan pengujian Atlassian dengan Selenium. Saya ingat pernah berbincang sekitar 13~15 tahun lalu. Senang melihat Anda masih aktif di bidang ini

  • Saya penasaran apakah dengan memindahkan skrip Selenium lama ke Vibium, kita bisa memanfaatkan fitur self-heal saat pengujian gagal

    • Kalau dianalogikan, saat ini saya sedang membangun resor di pulau. Jembatannya (jalur migrasi) akan dibuat nanti. Kalau resornya menarik, akan ada alasan untuk membangun jembatannya. Saat ini saya fokus membangun resornya, tetapi saya juga benar-benar ingin membuat jembatannya
  • Saya penasaran, jika agen mengambil tangkapan layar dengan browser_screenshot lalu ingin mengklik sesuatu, bagaimana ia menemukan CSS selector-nya. Hanya dari screenshot saja, sulit mengetahui tipe elemennya

    • Server MCP saat ini masih kurang dalam kemampuan penjelajahan otonom penuh. Di fork saya, saya menambahkan alat browser_evaluate untuk mengambil pohon aksesibilitas dengan JS dan memungkinkan navigasi berdasarkan itu. Untuk detailnya, silakan lihat roadmap V2
  • Agar alat seperti Claude bisa bebas memakai otomatisasi browser, diperlukan fitur penguncian browser yang hanya mengizinkan URL tertentu. Saya penasaran apakah fitur seperti ini ada di roadmap

    • Jika memakai Claude Code, ini bisa dikendalikan dengan mudah lewat hook browser_navigate. Skrip whitelist bisa disiapkan dalam 5 menit. Kebijakan yang lebih kompleks bisa diimplementasikan dengan cupcake dan Rego. Referensi: dokumentasi Claude Code Hooks
    • Saya sangat paham risiko “blast radius” Claude. Saya juga mengembangkan Vibium di dalam UTM VM. Saya juga sedang mempertimbangkan penambahan aturan jaringan. Saya sudah mengunggah roadmap V2, dan sepertinya saya juga harus menyiapkan draf V3
    • Cara yang paling pasti adalah mengizinkan hanya whitelist singkat di dalam container dengan firewall
  • Saya sempat ingin membuat sesuatu yang mirip Skyvern, tetapi saya penasaran mengapa Anda membuat Vibium baru alih-alih perluasan Selenium

    • Sebagiannya sudah saya jelaskan di pengumuman Vibium v1. Selenium maupun Playwright tidak dirancang dengan AI sebagai pusatnya. Vibium sejak awal dirancang dengan struktur yang dioptimalkan untuk “vibe coding” berbasis AI
  • Saya penasaran bagaimana masalah beban konteks (context bloat) antara browser dan LLM ditangani. Mereka juga bertanya apakah ada rencana untuk mengekspos file tracing seperti Playwright atau mengizinkan eksekusi JS

    • Eksposur browser akan diperluas secara bertahap. Beban konteks masih belum benar-benar terpecahkan di mana pun. Dalam jangka panjang, jawabannya mungkin justru “bergerak ke arah tanpa MCP”. Saat ini Vibium menyediakan dua hal: server MCP dan API JS/TS. Di API JS/TS, eksekusi JS arbitrer dimungkinkan. Pendekatan di mana agen menulis lalu menjalankan skrip Vibium bisa menjadi jalan memutar untuk mengurangi beban konteks