编程 Browser Use 解读:让 AI Agent 像人类一样操作浏览器的开源框架

2026-09-05 17:11:01

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 在两个权威基准测试中表现突出:

  1. BU Bench V1:100 个真实世界浏览器任务,全开源,不同模型的成功率有详细对比
  2. Odysseys 排行榜:200 个长周期网页任务,Browser Use 以 87.4% 的平均得分排名第一,超过 OpenAI、Anthropic、Google、Microsoft 的 computer-use agents

这意味着 Browser Use 不是一个玩具项目,而是在真实网页任务中经过验证的生产级工具。

六、与 Selenium / Puppeteer / Playwright 的区别

维度Selenium / Puppeteer / PlaywrightBrowser Use
操作方式写代码(CSS 选择器、XPath)自然语言描述任务
页面变化脚本崩溃,需手动更新AI 自动适应页面变化
动态内容需手动处理等待、iframeAI 自动识别和处理
学习成本高(需学习 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

复制全文 生成海报 Browser Use 浏览器自动化 AI

推荐文章

程序员茄子在线接单