🌐 Make websites accessible for AI agents. Automate tasks online with ease.
103k stars | Python (>=3.11) | MIT | browser-use org | https://browser-use.com
让 LLM Agent 直接操控真实浏览器完成在线任务(填表、购物、信息检索等),是目前浏览器自动化 Agent 领域 star 数最高的开源项目之一。核心理念(源自其博客《bitter lesson of agent harnesses》):给模型足够的自由度直接操作浏览器,而不是把复杂度层层抽象掉。
核心定位
Browser Use 提供一个 Python Agent 对象,接收自然语言 task,用给定 LLM 驱动浏览器逐步执行动作(点击/输入/导航/读取页面),并可扩展自定义 Tools。既可以纯开源自托管,也可搭配官方 Cloud(stealth 浏览器、代理轮换、验证码破解、1000+ 集成)。
核心特性
- Agent 抽象:
Agent(task=..., llm=...),一行代码跑通一个浏览器任务 - 多 LLM 支持:
ChatBrowserUse(官方优化模型bu-*,声称比通用模型快 3-5x)、也可用 provider 前缀直接接anthropic/claude-*、openai/gpt-*、google/gemini-*,共用一个BROWSER_USE_API_KEY - CLI 3.0:新增
browser-use命令行,基于 Browser Harness,支持直接用 Python 脚本控制浏览器(new_tab(),page_info()等) - Agent Skill:可通过一段 prompt 让 Claude Code/Codex 等编码 Agent 自动安装并注册 browser-use skill,连接到本地浏览器
- 自定义 Tools:
Tools()+@tools.action装饰器扩展 Agent 能力 - 真实浏览器 Profile:支持复用本机 Chrome 登录态处理认证场景
- Benchmark 开源:browser-use/benchmark,100 个真实浏览器任务测评不同模型成功率
快速开始
uv add browser-use # 或 pip install browser-useimport 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=ChatAnthropic(model='claude-opus-4-8'),
)
await agent.run()
asyncio.run(main())开源版 vs Cloud
- 开源自托管:需要自定义 Tools 或深度代码集成时选它,适合搭配 Cloud 浏览器做 stealth/代理/扩展
- Cloud(推荐,官方立场):更强的复杂任务能力、免搭建、stealth+代理轮换+验证码破解、1000+ 集成(Gmail/Slack/Notion)、持久化文件系统与 memory
适用场景边界
适合:任务目标明确但操作路径不固定、依赖页面内容动态决策的场景,比如自动投简历(各网站表单结构不同)、网购囤货比价、跨网站信息调研、预约查询(页面交互常变化)、跨平台账号抓取、需处理验证码/多步认证的自动化。共同点:目标是”完成一件事”而非”验证固定结果”,且网站结构不完全可控。
不适合:对自己网站按固定流程点击、对照设计稿验证界面是否符合要求这类场景。这种场景流程确定、判断标准明确(设计稿),不需要 LLM 每步做决策,用 puppeteer/Playwright 写确定性脚本截图 + AI 做视觉审查,比让 Agent 自己摸索点哪更快更省钱,也更稳定可重复。browser-use 每步都要调 LLM API 决策,跑一次慢且贵,且不是为”稳定截图/视觉回归”设计的。
定位对比
与 puppeteer、cypress 等传统浏览器自动化库不同,browser-use 面向的是”LLM 作为决策者,自主完成模糊自然语言任务”的场景,而不是预先写好确定性脚本。可以理解为在 Puppeteer/Playwright 之上加了一层 Agent 决策循环。