1. 项目定位与用途
agent-browser 是一个专为 AI 代理设计的浏览器自动化命令行工具,核心定位是提供轻量、快速的浏览器控制能力。它通过原生 Rust 实现并编译为二进制文件,直接使用 Chrome DevTools Protocol 与浏览器通信,避免了 Node.js 运行时的开销。主要用途包括:为 AI 代理提供网页操作接口、执行自动化测试、进行数据抓取、录制和回放用户交互等。工具输出带引用的可访问性快照,便于 AI 模型解析页面结构并执行精确操作。
vercel-labs/agent-browser:agent-browser 是专为 AI 代理设计的轻量级浏览器自动化 CLI 工具,基于 Rust 实现并通过 Chrome DevTools本页整理它解决什么问题、适用场景、安装方式和使用方法。
agent-browser 是专为 AI 代理设计的轻量级浏览器自动化 CLI 工具,基于 Rust 实现并通过 Chrome DevTools Protocol 直接控制浏览器,提供快速、高效的原生二进制执行环境,无需 Playwright 等重型依赖。
agent-browser 是一个专为 AI 代理设计的浏览器自动化命令行工具,核心定位是提供轻量、快速的浏览器控制能力。它通过原生 Rust 实现并编译为二进制文件,直接使用 Chrome DevTools Protocol 与浏览器通信,避免了 Node.js 运行时的开销。主要用途包括:为 AI 代理提供网页操作接口、执行自动化测试、进行数据抓取、录制和回放用户交互等。工具输出带引用的可访问性快照,便于 AI 模型解析页面结构并执行精确操作。
agent-browser 解决了 AI 代理在浏览器自动化场景中的几个核心问题:一是传统方案(如 Playwright、Puppeteer)依赖 Node.js 环境且体积较大,不适合资源受限的部署环境;二是现有工具的操作反馈(如选择器)对 AI 模型不够友好,需要更结构化的页面表示;三是需要更快的启动速度和更低的内存占用以适应高并发代理任务。通过 Rust 原生实现、CDP 直连和可访问性树快照,agent-browser 提供了更高效、更 AI 友好的自动化方案。
agent-browser 适用于以下场景:AI 代理自动浏览网页并执行表单填写、点击、搜索等交互任务;网页功能与 UI 的自动化测试;结构化数据抓取与页面内容监控;用户行为录制与回放;需要快速启动、低资源占用的浏览器自动化任务。工具特别适合需要与 AI 模型(如大语言模型)集成的场景,因其快照输出格式便于模型解析和决策。不适用于需要跨浏览器兼容性测试(仅支持 Chrome 系浏览器)或需要浏览器扩展支持的场景。
agent-browser 提供多种安装方式:全局 npm 安装(推荐):npm install -g agent-browser;本地项目依赖:npm install agent-browser;Homebrew(macOS):brew install agent-browser;Cargo(Rust):cargo install agent-browser;从源码编译:git clone 仓库后执行 pnpm install、pnpm build、pnpm build:native 和 pnpm link --global。Linux 用户需额外运行 agent-browser install --with-deps 安装系统依赖。首次使用任何安装方式后,都需要运行 agent-browser install 从 Chrome for Testing 下载浏览器二进制文件。
基本使用流程:agent-browser open <url> 导航到目标页面;agent-browser snapshot 获取带引用的可访问性树;agent-browser click @e2 通过快照中的引用点击元素;agent-browser fill @e3 "text" 填充表单;agent-browser get text @e1 获取元素文本;agent-browser screenshot page.png 截图;agent-browser close 关闭浏览器。除引用外,也支持传统 CSS 选择器(如 agent-browser click "#submit")和基于角色的选择器(如 agent-browser find role button click --name "Submit")。完整命令列表包括导航、交互、键盘、滚动、拖拽、上传、PDF 生成、JavaScript 执行、CDP 连接和流式传输等。
agent-browser 采用 Rust 编写核心逻辑,确保高性能和内存安全。架构上分为 CLI 前端(Rust 二进制)和浏览器控制后端,通过 Chrome DevTools Protocol 通信。关键模块包括:命令解析(cli/src/commands.rs)、浏览器操作(cli/src/native/actions.rs)、CDP 协议集成(cli/src/native/cdp/)、元素识别(cli/src/native/element.rs)、快照生成(cli/src/native/snapshot.rs)、截图(cli/src/native/screenshot.rs)和流式传输(cli/src/native/stream/)。构建系统使用 Cargo 编译 Rust 代码,Docker 处理跨平台构建,Node.js 脚本协调版本同步和发布。文档站点基于 Next.js,使用 MDX、Tailwind CSS 和 Shadcn UI 构建。
agent-browser 是原生 Rust CLI 工具,通过 CDP 直接控制浏览器,无需 Node.js 运行时,体积更小、启动更快,专为 AI 代理场景优化。而 Playwright/Puppeteer 是 Node.js 库,依赖较重,更适合复杂测试框架集成。
支持多种安装方式:npm install -g agent-browser(推荐)、brew install agent-browser、cargo install agent-browser 或从源码编译。首次使用需运行 agent-browser install 自动下载 Chrome for Testing 浏览器二进制文件。Linux 用户可能需要额外依赖:agent-browser install --with-deps。
支持完整操作集:页面导航(open)、元素点击(click)、表单填充(fill)、键盘输入(type/keyboard)、悬停(hover)、滚动(scroll)、拖拽(drag)、文件上传(upload)、截图(screenshot)、PDF 导出(pdf)、可访问性快照(snapshot)、JavaScript 执行(eval)、CDP 连接(connect)以及运行时流式传输(stream)。
快照生成带引用的可访问性树(Accessibility Tree),每个可交互元素都有唯一 @ 引用(如 @e1、@e2)。这种格式特别适合 AI 模型解析页面结构并执行精确操作,是 agent-browser 为 AI 代理场景优化的核心特性。也可使用传统 CSS 选择器。
是的,支持 Linux、macOS 和 Windows 平台。通过 npm、Homebrew、Cargo 安装的版本已预编译对应平台二进制文件。从源码编译时,可使用 pnpm build:linux、pnpm build:macos、pnpm build:windows 或 pnpm build:all-platforms 脚本进行跨平台构建,Docker 用于 Linux 和 Windows 的编译环境。