免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


用 Browser-Use 打造可操作浏览器的 AI 智能体

发布日期:2025-10-21 17:01:53 浏览次数: 1527
作者:赋范大模型技术圈

微信搜一搜,关注“赋范大模型技术圈”

推荐语

Browser-Use让AI真正"上网冲浪",赋予大模型操作浏览器的能力,开启Web自动化新纪元。

核心内容:
1. Browser-Use的核心功能与模块化设计
2. 三大落地场景:广告生成、QA测试、新闻监控
3. 快速上手指南与环境配置方法

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家
browser-use 简介
Browser-Use 是一个让 大模型与真实浏览器交互 的 Python 工具,可轻松实现浏览器自动化。
它让智能体具备“看网页、点按钮、填表单、提取数据、执行脚本”等实际操作能力,从而扩展 AI 在真实 Web 世界的落地场景。
亮点特性
🧩 原生浏览器控制支持真实浏览器环境,可进行完整页面操作与状态持久化。
🧠 与大模型深度集成可直接与大模型协作,或作为 MCP Server 向其他智能体提供浏览器操作能力。
🔗 模块化设计,易扩展可以快速构建定制应用,如广告生成器、新闻抓取器、消息发送器等。
使用场景
1.智能广告生成:从网页到创意素材全自动
营销团队往往需要从产品页面中提取卖点,生成多平台广告。
有了 Browser-Use,智能体可以直接“浏览”网页,分析品牌、图像、文案结构,然后让大模型生成:
  • Instagram / TikTok 广告图文组合
  • 多版本广告文案,用于 A/B 测试
  • 简短视频脚本和标题
2.智能 QA 测试:让 AI 发现网页 bug
传统自动化测试需要写脚本,而 Browser-Use 让 AI 能“自己探索”。
智能体启动多个浏览器实例,自动访问页面、点链接、提交表单,并结合大模型理解网页状态。
3.智能新闻监控: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 asyncio

load_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 MCP
    2. 注册浏览器自动化工具
    3. 创建智能体
    """

    # 初始化 AgentScope
    agentscope.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 MCP
        await 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 = None
        while True:
            msg = await user(msg)
            if msg.get_text_content().lower() == "exit":
                break
            msg = 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())

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询