链载Ai

标题: 用 Browser-Use 打造可操作浏览器的 AI 智能体 [打印本页]

作者: 链载Ai    时间: 5 天前
标题: 用 Browser-Use 打造可操作浏览器的 AI 智能体
browser-use 简介
Browser-Use 是一个让 大模型与真实浏览器交互 的 Python 工具,可轻松实现浏览器自动化。
它让智能体具备“看网页、点按钮、填表单、提取数据、执行脚本”等实际操作能力,从而扩展 AI 在真实 Web 世界的落地场景。
亮点特性
🧩原生浏览器控制:支持真实浏览器环境,可进行完整页面操作与状态持久化。
🧠与大模型深度集成:可直接与大模型协作,或作为 MCP Server 向其他智能体提供浏览器操作能力。
🔗模块化设计,易扩展:可以快速构建定制应用,如广告生成器、新闻抓取器、消息发送器等。
使用场景
1.智能广告生成:从网页到创意素材全自动
营销团队往往需要从产品页面中提取卖点,生成多平台广告。
有了 Browser-Use,智能体可以直接“浏览”网页,分析品牌、图像、文案结构,然后让大模型生成:
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 (http://www.lianzai.com/) Powered by Discuz! X3.5