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