返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

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

[复制链接]
链载Ai 显示全部楼层 发表于 5 天前 |阅读模式 打印 上一主题 下一主题
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. 创建并激活虚拟环境
uvvenv--python3.12

.venv\Scripts\activate
2. 安装 browser-use 及其依赖
uv pipinstallbrowser-use
uvx playwrightinstallchromium--with-deps
3. 配置环境变量
新建.env文件,添加以下内容:
#配置密钥 这里选择一个即可
#GEMINI_API_KEY=
#ANTHROPIC_API_KEY=
OPENAI_API_KEY=sk-xxx
4. 最小运行示例
以 ChatOpenAI 为例。
frombrowser_useimportAgent, ChatOpenAI
fromdotenvimportload_dotenv
importasyncio

load_dotenv()

asyncdefmain():
llm = ChatOpenAI(model="gpt-4.1-mini")
task ="Find the number 1 post on Show HN"
agent = Agent(task=task, llm=llm)
awaitagent.run()

if__name__ =="__main__":
asyncio.run(main())
browser-use 以 MCP 服务器 给智能体提供浏览器自动化工具
以 AgentScope 为例,使用 browser-use MCP 服务进行网页自动化操作。
启动 MCP 服务器
uvxbrowser-use--mcp
安装agentscope依赖
uv pipinstallagentscope 
uv pipinstallagentscope[full]
通过 StdIO 模式 连接 browser-use MCP 服务器,注册浏览器自动化工具,创建智能体。
可运行示例:
importos
importasyncio
importagentscope
fromagentscope.agentimportReActAgent, UserAgent
fromagentscope.modelimportDashScopeChatModel
fromagentscope.formatterimportDashScopeChatFormatter
fromagentscope.mcpimportStdIOStatefulClient
fromagentscope.toolimportToolkit
fromdotenvimportload_dotenv

# 加载环境变量
load_dotenv()

asyncdefbrowser_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
awaitbrowser_use_client.connect()

# 注册 browser-use MCP 工具
awaittoolkit.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
whileTrue:
msg =awaituser(msg)
ifmsg.get_text_content().lower() =="exit":
break
msg =awaitagent(msg)

exceptExceptionase:
print(e)

finally:
# 清理资源
try:
awaitbrowser_use_client.close()
exceptExceptionase:
print(e)

if__name__ =="__main__":
asyncio.run(browser_use_demo())

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ