当前位置: 首页 > news >正文

以自然语言实现AI自动化Browser-use 详细介绍与使用指南

Browser-use 简介

Browser-use 是一款基于 Python 的开源 AI 自动化工具,旨在通过集成大型语言模型(LLM)与浏览器自动化技术,让 AI 智能体具备“浏览网页、抓取信息、动态交互”的能力。只需简单配置与少量代码,即可快速构建浏览器自动化智能体,广泛适用于数据采集、网页测试、自动化任务执行等场景。目前项目在 GitHub 已获得 45.1K Stars,是智能体应用开发领域的热门工具。

1. 概述

1.1 核心定位

Browser-use 本质是“AI 智能体与浏览器的连接器”,通过封装 LangChain(AI 智能体框架)和 Playwright(浏览器自动化工具),解决了 LLM 无法直接与真实网页交互的问题,让智能体可自主决策浏览器操作(如导航、点击、输入、数据提取),无需人工干预。

1.2 关键信息

类别地址/说明
GitHub 仓库browser-use/browser-use
官方网站browser-use.com
官方文档docs.browser-use.com/introduction
最低 Python 版本Python >= 3.11
核心依赖LangChain(智能体框架)、Playwright(浏览器自动化)、dotenv(环境变量管理)

1.3 技术栈

  • AI 层:基于 LangChain 支持多类 LLM,提供智能决策与任务规划能力;
  • 执行层:通过 Playwright 实现浏览器无头启动、页面交互、DOM 操作;
  • 工程层:异步 I/O 架构提升效率,dotenv 管理敏感配置(如 API Key);
  • 扩展层:支持自定义工具、结构化输出、GIF 录制等功能。

2. 核心特性

Browser-use 凭借模块化设计与高扩展性,具备以下核心能力:

2.1 简单易用的 Agent 接口

Agent 是 Browser-use 的核心入口,通过简洁的类定义即可创建具备浏览器交互能力的智能体,无需关注底层浏览器控制逻辑。关键参数包括:

  • 必传参数task(任务描述,如“抓取某网页的 h2 标签”)、llm(LangChain 兼容的 LLM 实例,如 GPT-4o、DeepSeek);
  • 常用参数use_vision(是否启用视觉分析,支持截图理解网页)、generate_gif(是否录制浏览器操作为 GIF)、max_steps(最大执行步骤,防止死循环)。

2.2 多 LLM 兼容

支持主流商用与开源模型,无需修改核心逻辑即可切换模型,适配不同场景需求:

模型类型支持模型示例配置方式
商用模型GPT-4o(OpenAI)、Claude(Anthropic)配置对应 API Key(如 OPENAI_API_KEY)
国产模型DeepSeek-V3/R1指定 base_url(如 https://api.deepseek.com/v1
本地模型Ollama(如 Llama 3)安装 Ollama 后直接调用
云服务模型Azure OpenAI、Google Gemini按 LangChain 文档配置对应实例

2.3 强大的浏览器自动化能力

基于 Playwright 封装,覆盖网页交互全场景:

  • 基础操作:页面导航、元素点击、文本输入、表单提交;
  • 高级功能:多标签页管理、持久会话(保留 cookies/localStorage)、DOM 元素精准定位;
  • 兼容性:支持 Chromium、Firefox、WebKit 浏览器,默认使用无头 Chromium 提升效率。

2.4 结构化输出与自我纠正

  • 结构化数据:通过 Pydantic 定义输出模型(如“书籍信息包含标题、作者、评分”),智能体可自动提取并返回规范数据;
  • 错误重试:内置失败重试机制(默认最大失败次数 3 次),遇到限流或操作错误时自动等待重试;
  • 动态规划:可选 planner_llm 独立负责任务规划,用轻量模型降低成本,主 LLM 专注操作执行。

2.5 多部署与可视化支持

  • 部署方式:支持本地部署(需配置 Python 与 Playwright)、云端托管(无需本地环境);
  • 可视化测试:内置 Gradio UI 示例,通过网页界面输入任务即可测试智能体,实时查看浏览器操作日志;
  • 调试友好:支持保存对话历史到本地文件,便于排查任务执行问题。

3. 技术架构

Browser-use 采用分层架构设计,各组件职责清晰,协同实现“AI 决策→浏览器执行→结果反馈”的闭环。

3.1 核心组件

组件职责描述
Agent核心协调者:接收任务、初始化组件、调度 LLM 决策、管理执行流程;
Controller动作执行者:注册/执行浏览器操作(如 open_tabinput_text),是 Agent 与 Browser 的桥梁;
Browser浏览器控制器:封装 Playwright 实例,负责浏览器启动、页面管理、状态维护;
DomServiceDOM 处理器:提取网页 DOM 结构、识别可交互元素(如按钮、输入框);
MessageManager消息管理器:维护 LLM 对话历史(系统提示、任务描述、执行日志);
ProductTelemetry遥测组件:可选记录执行事件(如步骤数、成功率),用于优化与分析;

3.2 执行流程

Browser-use 的任务执行分为三个阶段,形成完整闭环:

阶段 1:初始化
  1. 用户创建 Agent 实例,传入 taskllm 等参数;
  2. Agent 初始化 MessageManager(设置系统提示)、Controller(注册默认浏览器操作);
  3. 自动启动浏览器实例(或复用已有实例),准备执行环境。
阶段 2:执行循环(核心)

循环执行“状态获取→LLM 决策→动作执行→状态更新”,直到任务完成或达到限制:

  1. 获取浏览器状态:Browser 通过 DomService 提取当前页面 DOM、URL、可交互元素;
  2. 准备 LLM 输入:MessageManager 整合任务描述、浏览器状态、历史日志,生成 LLM prompt;
  3. LLM 决策:LLM 分析输入,输出下一步操作(如“打开 Bing 搜索页”);
  4. 执行动作:Controller 调用 Browser 执行操作(如 open_tab 打开链接),返回执行结果;
  5. 更新状态:记录执行日志,判断任务是否完成(如“是否已提取所有目标数据”)。
阶段 3:结束
  1. 任务完成后,Agent 生成结构化结果(如文本、JSON);
  2. 可选生成 GIF 录制文件(若启用 generate_gif);
  3. 关闭浏览器实例,返回结果给用户。

4. 环境准备

4.1 基础环境要求

  • Python 版本:>= 3.11(推荐 3.12,低版本会导致依赖安装失败);
  • 虚拟环境:建议使用 venvcondapyenv 隔离环境,避免依赖冲突。
(可选)用 conda 创建虚拟环境
conda create --name browser_use python=3.11
conda activate browser_use

4.2 安装依赖

  1. 安装 Browser-use
    pip3 install browser-use
    
  2. 安装 Playwright 浏览器
    playwright install
    
    该命令会自动下载无头 Chromium 浏览器(约 100-200MB),无需手动配置。

4.3 配置 LLM API Key

在项目根目录创建 .env 文件,填写对应模型的 API Key(示例):

# OpenAI 模型(如 GPT-4o)
OPENAI_API_KEY=sk-xxxxxxx
# DeepSeek 模型
DEEPSEEK_API_KEY=dk-xxxxxxx
# Anthropic 模型(如 Claude)
ANTHROPIC_API_KEY=sk-ant-xxxxxxx

在这里插入图片描述

5. 核心使用示例

示例 :用 DeepSeek 模型搜索政策信息

目标:调用 DeepSeek-V3 模型,通过 Bing 搜索《提振消费专项行动方案》,提取关键内容。

import asyncio
import os
from dotenv import load_dotenvfrom browser_use import Agent,Browser
from browser_use.llm import ChatDeepSeekdeepseek_api_key=load_dotenv()if deepseek_api_key is None:print('Make sure you have DEEPSEEK_API_KEY:')print('export DEEPSEEK_API_KEY=your_key')exit(0)browser = Browser(headless=False,  # Show browser windowwindow_size={'width': 1000, 'height': 700},  # Set window size)extend_system_message = """1. 执行搜索任务时,必须先打开 https://www.bing.com/?mkt=zh-CN(中文 Bing);2. 搜索关键词为“《提振消费专项行动方案》近期发布”;3. 提取结果需包含政策背景、核心任务、预期效果,用中文分点输出。"""async def main():llm = ChatDeepSeek(base_url='https://api.deepseek.com/v1',model='deepseek-chat',api_key=deepseek_api_key,)agent = Agent(task="近期发布的《提振消费专项行动方案》有哪些值得关注的内容?",llm=llm,use_vision=False,browser=browser,extend_system_message=extend_system_message,max_steps=30)await agent.run()if __name__ == '__main__':asyncio.run(main())

在这里插入图片描述

6. UI 测试工具(Gradio)

Browser-use 提供 Gradio 可视化界面,无需编写代码即可测试智能体,适合快速验证任务逻辑。

6.1 启动步骤

  1. 安装 Gradio
    pip3 install gradio
    
  2. 运行官方示例
    python examples/ui/gradio_demo.py
    
  3. 访问界面:终端会输出本地链接(如 http://localhost:7860),打开后即可看到交互界面。

6.2 界面功能

  • 输入区:填写任务描述(如“搜索天气”)、选择 LLM 模型、配置 use_vision 等参数;
  • 输出区:实时显示浏览器操作日志、提取结果,支持查看 GIF 录制文件;
  • 调试区:查看 LLM 对话历史,帮助定位任务执行中的问题。

7. 常见问题与解决方案

问题现象原因分析解决方案
报错“playwright not installed”未安装 Playwright 浏览器内核执行 playwright install chromium(仅需一次)
Python 版本报错“SyntaxError”Python 版本 < 3.11用 pyenv 或 conda 升级到 3.11+,执行 python3 --version 验证
LLM 调用失败“API Key invalid”API Key 错误或过期检查 .env 文件中 Key 是否正确,或在官网重新生成 Key
Gradio 启动后无法访问端口占用或 Gradio 版本过旧升级 Gradio(pip3 install --upgrade gradio),或指定端口(gradio demo.py --server-port 7861
任务长时间卡住网络缓慢(LLM 请求超时)或网页加载耗时久检查网络连接,增加 retry_delay(重试等待时间),或手动中断任务(Ctrl+C)

8. 总结

Browser-use 降低了“AI 与浏览器自动化”的结合门槛,通过“Agent 封装+多 LLM 兼容+结构化输出”的设计,让开发者无需深入浏览器底层技术,即可快速构建智能自动化工具。其核心优势包括:

  • 低门槛:几行代码即可实现复杂网页任务,支持无代码 UI 测试;
  • 高灵活:兼容主流 LLM、支持自定义工具与输出格式;
  • 强实用:覆盖数据采集、政策搜索、电商操作等多场景。
http://www.dtcms.com/a/423173.html

相关文章:

  • 怎么使用创客贴网站做图h5网站开发
  • 青岛网站设计品牌企业Wordpress启动mysql
  • STM32 程序内存分布详解
  • Django 入门:快速构建 Python Web 应用的强大框架
  • 返利机器人的智能对话架构:基于NLP(ChatGLM)+Spring Boot的客服机器人开发实践
  • 专题:2025零售数字化与即时零售竞争洞察报告|附130+份报告PDF、数据仪表盘汇总下载
  • 语义网络对人工智能中自然语言处理的深层语义分析的影响与启示
  • ADC (Analog-to-Digital Converter) 模数转换器详解
  • 商城类的网站怎么做优化网络建设方案ppt
  • Go基础(⑧JSON Web Token)
  • MR+AI变革传统MRO,提升工作效率
  • 每周读书与学习->初识JMeter 元件(三)
  • MR模板以及代码审查规范
  • 什么是网站推广优化剧院网站建设
  • dede如何手机网站和电脑网站的数据同步更新网站改版是什么意思
  • ubuntu安装go
  • 用 go-commons 高效处理字符串
  • 二手网站建设论文广州做网站多少钱
  • 网站建设前端工程师岗位职责网页设计页面代码
  • 从神经信号到驾驶安全:Mentalab无线脑电图系统赋能汽车人因研究与HMI优化
  • AST语法树应用于sql检查
  • 分转科技:科技乐享生活,时尚分转未来
  • 推广型网站免费建设网页开发价格
  • Livox-Mid360驱动安装(ROS1/Ubuntu20.04)
  • 建设厅网站查询电工证件做枪版视频网站犯法吗
  • 开启C++新世界:从函数到对象的两天思维跃迁
  • C# 中Ping 网络连通性检测实战
  • 阿里 + 南洋理工新突破!MMR1 模型破解多模态推理训练难题,开源160 万数据 + 15k RL 样本!
  • 多模态PDF解析
  • 如何判断模型矩阵是否做了镜像