Browser-Use 是一个让 大模型与真实浏览器交互 的 Python 工具,可轻松实现浏览器自动化。它让智能体具备“看网页、点按钮、填表单、提取数据、执行脚本”等实际操作能力,从而扩展 AI 在真实 Web 世界的落地场景。🧩原生浏览器控制:支持真实浏览器环境,可进行完整页面操作与状态持久化。🧠与大模型深度集成:可直接与大模型协作,或作为 MCP Server 向其他智能体提供浏览器操作能力。🔗模块化设计,易扩展:可以快速构建定制应用,如广告生成器、新闻抓取器、消息发送器等。营销团队往往需要从产品页面中提取卖点,生成多平台广告。有了 Browser-Use,智能体可以直接“浏览”网页,分析品牌、图像、文案结构,然后让大模型生成:- Instagram / TikTok 广告图文组合
传统自动化测试需要写脚本,而 Browser-Use 让 AI 能“自己探索”。智能体启动多个浏览器实例,自动访问页面、点链接、提交表单,并结合大模型理解网页状态。通过 Browser-Use 控制浏览器,AI 可以像人一样上新闻网站抓取内容。uvvenv--python3.12
.venv\Scripts\activate
uv pipinstallbrowser-use uvx playwrightinstallchromium--with-deps
#配置密钥 这里选择一个即可 #GEMINI_API_KEY= #ANTHROPIC_API_KEY= OPENAI_API_KEY=sk-xxx
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 服务进行网页自动化操作。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())
|