在人工智能快速发展的今天,AI 代理(AI Agents)正在成为自动化日常任务的重要工具。然而,许多网站交互任务(如填写表单、在线购物或信息检索)仍然依赖于浏览器操作,这给 AI 的应用带来了挑战。Browser-Use 项目正是为了解决这一痛点而生。它是一个开源 Python 库,帮助 AI 代理与网站交互,实现自动化任务。本文将详细介绍 Browser-Use 的目的、特点、安装和使用方法,适合开发者参考。如果你对 AI 自动化感兴趣,不妨试试这个项目!项目地址:https://github.com/browser-use/browser-use。此外,你也可以在 AI225 导航 查看更详细的介绍和应用案例。

项目概述

Browser-Use 的核心目标是让网站对 AI 代理变得“可访问”。它通过结合大型语言模型(LLM)和浏览器自动化工具,构建一个框架,让 AI 可以自主导航网页、读取内容并执行操作。例如,AI 可以帮助你自动申请职位、购买杂货或查找 GitHub 仓库的星标数。这不仅提高了效率,还桥接了 AI 决策与实际浏览器执行之间的鸿沟。

主要特点

Browser-Use 提供了丰富的功能,让开发者轻松构建强大的 AI 代理。以下是其关键亮点:

  • AI 代理框架:可以配置任务、LLM 和浏览器,实现复杂网页交互。
  • 浏览器集成:支持本地和云端浏览器自动化,并具备隐身能力,避免检测。
  • LLM 优化:内置 ChatBrowserUse() 模型,专为浏览器任务优化,比标准模型快 3-5 倍。
  • 自定义工具:允许扩展代理功能,使用自定义 Python 函数。
  • 认证支持:处理真实浏览器配置文件、临时账户(通过 AgentMail)和会话同步。
  • 沙箱部署:在隔离环境中运行代理,延迟最小化。
  • 云集成:通过 Browser Use Cloud 提供可扩展的隐身浏览器自动化。
  • 模板生成:快速启动模板(如 default、advanced、tools),加速项目设置。

这些特点使 Browser-Use 适用于从简单脚本到生产级应用的各种场景。

如何工作

Browser-Use 的工作流程简单高效:

  1. 初始化代理:创建 Agent 对象,指定任务、LLM 和浏览器。
  2. 执行任务:代理使用 LLM 解释任务,生成动作(如点击、输入、导航)。
  3. 浏览器交互:浏览器执行动作,并通过截图或 DOM 返回状态。
  4. 反馈循环:代理观察状态,迭代优化动作。
  5. 完成:返回最终结果或动作历史。

一个简单示例(查找 GitHub 仓库星标数):

from browser_use import Agent, Browser, ChatBrowserUse
import asyncio

async def example():
    browser = Browser()  # 或 use_cloud=True 使用云端
    llm = ChatBrowserUse()
    agent = Agent(
        task="Find the number of stars of the browser-use repo",
        llm=llm,
        browser=browser,
    )
    history = await agent.run()
    return history

if __name__ == "__main__":
    history = asyncio.run(example())

安装指南

安装 Browser-Use 非常简单,需要 Python 3.11 或更高版本。推荐使用 uv 包管理器。

  1. 设置环境

    uv init
    
  2. 安装包

    uv add browser-use
    uv sync
    
  3. 获取 API 密钥:从 Browser Use Cloud 获取密钥,并添加到 .env 文件:

    BROWSER_USE_API_KEY=your-key
    
  4. 安装 Chromium 浏览器

    uvx browser-use install
    
  5. 可选:生成模板

    uvx browser-use init --template default
    

云端选项可跳过本地设置,提供 $10 免费信用给新用户。

使用示例

Browser-Use 提供了多种实际用例:

  • 职位申请:任务如“用我的简历填写这份职位申请”。
  • 杂货购物:任务如“将这份物品列表添加到 Instacart”。
  • PC 配件选择:任务如“帮我找自定义 PC 的配件”。
  • 沙箱模式:在隔离环境中运行任务,避免干扰。

自定义工具示例:

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)

注意:对于 CAPTCHA 密集型网站,推荐使用云端隐身浏览器;本地浏览器可能因内存消耗而受限。

支持的浏览器和依赖

认证同步脚本:

curl -fsSL https://browser-use.com/profile.sh | BROWSER_USE_API_KEY=XXXX sh

结语

Browser-Use 是一个强大且实用的工具,适合构建 AI 驱动的网页自动化代理。它结合了开源灵活性和云端生产力,帮助开发者实现真实世界的在线任务自动化。如果你正在开发 AI 助手,不妨 fork 项目或贡献代码。更多细节请访问 GitHub 仓库或官方文档。希望这篇文章对你有帮助,欢迎在评论区分享你的使用经验!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐