browser_use_setup_demo.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. """
  2. Browser-Use 自动设置演示
  3. 展示如何使用自动检查和安装工具
  4. """
  5. import asyncio
  6. from agent.skills.browser_use import (
  7. check_browser_use,
  8. install_browser_use_chromium
  9. )
  10. from agent.tools.builtin import skill
  11. async def demo():
  12. """演示 browser-use 设置流程"""
  13. print("=" * 60)
  14. print("Browser-Use 自动设置演示")
  15. print("=" * 60)
  16. # 1. 加载 skill(会自动检查依赖)
  17. print("\n1. 加载 browser-use skill(自动检查依赖)")
  18. result = await skill(skill_name="browser-use")
  19. print(f"✅ {result.title}")
  20. if "⚠️" in result.output:
  21. print(" 检测到缺失的依赖,输出中包含安装提示")
  22. # 2. 手动检查依赖
  23. print("\n2. 手动检查依赖状态")
  24. result = await check_browser_use()
  25. print(f"✅ {result.title}")
  26. print(f" CLI 已安装: {result.metadata.get('cli_installed', False)}")
  27. print(f" Chromium 已安装: {result.metadata.get('chromium_installed', False)}")
  28. print(f" 状态: {result.metadata.get('status', 'unknown')}")
  29. # 3. 自动安装 Chromium(如果需要)
  30. if not result.metadata.get("chromium_installed", False):
  31. print("\n3. 安装 Chromium 浏览器(可选)")
  32. print(" 注意:这会下载 200-300MB 数据")
  33. # 用户确认
  34. confirm = input(" 是否继续安装?(y/N): ")
  35. if confirm.lower() == "y":
  36. result = await install_browser_use_chromium()
  37. print(f" {result.title}")
  38. if result.metadata.get("installed"):
  39. print(" ✅ 安装成功")
  40. else:
  41. print(" ❌ 安装失败,请查看输出")
  42. else:
  43. print(" 跳过安装")
  44. else:
  45. print("\n3. Chromium 已安装,跳过")
  46. print("\n" + "=" * 60)
  47. print("演示完成!")
  48. print("=" * 60)
  49. if __name__ == "__main__":
  50. asyncio.run(demo())