browser-control

让 AI 代理用 Rust 快速操控真实浏览器

browser-control 是一个用 Rust 编写的轻量级命令行工具,通过 Chrome DevTools Protocol 驱动真实浏览器,专为编码代理(coding agents)设计。它解决了 AI 代理需要操作浏览器但缺乏轻量、快速控制手段的问题,提供比 Playwright 等重型框架更简洁的替代方案。核心能力包括:启动和管理浏览器实例、执行页面导航、点击、输入、截图等操作,并支持与 LLM 代理无缝集成。其体积小、启动快,适合在自动化工作流中作为浏览器控制层。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3146
维护状态 较活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队keon
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Rust
技术栈/模型agent,browser-automation,llm,rust
GitHub 星标★ 3146
30天Star增速
HF 下载量
上线时间2016-12-21 00:00:00
最近更新2026-09-19 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 10 分钟 部署方式:命令行工具 8 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • 已安装 Rust 与 Cargo 工具链(用于安装 crates.io 上的 CLI)
  • 本机已安装 Google Chrome 浏览器
  • 可执行 shell 命令的终端环境
  • 能访问本地 CDP 端点(默认 http://127.0.0.1:9222)

安装与启动步骤

  1. 1安装 CLI

    README 的 Installation 一节为空,此命令依据徽章中的 crates.io 包名 browser-control-cli 推断,安装后可得到 browser-control 命令。

    cargo install browser-control-cli
  2. 2初始化工作区

    在项目目录下创建 .browser-control/ 工作区,后续命令的运行时状态都放在这里。

    browser-control init
  3. 3启动浏览器

    启动 Chrome 并连接,参数为要打开的页面地址。已有浏览器在监听 CDP 时可跳过本步。

    browser-control launch https://example.com
  4. 4设置 CDP 端点

    导出 CDP HTTP 端点环境变量,供后续 snapshot、click 等命令连接浏览器使用。

    export BROWSER_CONTROL_CDP_URL=http://127.0.0.1:9222
  5. 5环境自检

    打印 endpoint、browser、pid、daemon、workspace 信息,用于确认浏览器与守护进程是否就绪。

    browser-control doctor
  6. 6获取页面快照

    返回页面中每个可交互元素的编号引用,形如 @e1 、@e2 。

    browser-control snapshot
  7. 7点击元素

    用快照返回的引用直接操作页面元素,例如点击 @e1 对应的元素。

    browser-control click @e1
  8. 8执行 JS 与原始 CDP

    eval 在页面上下文执行 JavaScript 表达式;cdp 可直接下发任意 Chrome DevTools Protocol 命令。

    browser-control eval 'document.title'
    browser-control cdp Browser.getVersion

关键配置

配置项必填说明示例
BROWSER_CONTROL_CDP_URL是指向浏览器的 CDP HTTP 端点地址http://127.0.0.1:9222
BROWSER_CONTROL_CDP_WS否已有浏览器监听 CDP 时,指向 WebSocket 调试地址ws://127.0.0.1:9222/devtools/browser/

如何确认成功

执行 browser-control doctor,若正常输出 endpoint、browser、pid、daemon、workspace 信息,说明连接与工作区均就绪。

常见问题

Q:已经有浏览器在监听 CDP,还需要 launch 吗?

A:不需要。跳过 launch,直接导出 BROWSER_CONTROL_CDP_WS,指向 ws://127.0.0.1:9222/devtools/browser/ 即可复用现有浏览器。

Q:必须搭配 LLM 或 MCP 才能用吗?

A:不需要。README 明确写着 No LLM、No MCP requirement、No framework,它只是普通的 shell 子命令,任何能执行 shell 的 agent 都能驱动。

Q:需要常驻服务或 SDK 吗?

A:不需要。每个能力都是一个子命令,输出紧凑文本或 JSON,通过 shell 管道组合,没有需要长期托管的服务。

Q:snapshot 里的 @e1 是什么?

A:是快照为每个可交互元素生成的稳定引用,可直接作为参数传给 click 等命令,例如 browser-control click @e1。

注意事项

  • README 的 Installation 一节为空,安装命令是依据 crates.io 徽章中的包名 browser-control-cli 推断的,实际安装方式请以官方仓库为准。
  • export 设置的环境变量只在当前 shell 会话有效,需要持久化时请写入 shell 配置文件。
  • 命令输出为紧凑文本或 JSON,适合被编码代理直接解析和管道处理。
  • 除 launch 外,其余命令都依赖已设置的 CDP 端点环境变量或工作区状态。

核心亮点

  • 基于 Rust 实现,启动和运行速度极快,资源占用低
  • 通过 CDP 直连浏览器,无额外依赖,部署简单
  • 专为编码代理设计,API 简洁,易于集成到 AI 工作流

不足之处

  • 功能相对基础,复杂交互(如 iframe、多标签)支持有限
  • 文档和社区生态尚在早期,示例和教程较少

适用场景

  • AI 编码代理需要自动操作浏览器进行端到端测试
  • 轻量级网页自动化脚本,替代 Selenium 等重框架
  • 在 CI/CD 中快速执行浏览器验证任务

替代项目

Playwright、Puppeteer、chrome-remote-interface

项目介绍

browser-control 是自动化工作流领域的开源项目,由 keon 开发,2016 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(3,146)位列前 30%,在自动化工作流分类中处于中上游。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-19。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:AI编码代理需要自动操作浏览器进行端到端测试。同类可对比的替代方案包括 Playwright、Puppeteer、chrome-remote-interface。

同类项目推荐

n8n 开源

拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。

Fair-code workflow automation platform with native AI capabilities. Combine visual b···

★ 205700 2026-08-10
feishu-docx 开源

让 AI 代理轻松读写飞书文档,双向转换 Markdown

Feishu/Lark Docs、Sheet、Bitable <-> Markdown | AI Agent-friendly knowledge base exp···

★ 262 2026-08-09
robotcode 开源

让 Robot Framework 拥有现代 IDE 体验,调试、补全、运行一气呵成。

Open Source Toolkit for Robot Framework, providing Language Server Protocol support,···

★ 301 2026-08-10
puppeteer 开源

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

JavaScript API for Chrome and Firefox

★ 95609 2026-08-10