1. 项目定位与用途
Vibium 是一个面向 AI 代理和开发者的浏览器自动化平台,基于 W3C WebDriver BiDi 标准构建。它提供统一的浏览器控制能力,使 AI 代理能够像人类一样导航网页、填写表单、点击按钮和捕获页面内容。项目设计为即装即用模式,自动处理浏览器下载和配置,让用户专注于自动化逻辑而非环境搭建。其核心定位是成为 AI 时代浏览器自动化的基础设施,为智能体提供可靠、标准的网页交互能力,同时支持人类开发者通过 CLI 或客户端库进行脚本化操作。
Vibium 是基于 W3C WebDriver BiDi 标准的 AI 原生浏览器自动化工具,提供零配置、标准化的浏览器控制能力。支持 CLI、MCP 服务器及 JavaScript、Python、Java 客户端,适用于 AI 代理任务、自动化测试和网页抓取。本页包含完整安装与使用指南。
Vibium 是一个基于 W3C WebDriver BiDi 标准的 AI 原生浏览器自动化工具,提供零配置、标准化的浏览器控制能力,支持 CLI、MCP 服务器及多语言客户端库。
Vibium 是一个面向 AI 代理和开发者的浏览器自动化平台,基于 W3C WebDriver BiDi 标准构建。它提供统一的浏览器控制能力,使 AI 代理能够像人类一样导航网页、填写表单、点击按钮和捕获页面内容。项目设计为即装即用模式,自动处理浏览器下载和配置,让用户专注于自动化逻辑而非环境搭建。其核心定位是成为 AI 时代浏览器自动化的基础设施,为智能体提供可靠、标准的网页交互能力,同时支持人类开发者通过 CLI 或客户端库进行脚本化操作。
Vibium 系统性地解决了浏览器自动化的三大痛点:一是配置繁琐,传统工具需手动安装浏览器驱动并管理版本兼容性,Vibium 实现零配置,自动下载和管理浏览器;二是协议封闭,如 Chrome DevTools Protocol 由单一厂商控制,Vibium 采用开放的 W3C WebDriver BiDi 标准,确保跨浏览器兼容性和长期可持续性;三是操作不可靠,动态网页中的元素加载、动画和覆盖层易导致点击失败,Vibium 通过服务端 actionability 检查机制(验证元素可见、稳定、可交互等条件)显著提升操作可靠性。
Vibium 适用于多种浏览器自动化场景:AI 代理执行在线任务(如信息检索、表单提交、多步骤流程);自动化测试与质量保证(网页功能验证、回归测试);网页内容抓取与数据提取(结合截图、PDF 生成);会话录制与回放(用于调试或演示);以及作为 MCP 服务器集成到 Claude Code、Gemini 等 AI 编程助手,增强其网页操作能力。其多语言客户端(JS/Python/Java)也支持将自动化能力嵌入现有应用或服务中,满足从快速脚本到复杂集成的不同需求。
根据仓库信息,Vibium 提供多种安装途径:全局 CLI 安装使用 `npm install -g vibium`,这会同时安装二进制文件并自动下载 Chrome;作为 AI 代理技能安装使用 `npx skills add https://github.com/VibiumDev/vibium --skill vibe-check`,将技能添加到项目 `.agents/skills/vibium` 目录;语言客户端安装分别为 `npm install vibium`(JavaScript/TypeScript)、`pip install vibium`(Python),Java 依赖通过 Maven 或 Gradle 配置(版本 26.3.18);MCP 服务器设置使用 `claude mcp add vibium -- npx -y vibium mcp` 或 `gemini mcp add vibium npx -y vibium mcp`。所有安装方式均无需手动浏览器配置。
Vibium 的核心使用流程为导航、映射、交互三步:`vibium go <URL>` 导航到目标页面,`vibium map` 扫描页面并标记可交互元素(如 @e1、@e2),然后使用 `vibium click @e1`、`vibium fill @e2 "text"` 等命令操作。元素查找支持语义化方式:`vibium find text "Sign In"` 按可见文本、`vibium find role button` 按 ARIA 角色。其他常用操作包括截图(`vibium screenshot -o file.png`)、获取文本(`vibium text`)、等待条件(`vibium wait ".selector"`)、表单处理(`vibium select`、`vibium check`)和会话录制(`vibium record start/stop`)。完整命令参考 SKILL.md 文件。
Vibium 的技术实现具有几个关键特点:基于 W3C WebDriver BiDi 标准,使用 WebSocket 实现浏览器双向通信,确保跨浏览器兼容性;客户端与二进制进程通过 stdin/stdout 交换 NDJSON 格式消息,支持 vibium: 扩展命令;服务端实施 actionability 检查,在操作前验证元素状态(可见、稳定、接收事件、启用、可编辑),避免 flaky 操作;JavaScript 客户端采用 worker 线程与 SyncBridge 架构,利用 SharedArrayBuffer 实现同步 API 同时保持异步能力;提供数据收集器机制,允许客户端注册以捕获网络请求/响应的原始 body 内容。整体为单二进制文件设计,无运行时依赖,体积约 10MB。
Vibium 基于开放的 W3C WebDriver BiDi 标准,而非厂商专有协议,确保跨浏览器兼容性和长期可持续性。它提供零配置体验(自动下载浏览器),并内置服务端 actionability 检查机制提升操作可靠性。同时支持 CLI、MCP 服务器和多语言客户端,更贴合 AI 代理工作流。
使用 open agent skills CLI:`npx skills add https://github.com/VibiumDev/vibium --skill vibe-check`。这会将 Vibium 技能安装到项目的 `.agents/skills/vibium` 目录中,无需全局安装。安装后,AI 代理即可通过 `vibium` 命令集使用完整的浏览器自动化能力。
Vibium 基于 WebDriver BiDi 标准,理论上支持任何实现该标准的浏览器。当前版本自动下载和管理 Chrome 浏览器,无需用户手动配置。项目设计为标准化优先,未来可扩展至其他兼容浏览器。
在执行点击、输入等操作前,Vibium 服务端会验证元素是否满足条件:可见(非隐藏)、稳定(位置 50ms 内未变)、接收事件(元素位于点击点)、启用(非 disabled 状态)、可编辑(针对输入操作)。不同操作使用不同的检查组合,确保动作可靠执行,避免因页面动态变化导致的失败。
数据收集器是 WebDriver BiDi 的 opt-in 机制,用于捕获网络请求和响应的 body 内容。客户端可通过 Vibium API 注册数据收集器,当网络事件发生时,浏览器会将请求/响应 body 克隆到缓冲区,Vibium 再将数据分发给订阅的客户端。这适用于需要读取 POST 载荷或响应内容的调试场景。