Browser Use Integration 介绍如何集成并使用 Browser Use 这一开源 AI 浏览器自动化框架。该框架可与任意 LLM 配合使用,并支持自托管,从而在自有基础设施上运行,不受云端方案的用量限制。
主要优势
- 开源:无 API 速率限制,无供应商锁定。
- 支持任意 LLM:Claude、GPT-4、Ollama(本地)等。
- 可自托管:运行在自己的基础设施上。
- 针对浏览器任务进行了优化。 (资料称 3-5 倍更快,但未说明对比基准,此处仅保留原文表述。)
快速开始
- 安装:创建 Python 虚拟环境后执行 pip install browser-use,并按所选 LLM 安装对应依赖,例如 langchain-anthropic(Claude)、langchain-openai(GPT-4)、langchain-ollama(本地模型)。
- 配置 API Key:设置 ANTHROPIC_API_KEY 或 OPENAI_API_KEY;使用 Ollama 时无需 key,本地运行 ollama serve 即可。
- 编写第一个 Agent:在 agent.py 中导入 Agent 与 ChatAnthropic,定义 task 与 llm 后运行 agent.run()。
- 运行:python agent.py。
LLM 配置
- Claude(推荐):可选用 claude-sonnet-4-20250514(均衡)、claude-opus-4-20250514(最高质量)、claude-3-5-haiku-20241022(最快最省)。
- OpenAI:可选用 gpt-4o、gpt-4-turbo-preview。
- Ollama(免费、本地):先 ollama serve 并拉取模型(如 llama3.2、mistral、codellama),再通过 ChatOllama 指定 model 与 base_url(http://localhost:11434)。
成本对比(资料给出的每 100 万 token 参考价)
- Claude Haiku 约 $0.25,适合简单任务。
- Claude Sonnet 约 $3.00,适合复杂任务。
- GPT-4o 约 $5.00,适合通用场景。
- Ollama 免费,适合无限制本地使用。
Agent 模式
- 简单任务:直接用自然语言描述任务。
- 多步骤任务:在 task 中列出步骤,例如依次访问、搜索、筛选、提取并以 JSON 返回。
- 结构化输出:使用 pydantic 定义输出模型,并通过 output_schema 指定,使结果类型安全。
- 自定义浏览器设置:通过 Browser 配置 headless(是否显示浏览器)与 proxy(代理)。
错误与超时处理
- 重试:捕获 AgentError,按指数退避(如 await asyncio.sleep(2 ** attempt))重试。
- 超时:使用 asyncio.wait_for 包裹 agent.run(),并处理 asyncio.TimeoutError。
自托管
- Docker 方案:基于 python:3.11-slim 安装 Chrome,复制 requirements.txt 并安装依赖,最后运行 agent.py。
- Docker Compose 搭配 Ollama:定义 ollama 服务(端口 11434,挂载卷,可选 GPU 预留)与 browser-agent 服务(设置 OLLAMA_HOST,依赖 ollama),通过 docker-compose up -d 启动,docker-compose logs -f browser-agent 查看日志。
使用场景(示例)
- 网页抓取:如从 news.ycombinator.com 提取前 30 条故事并返回 JSON。
- 表单自动化:填写并提交联系表单。
- 价格监控:跨 Amazon、BestBuy、Walmart 查询指定商品价格。
- 竞品调研:提取定价层级、功能列表、客户评价并整理为结构化报告。
- 数据录入:批量将产品名称与价格录入后台并保存确认。
最佳实践
- 任务描述要具体,避免含糊。
- 使用结构化输出(output_schema)保证类型安全。
- 处理认证:可在任务中包含凭据,或使用 cookies/会话(更安全),通过 browser.load_cookies 加载。
- 速率限制:在批量任务中按每分钟速率加入间隔(如 delay = 60 / rate_per_minute)。
与 Stagehand 的对比(资料所述)
- Browser Use:Python,支持自托管,支持本地 LLM(Ollama),资料称速度 3-5 倍优化,适合 Python 抓取,学习曲线简单。
- Stagehand:TypeScript,支持自托管,本地 LLM 支持有限,资料称 v3 快 44%,适合 TypeScript 测试,学习曲线中等。
- 选择建议:Python 项目、需要本地 LLM、以网页抓取为主、成本优化时选 Browser Use;TypeScript/Node.js 项目、以测试为主、优先 Claude 集成、需要自愈测试时选 Stagehand。
参考资料
- references/browser-use-setup.md:完整安装指南。
- references/llm-configuration.md:各提供商的 LLM 配置。
限制与未提供信息
- 资料未说明许可协议、价格与收费模式(除 LLM token 参考价外)、平台支持细节、性能基准来源,以及除上述内容外的其他限制,这些内容暂未提供。