Browser Use 项目介绍
概述
Browser Use 是一个强大的 AI 浏览器自动化工具,旨在让 AI 代理能够高效、智能地控制网页,实现 自动化操作、数据抓取、信息查询、任务执行 等功能。它结合 计算机视觉 和 HTML 结构提取,支持 AI 代理在网页上进行复杂交互,例如自动填表、数据分析、在线购物、社交媒体操作等。
核心特点
- Vision + HTML 解析:同时利用 视觉理解 和 HTML 结构解析,让 AI 代理精准识别和操作网页元素。
- 多标签页管理:支持 自动化处理多个浏览器标签页,适用于复杂任务和并行操作。
- 元素追踪 & 交互复现:可以提取 点击元素的 XPath 路径,确保后续 AI 行为一致性。
- 自定义操作:可扩展支持 数据存储、文件保存、通知推送 及 人工输入 处理。
- 自我纠错 & 恢复:支持 智能错误处理 和 自动恢复机制,提高任务的稳定性。
- 兼容所有 LLM:适用于 GPT-4、Claude 3、Llama 2 等主流大语言模型。
使用场景
Browser Use 可用于多种 AI 自动化任务,例如:
- 自动化电商比价(如比对 GPT-4o 和 DeepSeek-V3 的价格)
- 在线数据收集(如查找 Hugging Face 上评分最高的开源模型)
- 自动求职(如读取简历、搜索 ML 工作并自动申请)
- 社交媒体管理(如自动关注 Twitter 账号并将信息同步到 CRM)
- 网页填表 & 业务流程自动化(如自动填写 Google Docs 表单、导出 PDF)
安装与快速开始
1. 安装依赖
需要 Python 3.11+:
pip install browser-use
playwright install
2. 运行示例代码
使用 OpenAI GPT-4o 进行自动化比价:
from langchain_openai import ChatOpenAI
from browser_use import Agent
import asyncio
from dotenv import load_dotenv
load_dotenv()
async def main():
agent = Agent(
task="Compare the price of GPT-4o and DeepSeek-V3",
llm=ChatOpenAI(model="gpt-4o"),
)
await agent.run()
asyncio.run(main())
3. 交互式 UI 体验
运行 Gradio 示例:
uv pip install gradio
python examples/ui/gradio_demo.py
项目架构
browser-use/
│── browser_use/ # 核心代码库
│── docs/ # 文档
│── examples/ # 示例代码
│── tests/ # 测试
│── .github/ # GitHub 相关配置
│── LICENSE # MIT 许可证
│── README.md # 项目说明
│── pyproject.toml # Python 项目配置
│── pytest.ini # 测试配置
│── .gitignore # Git 忽略文件
高级功能
- 改进 Agent 记忆(总结、压缩、RAG)
- 优化计划能力(根据网站上下文加载特定操作)
- 减少 Token 消耗(优化 System Prompt 和 DOM 状态存储)
- 强化 DOM 提取(改进 日期选择器、下拉菜单、动态 UI 解析)
- 任务回放 & 自动化工作流(AI 记忆交互过程并可重复执行)
下一步开发计划
- 优化 AI 规划能力:增强 Agent 处理网页复杂逻辑的能力
- 提升 UI 交互体验:改进界面质量,提高演示效果
- 增加 Benchmarks:对比不同 AI 代理在自动化任务上的表现
许可证
本项目采用 MIT 许可证,开源免费,支持企业级应用扩展。
参考
- GitHub 仓库:browser-use
- 官网:browser-use.com
- 交流社区:Discord