Panduan memulai Penggunaan Komputer

Halaman ini menunjukkan cara melakukan panggilan API langsung untuk membuat dan menggunakan lingkungan sandbox Penggunaan Komputer. Dalam panduan memulai ini, Anda akan melakukan tugas-tugas berikut:

  • Membuat instance Agent Platform untuk mengakses sandbox.
  • Membuat sandbox Penggunaan Komputer.
  • Membuat token akses untuk sandbox.
  • Mengirim permintaan untuk memeriksa status.
  • Membersihkan resource.

Sebelum memulai

Siapkan project dan lingkungan Anda.

Menyiapkan project

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. Enable the Gemini Enterprise Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Mendapatkan peran yang diperlukan

Untuk menggunakan sandbox dan membuat token, Anda memerlukan peran berikut:

  • Pengguna Agent Platform (roles/aiplatform.user) di project.
  • Service Account Token Creator (roles/iam.serviceAccountTokenCreator) di akun layanan yang digunakan untuk pembuatan token.
  • Akun layanan yang digunakan untuk pembuatan token juga harus memiliki peran Pengguna Agent Platform (roles/aiplatform.user) di project.

Menginstal library

Instal SDK Agent Platform:

pip install google-cloud-agentplatform>=2.0.1

Membuat instance Agent Platform

Untuk menggunakan sandbox, buat instance Agent Platform terlebih dahulu.

import agentplatform
client = agentplatform.Client(
    project='PROJECT_ID',
    location='LOCATION',
    http_options={
        "api_version": "v1beta1",
    }
)
remote_agent = client.runtimes.create()
remote_agent_name = remote_agent.api_resource.name

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda Cloud de Confiance .
  • LOCATION: Region untuk instance Anda (seperti us-central1).

Untuk mengenkripsi data sandbox menggunakan kunci enkripsi yang dikelola pelanggan (CMEK), Anda harus mengonfigurasi CMEK saat membuat instance Agent Platform. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi kunci enkripsi yang dikelola pelanggan (CMEK).

Membuat template untuk Penggunaan Komputer

Buat template sandbox yang akan Anda gunakan saat membuat sandbox Penggunaan Komputer.

# Create a default Computer Use sandbox template
templates_client = client.sandboxes.templates
tmplt_operation = templates_client.create(
    name=remote_agent_name,
    display_name='DISPLAY_NAME',
    config={
        "default_container_environment": {
            "default_container_category": "DEFAULT_CONTAINER_CATEGORY_COMPUTER_USE",
        },
        "egress_control_config": {
            "internet_access": True,
        },
    },
)
template_name = tmplt_operation.response.name
print(f"Created template: {template_name}")

Membuat sandbox Penggunaan Komputer

Buat lingkungan sandbox dari template.

# Create a sandbox environment referencing the template.
# To customize the lifetime, set `ttl` to a duration string in seconds (for example, "3600s" for 1 hour).
create_operation = client.sandboxes.create(
    name=remote_agent_name,
    config={
        "sandbox_environment_template": template_name,
        "display_name": 'DISPLAY_NAME',
        "ttl": "3600s",  # Optional. Overrides the default 2-hour sandbox lifetime.
    }
)
sandbox = create_operation.response
print(f"Created sandbox environment: {sandbox.name}")
print(f"Sandbox will expire at: {sandbox.expire_time}")

Membuat token akses

Untuk berinteraksi dengan sandbox, buat token akses token web JSON (JWT) menggunakan akun layanan.

service_account_email = "SERVICE_ACCOUNT_EMAIL"
access_token = client.sandboxes.generate_access_token(
    service_account_email=service_account_email,
)

Ganti SERVICE_ACCOUNT_EMAIL dengan email akun layanan yang memiliki peran Service Account Token Creator.

Mengirim permintaan ke sandbox

Kirim permintaan HTTP GET ke server API sandbox untuk memeriksa statusnya.

response = client.sandboxes.send_command(
    http_method="GET",
    access_token=access_token,
    sandbox_environment=sandbox
)
print(f"Sandbox response: {response.body}")

Kirim permintaan HTTP POST untuk membuka halaman tertentu.

data = {"command": "Page.navigate", "params": {"url": "https://example.com"}}

response = client.sandboxes.send_command(
    http_method="POST",
    path="cdp",
    access_token=access_token,
    request_dict=data,
    sandbox_environment=sandbox
)

Tabel berikut mencantumkan metode dan jalur tambahan yang dapat Anda kirim ke sandbox:

Metode Jalur Deskripsi
GET / Mendapatkan health check sandbox
POST /tabs Membuat tab baru dan menampilkan detailnya.
GET /tabs Mencantumkan detail untuk semua tab yang terbuka.
POST /tabs/{tab_id}/activate Menetapkan tab sebagai aktif dan membawanya ke latar depan.
HAPUS /tabs/{tab_id} Menutup tab tertentu.
GET /cdp_ws_endpoint Menampilkan jalur endpoint WebSocket CDP.
POST /cdp Menjalankan perintah CDP di tab aktif.
POST /cdps Menjalankan beberapa perintah CDP di tab aktif.

Untuk mengetahui informasi selengkapnya tentang perintah dan format CDP yang didukung, lihat situs CDP.

Pembersihan

Untuk menghindari tagihan, hapus resource yang dibuat dalam panduan memulai ini.

client.sandboxes.delete(name=sandbox.name)
remote_agent.delete()

Langkah berikutnya