网页操作
让 AI Agent 像人一样操作网页、自动完成在线任务的框架,该赛道头部
🌤️ 想跳过设置?可以使用我们的 云服务 实现更快、可扩展、具备隐身能力的浏览器自动化!
🤖 LLM 快速入门
- 将你喜欢的编码 Agent(Cursor、Claude Code 等)指向 Agents.md
- 直接开始提示!
👋 人类快速入门
Browser Use 0.13 引入了新的 beta Agent,它基于 Rust 核心和专为当前前沿模型构建的浏览器封装。它为模型提供了真实的浏览器/计算机操作空间、持久工具以及受编码 Agent 启发的恢复循环。
Python API -> Rust core -> Browser harness -> Web task done
1. 安装带原生核心运行时的 Browser Use(Python>=3.11):
uv add "browser-use[core]"
# or: pip install "browser-use[core]"
browser
[core] 额外安装项会为你平台的原生 Browser Use 运行时。
2. [可选] 从 Browser Use Cloud 获取 API Key:
# .env
BROWSER_USE_API_KEY=your-key
# GOOGLE_API_KEY=your-key
# ANTHROPIC_API_KEY=your-key
3. 运行你的第一个 Agent:
Browser Use 终端:
uv add "browser-use[core]"
browser
Python 脚本:
from browser_use.beta import Agent, BrowserProfile, ChatBrowserUse
# from browser_use.beta import ChatOpenAI # ChatOpenAI(model='gpt-5.5')
# from browser_use.beta import ChatAnthropic # ChatAnthropic(model='claude-opus-4-8')
import asyncio
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 own optimized model
# llm=ChatOpenAI(model='gpt-5.5'),
# llm=ChatAnthropic(model='claude-opus-4-8'), # Sonnet also works well.
browser_profile=BrowserProfile(
headless=False,
allowed_domains=["*.github.com"],
),
)
history = await agent.run()
print(history.final_result())
if __name__ == "__main__":
asyncio.run(main())
现有的 Python Agent 用户可以继续使用 from browser_use import Agent。新的由 Rust 驱动的 beta Agent 是 from browser_use.beta import Agent。
开源版 vs 云版
我们在 100 个真实浏览器任务上对 Browser Use 进行了基准测试。完整基准是开源的:browser-use/benchmark。
使用开源 Agent
使用完全托管的云 Agent(推荐)
- 用于复杂任务的更强大的 Agent(参见上图)
- 最简单快捷的入门和扩展方式
- 借助代理轮换和验证码解决,实现最佳隐身
- 1000+ 集成(Gmail、Slack、Notion 等)
- 持久化文件系统和内存
演示
📋 表单填写
任务 = “用我的简历和信息填写这份工作申请表。”
🍎 杂货购物
任务 = “将这份商品清单放入我的 instacart。”
https://github.com/user-attachments/assets/a6813fa7-4a7c-40a6-b4aa-382bf88b1850
💻 个人助手
任务 = “帮我找 PC 零件。”
https://github.com/user-attachments/assets/12d8cb9e-0b22-4b78-9b07-64c3ee16b1f1
🚗 汽车研究
任务 = “查找一辆售价 30k 欧元以下、里程低于 5 万公里、2019 年之后的二手特斯拉 Model 3。”
https://github.com/user-attachments/assets/5dcd30be-38ce-42dd-b6eb-cc3bcc4fb2e9
🏆 更多演示
LinkedIn 自动发布(使用自定义保存状态恢复登录) 示例代码 ↗
机票预订查找 示例代码 ↗
编码 示例代码 ↗
安装指南
此指南假设你已有 Python 3.11 或更高版本(推荐 3.12)。否则,你可以使用 conda 设置环境并安装 Python。
选项 1:本地安装(使用 pip)
# 安装 Browser Use
pip install browser-use
# 安装 playwright
playwright install
选项 2:本地安装(使用 uv)
点击展开 uv 安装说明
# 安装 Browser Use
uv pip install browser-use
# 安装 playwright
uv run playwright install
# 或者如果你已经安装了 playwright,可以这样做
uv run pip install playwright && uv run playwright install
选项 3:Docker 安装
点击展开 Docker 安装说明
我们建议使用 Docker 在隔离环境中运行 Browser Use。如果你遇到依赖冲突或希望保持环境干净,这将很有帮助。
准备工作: 确保你已安装 Docker 且正在运行。你可以使用 docker info 确认。
使用 Docker 运行:
# 1. 拉取指定标签(例如,chrome)
docker pull browseruse/browser-use:chrome
# 2. 运行 docker 容器
# 如果你有 API Key 文件:
docker run -v $(pwd)/your_script.py:/home/agent/your_script.py -v $(pwd)/.env:/home/agent/.env browseruse/browser-use:chrome python your_script.py
# 如果你没有 .env 文件,可以将变量传递给容器:
docker run -v $(pwd)/your_script.py:/home/agent/your_script.py -e OPENAI_API_KEY=your-key browseruse/browser-use:chrome python your_script.py
从源码构建(可选):
# 或者,从源码构建:
git clone https://github.com/browser-use/browser-use.git
cd browser-use
docker compose build
docker compose up
快速入门
设置 API Key
确保你已在 .env 文件中设置了 API Key,或将其设置为环境变量。你至少需要一个 LLM 提供商的 API Key。
# .env 文件:
ANTHROPIC_API_KEY=your-key
OPENAI_API_KEY=your-key
# 可选:也可以使用其他模型
GOOGLE_API_KEY=your-key
注意:始终使用最新的模型,因为它们通常更擅长浏览器任务。对于 OpenAI,GPT-4o 和 GPT-4o-mini 都表现良好。对于 Anthropic,Claude 3.5 Sonnet 是推荐的起点。对于 Google,Gemini 2.0 是一个很好的选择。
使用 Agent
要运行 Agent,你只需使用 Agent 类并提供任务和一个 LLM。然后你可以运行它:
from browser_use import Agent
from langchain_openai import ChatOpenAI
import asyncio
agent = Agent(
task="在 Google 上搜索 browser-use,并打开第一个结果",
llm=ChatOpenAI(model="gpt-4o"),
)
async def main():
await agent.run()
asyncio.run(main())
请查看 examples 文件夹以了解更多示例,包括使用 Anthropic 和 Google 模型的示例、自定义工具、多 Agent 系统等。
浏览器设置
默认情况下,Browser Use 会打开一个可见的浏览器窗口,并在运行时自动关闭它。你可以通过 BrowserConfig 自定义浏览器行为。
from browser_use import Agent, Browser, BrowserConfig
browser = Browser(
config=BrowserConfig(
headless=False, # 是否无头运行
disable_security=True, # 禁用安全限制
extra_chromium_args=["--window-size=2000,2000"], # 额外的 Chromium 参数
)
)
agent = Agent(
task="你的任务",
llm=...,
browser=browser,
)
有关更多浏览器选项和配置,请查看 browser.md 文档。
贡献
我们非常欢迎贡献!请查看我们的 CONTRIBUTING.md 了解如何开始。
开发设置
点击展开开发设置说明
# 克隆仓库
git clone https://github.com/browser-use/browser-use.git
cd browser-use
# 安装 uv(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安装依赖
uv sync --group dev --group test
playwright install
# 复制 .env.example
cp .env.example .env
# 设置 .env 中的 API Key
更多信息
https://github.com/user-attachments/assets/ac34f75c-057a-43ef-ad06-5b2c9d42bf06
💡在此查看更多示例 ↗,记得给我们点个星标!
🚀 模板快速入门
想更快速上手吗? 生成一个可直接运行的模板:
uvx browser-use init --template default
这会创建一个 browser_use_default.py 文件,内含一个可工作的示例。可用模板如下:
default- 最简配置,快速入门advanced- 所有配置选项,附带详细注释tools- 自定义工具及扩展 Agent 的示例
你也可以指定自定义路径:
uvx browser-use init --template default --output my_agent.py
💻 命令行工具(CLI)
从命令行实现快速、持久的浏览器自动化:
browser-use open https://example.com # 导航到指定 URL
browser-use state # 查看可点击元素
browser-use click 5 # 按索引点击元素
browser-use type "Hello" # 输入文本
browser-use screenshot page.png # 截取屏幕截图
browser-use close # 关闭浏览器
CLI 会在命令之间保持浏览器运行,以实现快速迭代。完整命令列表请参见 CLI 文档。
Claude Code 技能
对于 Claude Code,安装该技能即可启用 AI 辅助的浏览器自动化:
mkdir -p ~/.claude/skills/browser-use
curl -o ~/.claude/skills/browser-use/SKILL.md \
https://raw.githubusercontent.com/browser-use/browser-use/main/skills/browser-use/SKILL.md
集成、托管、自定义工具、MCP 及其他内容,请查阅我们的 文档 ↗
常见问题
应该使用哪个模型效果最好?
我们针对浏览器自动化任务优化了 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
- 要将你的身份验证配置文件与远程浏览器同步,请运行
curl -fsSL https://browser-use.com/profile.sh | BROWSER_USE_API_KEY=XXXX sh(将 XXXX 替换为你的 API 密钥)
这些示例展示了如何无缝维护会话和处理身份验证。
如何解决验证码(CAPTCHA)?
针对验证码处理,你需要更好的浏览器指纹和代理。请使用 Browser Use Cloud,它提供旨在避免检测和验证码挑战的隐身浏览器。
如何进入生产环境?
Chrome 可能会消耗大量内存,并且并行运行多个 Agent 可能难以管理。
对于生产环境的使用,请使用我们的 Browser Use Cloud API,它负责处理:
- 可扩展的浏览器基础设施
- 内存管理
- 代理轮换
- 隐身浏览器指纹
- 高性能并行执行