小马的 AI 工具集 给 Agent 学习

网页操作

让 AI Agent 像人一样操作网页、自动完成在线任务的框架,该赛道头部

网页操作
类型 98,943 星标 更新 2026-06-15 许可 MIT 原仓库 主页
Shows a black Browser Use Logo in light color mode and a white one in dark color mode.
The AI browser agent.
Browser-Use Package Download Statistics

Demos Docs Blog Merch Github Stars Twitter Discord Browser-Use Cloud

🌤️ 想跳过设置?可以使用我们的 云服务 实现更快、可扩展、具备隐身能力的浏览器自动化!

🤖 LLM 快速入门

  1. 将你喜欢的编码 Agent(Cursor、Claude Code 等)指向 Agents.md
  2. 直接开始提示!

👋 人类快速入门

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 云版

BU Bench V1 - LLM Success Rates

我们在 100 个真实浏览器任务上对 Browser Use 进行了基准测试。完整基准是开源的:browser-use/benchmark

使用开源 Agent

  • 你需要自定义工具或深度代码级集成
  • 我们建议配合我们的云浏览器使用,以获得领先的隐身能力、代理轮换和扩展
  • 或者完全在自己的机器上自托管开源 Agent

使用完全托管的云 Agent(推荐)

  • 用于复杂任务的更强大的 Agent(参见上图)
  • 最简单快捷的入门和扩展方式
  • 借助代理轮换和验证码解决,实现最佳隐身
  • 1000+ 集成(Gmail、Slack、Notion 等)
  • 持久化文件系统和内存

演示

📋 表单填写

任务 = “用我的简历和信息填写这份工作申请表。”

Job Application Demo 示例代码 ↗

🍎 杂货购物

任务 = “将这份商品清单放入我的 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

更多信息

  • 文档 📒 - 查看官方文档
  • Discord 💬 - 加入我们的 Discord 社区
  • Twitter 🐦 - 在 X 上关注我们
  • 云服务 ☁️ - 使用我们的云服务获得更强大的浏览器自动化

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_messageoverride_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 运行本地模型)。

服务条款

本开源库基于 MIT 许可证发布。关于 Browser Use 服务及数据政策,请参阅我们的服务条款隐私政策

如何处理身份验证?

请查看我们的身份验证示例:

  • 使用真实浏览器配置文件 - 重用你现有的 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,它负责处理:

  • 可扩展的浏览器基础设施
  • 内存管理
  • 代理轮换
  • 隐身浏览器指纹
  • 高性能并行执行

告诉你的电脑要做什么,它就能搞定。

Twitter Follow     Twitter Follow

苏黎世和旧金山 ❤️ 制作

在 GitHub 查看完整项目