Browser Use 解读:让 AI Agent 像人类一样操作浏览器的开源框架
浏览器自动化是开发者的老话题了:Selenium 配置复杂、Puppeteer 需要手写选择器、传统 RPA 工具只能处理固定流程。一旦页面结构变了,脚本就崩了。
Browser Use 试图用 AI Agent 的思路重新解决这个问题。它让 AI 像人类一样使用浏览器——打开页面、点击按钮、输入文字、填写表单,你只需要用自然语言描述任务,它就能自动完成。GitHub 上已超过 11 万 Star,MIT 协议开源,由来自苏黎世和旧金山的两位开发者 Magnus Müller 和 Gregor Žunič 创建。
项目地址:https://github.com/browser-use/browser-use
一、它是什么
Browser Use 的核心定位是:一个让 AI Agent 控制网页浏览器的开源框架。
与传统浏览器自动化工具不同,Browser Use 不需要你写 CSS 选择器或 XPath。它把当前页面的截图和 DOM 结构发给大语言模型,由模型决定下一步该点击哪里、输入什么。这意味着它可以处理动态页面、弹窗、验证码(配合云版)等传统工具难以应对的场景。
典型的使用场景包括:
- 填写表单:"用我的简历和信息填写这份求职申请表"
- 数据提取:"提取我的粉丝的结构化数据,导出为 CSV"
- 信息检索:"比较这三台笔记本电脑的价格,给我一个表格"
- 内容发布:"把这个视频上传到 YouTube"
- 网页监控:"每天检查这个页面的价格变化"
二、两种使用方式
Browser Use 提供了两种完全不同的使用方式,适用于不同场景。
1. CLI / Skill 模式:给 AI Coding Agent 用
如果你已经在使用 Claude Code、Codex、Cursor、Hermes、OpenClaw 等 AI Coding Agent,可以直接让 Agent 安装 Browser Use Skill,然后用自然语言下达浏览器任务。
安装提示词:
Install or upgrade browser-use to the latest stable version with uv using Python 3.12,
run `browser-use skill install` to register the skill, and connect it to my browser.
安装完成后,直接告诉 Agent 你想做什么,比如"上传这个视频到 YouTube"或"比较这三台笔记本的价格"。Agent 会自动调用 Browser Use 控制浏览器完成任务。
这种方式适合一次性任务:你不需要写代码,只需要描述需求。
2. Python 库模式:在自己的代码中自动化
如果你需要在自己的产品中嵌入浏览器自动化能力,或者需要批量、定时、并行执行任务,可以使用 Python 库。
安装(Python >= 3.11):
uv add browser-use
# 或:pip install browser-use
配置 API Key(.env 文件):
BROWSER_USE_API_KEY=your-key
# 也可以用其他提供商:
# GOOGLE_API_KEY=your-key
# ANTHROPIC_API_KEY=your-key
第一个 Agent:
import asyncio
from browser_use import Agent, ChatBrowserUse
async def main():
agent = Agent(
task="Find the number of stars of the browser-use repo",
llm=ChatBrowserUse(model='openai/gpt-5.5'),
# 也可以用 Browser Use 优化模型:
# llm=ChatBrowserUse(model='bu-2-0-mini-preview'),
# 或其他提供商:
# llm=ChatOpenAI(model='gpt-5.5'),
# llm=ChatAnthropic(model='claude-opus-4-8'),
)
history = await agent.run()
if __name__ == "__main__":
asyncio.run(main())
这种方式适合可重复的自动化任务:定时爬虫、数据监控、QA 测试、产品嵌入等。
选择建议:一次性任务通过 Agent 完成 → 用 CLI;在代码中做可重复自动化 → 用 Python 库。
三、核心特性
1. 多 LLM 支持
Browser Use 不绑定特定模型。ChatBrowserUse 接受带提供商前缀的模型 ID,一个 BROWSER_USE_API_KEY 就能访问所有模型,不需要分别配置 OpenAI、Anthropic、Google 的密钥:
llm = ChatBrowserUse(model='anthropic/claude-sonnet-4-6')
# 或 'openai/gpt-5.5'、'google/gemini-3-pro'
官方推荐使用 bu-* 系列模型(Browser Use 专门为浏览器自动化优化的模型),平均比其他模型快 3-5 倍,同时保持 SOTA 精度。也支持通过 Ollama 运行本地模型。
2. 自定义工具
可以通过 Tools 类扩展 Agent 的能力,添加自定义函数:
from browser_use import Tools
tools = Tools()
@tools.action(description='Description of what this tool does.')
def custom_tool(param: str) -> str:
return f"Result: {param}"
agent = Agent(
task="Your task",
llm=llm,
browser=browser,
tools=tools,
)
这意味着你可以把浏览器自动化与内部 API、数据库、业务逻辑结合起来。
3. 认证管理
Browser Use 提供了多种认证方式:
- 真实浏览器配置文件:复用你已有的 Chrome 配置文件和保存的登录态
- 临时账户:配合 AgentMail 使用临时邮箱注册账户
- 远程浏览器配置同步:通过
profile-use工具把本地认证配置同步到远程浏览器
这解决了浏览器自动化中最头疼的问题——登录态管理。
4. MCP 支持
Browser Use 支持 MCP(Model Context Protocol),可以与其他 MCP 工具和服务集成,扩展 Agent 的能力边界。
5. 隐身与反检测
云版提供隐身浏览器、代理轮换、CAPTCHA 自动解决等能力,适合需要大规模爬取或避免被检测的场景。开源版可以配合云浏览器使用这些能力。
四、开源版 vs 云版
| 维度 | 开源版 | 云版 |
|---|---|---|
| 价格 | 免费 | 付费(有免费额度) |
| 运行位置 | 本地机器 | Browser Use 云端 |
| Agent 能力 | 基础 | 更强大(复杂任务表现更好) |
| 隐身浏览器 | 需自行配置 | 内置 |
| 代理轮换 | 需自行配置 | 内置 |
| CAPTCHA 解决 | 不支持 | 内置 |
| 集成数量 | 自定义 | 1000+(Gmail、Slack、Notion 等) |
| 持久化文件系统 | 本地 | 云端 |
| 可重运行脚本 | 需自行实现 | 内置(即使网站变化也能获取实时数据) |
云版 API 调用示例:
curl -X POST https://api.browser-use.com/api/v4/runs \
-H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"task": "Your task"}'
官方建议:简单任务用开源版,复杂任务和生产环境用云版。
五、基准测试表现
Browser Use 在两个权威基准测试中表现突出:
- BU Bench V1:100 个真实世界浏览器任务,全开源,不同模型的成功率有详细对比
- Odysseys 排行榜:200 个长周期网页任务,Browser Use 以 87.4% 的平均得分排名第一,超过 OpenAI、Anthropic、Google、Microsoft 的 computer-use agents
这意味着 Browser Use 不是一个玩具项目,而是在真实网页任务中经过验证的生产级工具。
六、与 Selenium / Puppeteer / Playwright 的区别
| 维度 | Selenium / Puppeteer / Playwright | Browser Use |
|---|---|---|
| 操作方式 | 写代码(CSS 选择器、XPath) | 自然语言描述任务 |
| 页面变化 | 脚本崩溃,需手动更新 | AI 自动适应页面变化 |
| 动态内容 | 需手动处理等待、iframe | AI 自动识别和处理 |
| 学习成本 | 高(需学习 API 和选择器) | 低(会说话就行) |
| 确定性 | 高(每次执行相同) | 较低(AI 决策有随机性) |
| 成本 | 低(本地运行) | 中(需 LLM API 调用) |
| 适合场景 | 固定流程、回归测试 | 开放式任务、动态页面、一次性操作 |
简单说,传统工具是"写死流程",Browser Use 是"让 AI 看页面自己决定下一步"。两者不是替代关系,而是适用于不同场景:固定的回归测试用 Playwright,开放式的网页任务用 Browser Use。
七、适用场景与局限
适用场景:
- 数据采集:从动态网站提取结构化数据,导出 CSV/JSON
- 表单填写:自动填写求职申请、注册账户、提交报表
- 内容发布:自动上传视频、发布文章、跨平台同步
- 价格监控:定时检查商品价格、库存变化
- QA 测试:模拟用户操作进行端到端测试
- 竞品分析:自动收集竞品信息、比较价格和功能
- 个人助理:帮你查邮件、订机票、管理日程
局限:
- 成本:每次任务都需要调用 LLM API,长期运行成本不低
- 确定性:AI 决策有随机性,相同任务可能得到不同结果,不适合需要 100% 确定性的场景
- 速度:比传统自动化工具慢(需要模型推理时间)
- 复杂认证:银行、双因素认证等场景仍需人工介入
- 法律合规:自动化操作网站需遵守目标网站的服务条款和 robots.txt
八、总结
Browser Use 代表了浏览器自动化的一个新方向:从"写代码控制浏览器"到"用自然语言让 AI 控制浏览器"。 它把大语言模型的理解能力与浏览器的操作能力结合起来,让非技术用户也能完成复杂的网页自动化任务。
对于开发者来说,Browser Use 提供了一个强大的工具:不需要再为每个网站写爬虫,不需要再维护脆弱的选择器,只需要描述任务,AI 就能帮你完成。对于企业来说,云版提供了可扩展、隐身、集成丰富的生产级解决方案。
如果你经常需要做网页自动化,或者想给你的 AI Coding Agent 增加浏览器操作能力,不妨试试 Browser Use。
项目地址:https://github.com/browser-use/browser-use