- Dự án mã nguồn mở tự động hóa trình duyệt do Jason Huggins, người đã phát triển Selenium cách đây 21 năm, xây dựng lại với AI agent trong tâm trí
- Vibium là hạ tầng tự động hóa trình duyệt cho AI agent, quản lý vòng đời trình duyệt và giao thức WebDriver BiDi bằng một binary duy nhất, đồng thời cung cấp máy chủ MCP
- Clicker, binary Go đơn khoảng 10MB, tự động phát hiện và khởi chạy Chrome, cho phép mô hình AI hoặc client JS điều khiển trình duyệt thông qua proxy BiDi và máy chủ MCP
- Client JS/TS hỗ trợ cả API đồng bộ và bất đồng bộ, có thể cài bằng
npm install vibium và dùng ngay lập tức
- Các agent LLM như Claude Code có thể thêm khả năng điều khiển trình duyệt chỉ với một lệnh
claude mcp add vibium
- Phù hợp cho cả tự động hóa AI lẫn tự động hóa kiểm thử, cung cấp môi trường điều khiển trình duyệt không cần cấu hình
Tổng quan về Vibium
- Vibium là hạ tầng tự động hóa trình duyệt dành cho AI agent và người dùng
- Tích hợp quản lý trình duyệt, proxy WebDriver BiDi và chức năng máy chủ MCP trong một binary Go duy nhất
- Tương thích với nhiều mô hình LLM như Claude Code, Codex, Gemini
- Cấu trúc hoạt động ngay không cần quy trình cài đặt, có thể dùng trong môi trường AI agent hoặc tự động hóa kiểm thử
Thành phần
- Clicker: binary Go khoảng 10MB, thực hiện các chức năng sau
- Tự động phát hiện Chrome và chạy ở chế độ BiDi
- Chuyển tiếp lệnh bằng máy chủ proxy BiDi dựa trên WebSocket
- Giao tiếp với agent LLM thông qua máy chủ MCP
- Tính năng Auto-Wait để chờ phần tử trước khi tương tác
- Cung cấp tính năng chụp ảnh màn hình
- Client JS/TS: được cung cấp dưới dạng gói npm, hỗ trợ cả API đồng bộ (
browserSync) và bất đồng bộ (browser)
- Điều khiển trình duyệt bằng các lệnh đơn giản như
vibe.go(), vibe.find(), vibe.click(), vibe.quit()
- Bao gồm các tính năng tự động hóa cơ bản như lưu ảnh chụp màn hình, tìm phần tử, nhấp chuột
Tích hợp AI agent
Cài đặt cho người dùng
- Tự động cài đặt bằng lệnh
npm install vibium
- Tải binary Clicker, Chrome for Testing và chromedriver theo từng nền tảng vào bộ nhớ đệm
- Linux:
~/.cache/vibium/, macOS: ~/Library/Caches/vibium/, Windows: %LOCALAPPDATA%\vibium\
- Có thể bỏ qua tải trình duyệt bằng biến môi trường
VIBIUM_SKIP_BROWSER_DOWNLOAD=1
Hỗ trợ nền tảng
- Hỗ trợ Linux x64, macOS (Intel/Apple Silicon), Windows x64
Bắt đầu nhanh
Lộ trình
- V1: tập trung vào điều khiển trình duyệt thông qua MCP và client JS
- Kế hoạch V2
- Client Python và Java
- Cortex (lớp bộ nhớ và điều hướng)
- Retina (tính năng mở rộng ghi hình)
- Ghi video, tính năng tìm phần tử dựa trên AI
1 bình luận
Ý kiến trên Hacker News
Selenium đã mang lại thay đổi lớn cho sự nghiệp của tôi. Thật lòng rất biết ơn
Dạo này tôi dùng Playwright, nhưng khá tò mò về cách tiếp cận mới của Vibium
Tôi muốn biết Vibium có hỗ trợ tiêm JS, chỉnh sửa DOM, theo dõi và thay đổi các request mạng hay không. Khi dùng Playwright tôi gần như luôn dùng các tính năng này
Khá thú vị. Gần đây tôi dùng dev-browser và thấy tiết kiệm context, tăng tốc độ. Tôi cũng sẽ thử Vibium
Với tư cách là người đã kiếm sống bằng tự động hóa UI hơn 10 năm, tôi biết ơn Selenium. Giờ Playwright gần như là tiêu chuẩn thực tế, nhưng Selenium mới là driver trình duyệt nguyên bản. Tôi tò mò Vibium khác Playwright ở điểm nào
Tôi là người từng giúp mở rộng phần kiểm thử của Atlassian bằng Selenium. Hình như chúng ta đã nói chuyện đâu đó 13~15 năm trước. Rất vui khi thấy bạn vẫn còn hoạt động trong lĩnh vực này
Tôi tò mò nếu chuyển các script Selenium cũ sang Vibium thì có tận dụng được tính năng tự phục hồi (self-heal) khi test fail hay không
Tôi muốn biết agent sau khi chụp màn hình bằng
browser_screenshotthì sẽ tìm CSS selector để click như thế nào. Chỉ từ screenshot thì khó biết loại phần tử là gìbrowser_evaluateđể lấy cây accessibility bằng JS và cho phép điều hướng dựa trên đó. Xem thêm trong roadmap V2Để cho các công cụ như Claude tự do dùng tự động hóa trình duyệt, cần có tính năng khóa trình duyệt chỉ cho phép một số URL nhất định. Tôi muốn biết tính năng này có trong roadmap không
browser_navigate. Một script whitelist chỉ mất 5 phút để thiết lập. Các chính sách phức tạp hơn có thể triển khai bằng cupcake và Rego. Tham khảo: tài liệu Claude Code HooksTôi cũng từng định làm thứ gì đó giống Skyvern, nhưng tôi tò mò vì sao lại không mở rộng Selenium mà lại tạo Vibium mới
Tôi muốn biết họ xử lý vấn đề phình context (context bloat) giữa trình duyệt và LLM như thế nào. Cũng hỏi liệu họ có định cho lộ file tracing như Playwright hoặc cho phép thực thi JS không