网页操作
让 AI Agent 像人一样操作网页、自动完成在线任务的框架,该赛道头部
Browser Use 能做什么?
Browser Use 让 AI 智能体像你一样使用浏览器——它可以打开页面、点击按钮、输入文字、填写表单。你只需描述任务,它就能完成。例如,你可以让它:
📋 填写表单
任务:“用我的简历和信息填写这份求职申请。”
🍎 提取数据
任务:“提取关于我关注者的结构化数据,并导出为 CSV。”
https://github.com/user-attachments/assets/93714c75-98f4-4cfc-add1-69c38b5138b5
💻 QA 自动化
任务:“对我本地网站进行 QA 测试,报告任何 Bug、可用性问题以及视觉不一致。”
快速开始
如果你想在你的智能体(Claude Code、Codex、Cursor、Hermes、OpenClaw 等)中使用 Browser Use,请粘贴以下提示词,它将自动完成所有设置:
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. If setup or connection fails, follow https://github.com/browser-use/browser-harness/blob/main/install.md.
然后告诉你的智能体你想做什么。
Python 库:自动化网络的最简单方式
想大规模自动化网络,从你自己的代码出发,并使用任何 LLM?请使用 Python 库:
1. 安装 Browser Use (Python >= 3.11):
uv add browser-use
# or: pip install browser-use
2. 将你的 LLM API 密钥添加到 .env 文件。从 Browser Use Cloud 获取一个,或者使用你自己的提供商密钥:
# .env
BROWSER_USE_API_KEY=your-key
# GOOGLE_API_KEY=your-key
# ANTHROPIC_API_KEY=your-key
3. 运行你的第一个智能体:
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'),
# llm=ChatBrowserUse(model='bu-2-0'), # Browser Use's optimized model
# llm=ChatOpenAI(model='gpt-5.5'),
# llm=ChatAnthropic(model='claude-opus-4-8'), # Sonnet also works well
)
history = await agent.run()
if __name__ == "__main__":
asyncio.run(main())
开源 vs 云
我们在 100 个真实世界的浏览器任务上对 Browser Use 进行了基准测试。完整基准测试是开源的:browser-use/benchmark。
Browser Use 还以 87.4% 的平均成功率位居 Odysseys 排行榜 第一,超越了 OpenAI、Anthropic、Google 和 Microsoft 的计算机使用智能体。Odysseys 衡量智能体在 200 个长周期网络任务上的表现。
使用开源智能体
- 免费,运行在你的本地机器上
- 深度代码级集成与控制:选择你的 LLM,自定义智能体行为
- 我们建议将其与我们的 云浏览器 配合使用,以获得领先的隐身性、代理轮换和扩展能力
使用 全托管云智能体(推荐)
- 更强大的智能体,适用于复杂任务(见上图)
- 最简单的启动和扩展方式
- 通过代理轮换和验证码解决获得最佳隐身性
- 1000+ 集成(Gmail、Slack、Notion 等)
- 持久化文件系统和内存
集成、托管、自定义工具、MCP 等更多内容,请参阅我们的文档 ↗
常见问题
我应该使用 CLI 还是 Python 库?
使用 CLI:如果你已经有一个 agent(Claude Code、Codex、Cursor、Hermes、OpenClaw 等),希望它帮你完成浏览器任务。agent 只需安装一次技能(参见快速开始),即可控制浏览器。示例:
- “将此视频上传到 YouTube”
- “比较这三款笔记本电脑,并给我一个带价格的表格”
- “用我的简历填写这份工作申请”
使用 Python 库:当你构建用于自动化网页的软件时。示例:
- 按计划或并行运行多个任务(抓取、监控、QA)
- 将浏览器 agent 嵌入到自己的产品中
- 自定义工具、自定义系统提示、结构化输出、精细的浏览器控制
经验法则:通过 agent 完成一次性任务 → CLI。在代码中实现可重复的自动化 → Python 库。
使用什么模型最好?
我们针对浏览器自动化任务优化了 ChatBrowserUse()。平均而言,它完成任务的速度是其他模型的 3-5 倍,且具有 SOTA 准确率。
关于定价和其他 LLM 提供商,请参阅我们的支持的模型文档。
能否通过 ChatBrowserUse 使用 Claude / GPT / Gemini?
可以。ChatBrowserUse 接受带提供商前缀的模型 ID,因此一个 BROWSER_USE_API_KEY 即可访问所有模型,无需单独申请 OpenAI/Anthropic/Google 的密钥:
from browser_use import Agent, ChatBrowserUse
llm = ChatBrowserUse(model='anthropic/claude-sonnet-4-6') # 或 'openai/gpt-5.5', 'google/gemini-3-pro'
agent = Agent(task='...', llm=llm)
为了获得最佳速度和成本,我们仍然推荐默认的 bu-* 模型。
在开源预览模型上是否应该使用 Browser Use 系统提示?
是的。如果你使用 ChatBrowserUse(model='browser-use/bu-30b-a3b-preview') 配合普通的 Agent(...),Browser Use 仍然会为你发送默认的 agent 系统提示。
你不需要仅仅因为切换到开源预览模型而额外添加一个单独的自定义 “Browser Use 系统消息”。只有当你有意要为任务自定义默认行为时,才使用 extend_system_message 或 override_system_message。
如果你想要最佳的默认速度/准确率,我们仍然推荐更新的托管 bu-* 模型。如果你想要开源预览模型,除了 model= 值外,其他设置保持不变。
能否在 agent 中使用自定义工具?
可以!你可以添加自定义工具来扩展 agent 的能力:
from browser_use import Tools
tools = Tools()
@tools.action(description='描述此工具的功能。')
def custom_tool(param: str) -> str:
return f"结果: {param}"
agent = Agent(
task="你的任务",
llm=llm,
browser=browser,
tools=tools,
)
可以免费使用吗?
可以!Browser-Use 是开源且免费的。你只需选择一个 LLM 提供商(如 OpenAI、Google、ChatBrowserUse,或使用 Ollama 运行本地模型)。
如何处理身份验证?
查看我们的身份验证示例:
- 使用真实浏览器配置文件 - 重用你现有的 Chrome 配置文件,其中包含保存的登录信息
- 如果你想使用带收件箱的临时账户,请选择 AgentMail
- 要将你的身份验证配置文件与远程浏览器同步,请从官方发布页为你的平台安装
profile-use,然后按照配置文件同步指南操作。
这些示例展示了如何无缝地维护会话和处理身份验证。
如何解决验证码?
对于验证码处理,你需要更好的浏览器指纹和代理。请使用 Browser Use Cloud,它提供了旨在避免检测和验证码挑战的隐身浏览器。
如何投入生产?
Chrome 可能会消耗大量内存,并且并行运行多个 agent 可能难以管理。
对于生产用例,请使用我们的 Browser Use Cloud API,它处理:
- 可扩展的浏览器基础设施
- 内存管理
- 代理轮换
- 隐身浏览器指纹
- 高性能并行执行
引用
如果你在研究或项目中使用了 Browser Use,请引用:
@software{browser_use2024,
author = {Müller, Magnus and Žunič, Gregor},
title = {Browser Use: Enable AI to control your browser},
year = {2024},
publisher = {GitHub},
url = {https://github.com/browser-use/browser-use}
}
