Selenium 的創始人近日推出了專為 AI Agent 打造的瀏覽器自動化基礎架構 Vibium。
該項目的核心是一個由 Go 語言編寫的單一二進制文件 Clicker。這個核心組件集成了瀏覽器生命週期管理、WebDriver BiDi 協議代理以及 MCP 服務器功能。
- 瀏覽器管理:檢測/啓動啓用雙向通信的 Chrome 瀏覽器
- 雙向代理:一種將命令路由到瀏覽器的 WebSocket 服務器
- MCP 服務器: LLM 代理的標準輸入輸出接口
- 自動等待:在交互之前輪詢元素
- 屏幕截圖:視口捕獲為 PNG 格式
項目架構如下:
┌─────────────────────────────────────────────────────────────┐
│ LLM / Agent │
│ (Claude Code, Codex, Gemini, Local Models) │
└─────────────────────────────────────────────────────────────┘
▲
│ MCP Protocol (stdio)
▼
┌─────────────────────┐
│ Vibium Clicker │
│ │
│ ┌───────────────┐ │
│ │ MCP Server │ │
│ └───────▲───────┘ │ ┌──────────────────┐
│ │ │ │ │
│ ┌───────▼───────┐ │WebSocket│ │
│ │ BiDi Proxy │ │◄───────►│ Chrome Browser │
│ └───────────────┘ │ BiDi │ │
│ │ │ │
└─────────────────────┘ └──────────────────┘
▲
│ WebSocket BiDi :9515
▼
┌─────────────────────────────────────────────────────────────┐
│ JS/TS Client │
│ npm install vibium │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Async API │ │ Sync API │ │
│ │ await vibe.go() │ │ vibe.go() │ │
│ │ │ │ │ │
│ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
通過 Vibium,諸如 Claude Code 之類的智能體只需通過簡單的 MCP 命令,即可獲得完整的瀏覽器交互能力。該架構支持自動檢測與下載瀏覽器、自動等待頁面元素,並提供同步與異步的 API 調用方式,極大地降低了 Agent 操作瀏覽器的門檻。
開源地址:https://github.com/VibiumDev/vibium