计算机使用

Agent Platform 计算机使用沙盒提供了一个安全、隔离的浏览器环境,您的智能体可以在其中进行交互。借助这些沙盒,智能体可以自动执行模仿人类互动的任务(例如点击、浏览网站和截取屏幕截图)。

工作原理

创建“电脑使用”沙盒时,Gemini Enterprise Agent Platform 会预配一个运行 Web 浏览器代理的容器化环境。您可以通过以下两种方式控制浏览器:

  • API 请求:向沙盒发送命令,以执行前往网址、点击元素或输入文本等操作。
  • 浏览器控制:通过标准 Chrome DevTools 协议 (CDP) 连接到浏览器,让您可以使用浏览器自动化工具(例如 Playwright)来自动化浏览器。

注意事项

在预览期间,Agent Platform 计算机使用沙盒延迟针对低流量进行了优化。如果流量较高,延迟时间可能会暂时延长。

使用 API 控制浏览器

您可以向沙盒发送 API 请求,以执行常见的浏览器操作。沙盒会在其隔离的环境中处理这些操作的执行。

支持的操作包括:

  • 前往某个网址。
  • 点击特定坐标。
  • 在字段中输入文字。
  • 截取屏幕截图。

如需查看有关如何发送命令的示例,请参阅电脑使用快速入门

使用 CDP 连接控制浏览器

如需实现更高级的自动化,您可以通过 Chrome DevTools 协议 (CDP) 连接到沙盒浏览器。此方法可让您使用标准浏览器自动化工具(例如 Playwright)与网页互动。

如需将 Playwright 连接到沙盒,请执行以下操作:

  1. 使用 Python SDK generate_browser_ws_headers 方法为沙盒生成 WebSocket 网址和必需的标头。

      service_account_email = "SERVICE_ACCOUNT_EMAIL"
      ws_url, ws_headers = client.agent_engines.sandboxes.generate_browser_ws_headers(
          sandbox_environment=sandbox,
          service_account_email=service_account_email,
      )
    
  2. 使用 Playwright 的 connect_over_cdp 方法建立连接。

    使用生成的 WebSocket 网址和标头通过 Playwright 使用 CDP 进行连接:

      import asyncio
      from playwright.async_api import async_playwright
      import nest_asyncio
      nest_asyncio.apply()
    
      async def connect_over_cdp(ws_url, ws_headers):
          async with async_playwright() as p:
              try:
                  browser = await p.chromium.connect_over_cdp(
                      endpoint_url=ws_url,
                      headers=ws_headers
                  )
                  print("Successfully connected to browser over CDP.")
    
                  # You can now interact with the browser
                  page = browser.contexts[0].pages[0]
                  await page.goto("https://www.example.com")
                  print(f"Page title: {await page.title()}")
    
                  await browser.close()
                  print("Browser connection closed.")
              except Exception as e:
                  print(f"An error occurred: {e}")
    
      # Run CDP connection
      asyncio.run(connect_over_cdp(ws_url, ws_headers))
    

直播视图

计算机使用沙盒支持实时流式传输视图 (VNC),让您可以直观地实时监控代理的操作。您可以调试并观察代理的行为。

例如,您可以使用 noVNC 通过 WebSocket 连接到沙盒。

后续步骤