電腦使用

Agent Platform Computer Use 沙箱提供安全隔離的瀏覽器環境,可供代理互動。代理可透過這些沙箱自動執行模擬人為互動的工作 (例如點選、瀏覽網站和擷取螢幕截圖)。

運作方式

建立電腦使用沙箱時,Gemini Enterprise Agent Platform 會佈建執行網頁瀏覽器代理的容器化環境。你可以透過下列兩種方式控制瀏覽器:

  • API 要求:將指令傳送至沙箱,執行前往網址、點選元素或輸入文字等動作。
  • 瀏覽器控制項:使用標準 Chrome DevTools 通訊協定 (CDP) 連線至瀏覽器,即可使用瀏覽器自動化工具 (例如 Playwright) 自動執行瀏覽器作業。

注意事項

在預覽期間,Agent Platform Computer Use Sandbox 的延遲時間會針對低流量進行最佳化。流量較高時,延遲時間可能會暫時增加。

使用 API 控制瀏覽器

您可以向沙箱傳送 API 要求,執行常見的瀏覽器動作。沙箱會在隔離環境中執行這些動作。

支援的動作包括:

  • 前往網址。
  • 在特定座標點按。
  • 在欄位中輸入文字。
  • 擷取螢幕截圖。

如需傳送指令的範例,請參閱「電腦使用快速入門」。

透過 CDP 連線控制瀏覽器

如要進行更進階的自動化作業,可以透過 Chrome DevTools 通訊協定 (CDP) 連線連線至沙箱瀏覽器。您可以使用 Playwright 等標準瀏覽器自動化工具與網頁互動。

如要將 Playwright 連線至沙箱,請按照下列步驟操作:

  1. 使用 Python SDK generate_browser_ws_headers 方法,為沙箱產生 WebSocket URL 和必要標頭。

      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 連線至沙箱。

後續步驟