Browser-Use 打造可操作浏览器的 AI 智能体
browser-use 简介
Browser-Use 是一个让 大模型与真实浏览器交互 的 Python 工具,可轻松实现浏览器自动化。
它让智能体具备“看网页、点按钮、填表单、提取数据、执行脚本”等实际操作能力,从而扩展 AI 在真实 Web 世界的落地场景。
亮点特性
🧩 原生浏览器控制:
支持真实浏览器环境,可进行完整页面操作与状态持久化。
🧠 与大模型深度集成:
可直接与大模型协作,或作为 MCP Server 向其他智能体提供浏览器操作能力。
🔗 模块化设计,易扩展:
可以快速构建定制应用,如广告生成器、新闻抓取器、消息发送器等。
使用场景
1.智能广告生成:从网页到创意素材全自动
AI 自动访问落地页 → 理解内容 → 生成广告图与文案
营销团队往往需要从产品页面中提取卖点,生成多平台广告。
有了 Browser-Use,智能体可以直接“浏览”网页,分析品牌、图像、文案结构,然后让大模型生成:
- Instagram / TikTok 广告图文组合
- 多版本广告文案,用于 A/B 测试
- 简短视频脚本和标题
2.智能 QA 测试:让 AI 发现网页 bug
AI 作为虚拟测试员,用真实浏览器跑一遍你的站点,发现 bug 并报告。
传统自动化测试需要写脚本,而 Browser-Use 让 AI 能“自己探索”。
智能体启动多个浏览器实例,自动访问页面、点链接、提交表单,并结合大模型理解网页状态。
3.智能新闻监控:AI 主动读新闻并总结观点
AI 定时浏览新闻网站 → 提取文章 → 生成摘要与情感分析
通过 Browser-Use 控制浏览器,AI 可以像人一样上新闻网站抓取内容。
结合大模型,就能实现:
- 自动提取标题、正文、时间、链接
- 一键生成短摘要 / 长报告
- 做情感分析(正向 / 负向 / 中立)
- 聚类新闻主题、跟踪事件演变
快速上手实战
1. 创建并激活虚拟环境
uv venv --python 3.12.venv\Scripts\activate
2. 安装 browser-use 及其依赖
uv pip install browser-use
uvx playwright install chromium --with-deps
3. 配置环境变量
新建 .env
文件,添加以下内容:
# 配置密钥 这里选择一个即可
# GEMINI_API_KEY=
# ANTHROPIC_API_KEY=
OPENAI_API_KEY=sk-xxx
4. 最小运行示例
以 ChatOpenAI 为例。
from browser_use import Agent, ChatOpenAI
from dotenv import load_dotenv
import asyncioload_dotenv()async def main():llm = ChatOpenAI(model="gpt-4.1-mini")task = "Find the number 1 post on Show HN"agent = Agent(task=task, llm=llm)await agent.run()if __name__ == "__main__":asyncio.run(main())
browser-use 以 MCP 服务器 给智能体提供浏览器自动化工具
以 AgentScope 为例,使用 browser-use MCP 服务进行网页自动化操作。
启动 MCP 服务器
uvx browser-use --mcp
安装agentscope依赖
uv pip install agentscope
uv pip install agentscope[full]
通过 StdIO 模式 连接 browser-use MCP 服务器,注册浏览器自动化工具,创建智能体。
可运行示例:
import os
import asyncio
import agentscope
from agentscope.agent import ReActAgent, UserAgent
from agentscope.model import DashScopeChatModel
from agentscope.formatter import DashScopeChatFormatter
from agentscope.mcp import StdIOStatefulClient
from agentscope.tool import Toolkit
from dotenv import load_dotenv# 加载环境变量
load_dotenv()async def browser_use_demo():"""1. 连接 browser-use MCP2. 注册浏览器自动化工具3. 创建智能体"""# 初始化 AgentScopeagentscope.init()# 创建工具包toolkit = Toolkit()# 创建 Browser-use MCP 客户端# 环境变量配置browser_env = {"OPENAI_API_KEY": os.environ.get("OPENAI_API_KEY"),"BROWSER_USE_HEADLESS": os.environ.get("BROWSER_USE_HEADLESS", "true"),"BROWSER_USE_DISABLE_SECURITY": os.environ.get("BROWSER_USE_DISABLE_SECURITY", "false"),}# 以 StdIO 创建 Browser-use MCP 客户端browser_use_client = StdIOStatefulClient(name="browser_use_mcp",command="browser-use", args=["--mcp"],env=browser_env)try:# 连接到 browser-use MCPawait browser_use_client.connect()# 注册 browser-use MCP 工具await toolkit.register_mcp_client(browser_use_client)# 创建支持浏览器操作的智能体agent = ReActAgent(name="BrowserBot",sys_prompt="""你是一个网页自动化助手,能够执行各种浏览器操作。""",model=DashScopeChatModel(api_key=os.environ.get("DASHSCOPE_API_KEY"),model_name="qwen-max",enable_thinking=False,stream=True,),formatter=DashScopeChatFormatter(),toolkit=toolkit,parallel_tool_calls=True,)# 创建用户智能体user = UserAgent(name="User")print("\n🤖 Browser-use 智能体已准备就绪!")print("💡 你可以要求我执行各种网页自动化任务,例如:")print(" - 访问http://xxx")print(" - 点击xxx按钮")print(" - 填写表单,在xxx输入xxx")print(" - 输入 'exit' 退出程序\n")# 交互循环msg = Nonewhile True:msg = await user(msg)if msg.get_text_content().lower() == "exit":breakmsg = await agent(msg)except Exception as e:print(e)finally:# 清理资源try:await browser_use_client.close()except Exception as e:print(e)if __name__ == "__main__":asyncio.run(browser_use_demo())
官方资源
browser-use 官网
browser-use 项目仓库
browser-use 文档