
browser-control
让 AI 代理用 Rust 快速操控真实浏览器
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 3157
技术标签
使用教程
⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- 已安装 Rust 与 Cargo 工具链(用于安装 crates.io 上的 CLI)
- 本机已安装 Google Chrome 浏览器
- 可执行 shell 命令的终端环境
- 能访问本地 CDP 端点(默认 http://127.0.0.1:9222)
安装与启动步骤
-
1安装 CLI
README 的 Installation 一节为空,此命令依据徽章中的 crates.io 包名 browser-control-cli 推断,安装后可得到 browser-control 命令。
cargo install browser-control-cli -
2初始化工作区
在项目目录下创建 .browser-control/ 工作区,后续命令的运行时状态都放在这里。
browser-control init -
3启动浏览器
启动 Chrome 并连接,参数为要打开的页面地址。已有浏览器在监听 CDP 时可跳过本步。
browser-control launch https://example.com -
4设置 CDP 端点
导出 CDP HTTP 端点环境变量,供后续 snapshot、click 等命令连接浏览器使用。
export BROWSER_CONTROL_CDP_URL=http://127.0.0.1:9222 -
5环境自检
打印 endpoint、browser、pid、daemon、workspace 信息,用于确认浏览器与守护进程是否就绪。
browser-control doctor -
6获取页面快照
返回页面中每个可交互元素的编号引用,形如 @e1 <input#search>、@e2 <a "Get started">。
browser-control snapshot -
7点击元素
用快照返回的引用直接操作页面元素,例如点击 @e1 对应的元素。
browser-control click @e1 -
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/<id> |
如何确认成功
执行 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/<id> 即可复用现有浏览器。
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
下一篇:OpenOutreach
同类项目推荐
coypu
开源
用自然语言写 .NET 浏览器自动化,少写等待多干活
Intuitive, robust browser automation for .Net
jacobo-workflows
开源
导入即用,快速搭建 WhatsApp 和语音 AI 客服工作流
7 production n8n workflows from Jacobo, a multi-agent AI system (WhatsApp + Voice). ···
rssh
开源
手机电脑都能连服务器,AI 帮你敲命令传文件
An SSH tool dedicated to addressing all pain points · (macOS/Windows/Linux/Android/···
CUAWright
开源
让 AI 像人一样连续操作浏览器和桌面,搞定长链路任务
A simple SWE-style browser+desktop agent framework that achieves SOTA results on lon···
ppt_presenter
开源
把PPT一键变成带语音讲解的视频
Convert ppt to video with audio track, using text to speech synthesis
Super-Productivity-MCP
开源
在 AI 对话里直接管任务,不用切工具
MCP server that connects AI assistants to Super Productivity — manage tasks, projec···
mobile-pc-control-server
开源
手机浏览器秒变电脑遥控器,键鼠、OCR、语音全搞定
Smartphone web server for remote control of Windows keyboard, mouse, and ocr / pers···
argo-events
开源
让K8s上的任何事件自动触发工作流,告别手动编排
Event-driven Automation Framework for Kubernetes
wexflow
开源
拖拽配置工作流,让重复任务自动跑起来
Workflow Automation Engine