Gemini Environments API

Môi trường cung cấp các bối cảnh thực thi riêng biệt để chạy mã, công cụ và dịch vụ của tác nhân một cách an toàn.

CreateEnvironment

post https://generativelanguage.googleapis.com/v1beta/environments

Tạo một môi trường.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu với cấu trúc sau:

network EnvironmentNetworkEgressAllowlist hoặc enum (chuỗi)  (không bắt buộc)

Cấu hình mạng cho môi trường.

Cấu hình mạng đi cho hộp cát. Chấp nhận một đối tượng có mảng "allowlist" để hạn chế lưu lượng truy cập hoặc chuỗi "disabled" để tắt tất cả quyền truy cập vào mạng. Bỏ qua hoàn toàn để cho phép tất cả lưu lượng truy cập đi ra mà không cần chèn tiêu đề.

Các loại có thể có

object

Cấu hình mạng đi cho hộp cát. Khi được chỉ định, hạn chế những miền bên ngoài mà hộp cát có thể truy cập. Bỏ qua hoàn toàn để cho phép tất cả lưu lượng truy cập đi ra mà không cần chèn tiêu đề.

allowlist array (AllowlistEntry)  (không bắt buộc)

Danh sách các miền gửi đi được cho phép. Chỉ những yêu cầu đến các miền có trong danh sách mới được phép. Hãy dùng [{'domain': '*'}] để cho phép tất cả miền trong khi vẫn chèn tiêu đề vào các miền cụ thể.

Một quy tắc danh sách cho phép theo miền duy nhất có tính năng chèn tiêu đề (không bắt buộc).

Trường

domain string  (không bắt buộc)

Miền cho phép các yêu cầu đi ra. Hỗ trợ ký tự đại diện (ví dụ: "*.googleapis.com"). Hãy dùng "*" để cho phép tất cả miền.

transform mảng (đối tượng) hoặc đối tượng  (không bắt buộc)

Tiêu đề cần chèn vào tất cả các yêu cầu đi khớp với miền này. Chấp nhận một dict duy nhất hoặc một danh sách các dict. Proxy truyền dữ liệu ra sẽ tự động chèn các thông tin này.

string

Tắt tất cả mạng.

Giá trị được phép

  • disabled

    Tắt tất cả mạng.

sources mảng (Nguồn)  (không bắt buộc)

Các nguồn sẽ được gắn vào môi trường.

Một nguồn sẽ được gắn vào môi trường.

Trường

content string  (không bắt buộc)

Nội dung cùng dòng nếu "type" là "INLINE".

encoding string  (không bắt buộc)

Mã hoá không bắt buộc cho nội dung nội tuyến (ví dụ: "base64").

source string  (không bắt buộc)

Nguồn của môi trường. Đối với Cloud Storage, đây là đường dẫn Cloud Storage. Đối với GitHub, đây là đường dẫn GitHub.

target string  (không bắt buộc)

Nơi nguồn sẽ xuất hiện trong môi trường.

type enum (string)  (không bắt buộc)

Không có mô tả nào được cung cấp.

Các giá trị có thể có:

  • gcs

    Một bộ chứa Cloud Storage.

  • inline

    Nội dung cùng dòng.

  • repository

    Một kho lưu trữ chung. Tiền tố giao thức trong URL nguồn xác định nhà cung cấp (ví dụ: github://, gcs://).

Phản hồi

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

created string  (không bắt buộc)

Chỉ có đầu ra. Thời gian tạo môi trường theo định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

file_count string  (không bắt buộc)

Chỉ có đầu ra. Số lượng tệp trong môi trường, chỉ có đầu ra.

id string  (không bắt buộc)

Bắt buộc. Chỉ có đầu ra. Mã nhận dạng của môi trường.

last_accessed string  (không bắt buộc)

Chỉ có đầu ra. Thời gian truy cập lần gần đây nhất vào môi trường ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist hoặc enum (chuỗi)  (không bắt buộc)

Cấu hình mạng cho môi trường.

Cấu hình mạng đi cho hộp cát. Chấp nhận một đối tượng có mảng "allowlist" để hạn chế lưu lượng truy cập hoặc chuỗi "disabled" để tắt tất cả quyền truy cập vào mạng. Bỏ qua hoàn toàn để cho phép tất cả lưu lượng truy cập đi ra mà không cần chèn tiêu đề.

Các loại có thể có

object

Cấu hình mạng đi cho hộp cát. Khi được chỉ định, hạn chế những miền bên ngoài mà hộp cát có thể truy cập. Bỏ qua hoàn toàn để cho phép tất cả lưu lượng truy cập đi ra mà không cần chèn tiêu đề.

allowlist array (AllowlistEntry)  (không bắt buộc)

Danh sách các miền gửi đi được cho phép. Chỉ những yêu cầu đến các miền có trong danh sách mới được phép. Hãy dùng [{'domain': '*'}] để cho phép tất cả miền trong khi vẫn chèn tiêu đề vào các miền cụ thể.

Một quy tắc danh sách cho phép theo miền duy nhất có tính năng chèn tiêu đề (không bắt buộc).

Trường

domain string  (không bắt buộc)

Miền cho phép các yêu cầu đi ra. Hỗ trợ ký tự đại diện (ví dụ: "*.googleapis.com"). Hãy dùng "*" để cho phép tất cả miền.

transform mảng (đối tượng) hoặc đối tượng  (không bắt buộc)

Tiêu đề cần chèn vào tất cả các yêu cầu đi khớp với miền này. Chấp nhận một dict duy nhất hoặc một danh sách các dict. Proxy truyền dữ liệu ra sẽ tự động chèn các thông tin này.

string

Tắt tất cả mạng.

Giá trị được phép

  • disabled

    Tắt tất cả mạng.

size_bytes string  (không bắt buộc)

Chỉ có đầu ra. Tổng kích thước của các tệp môi trường tính bằng byte, chỉ có đầu ra.

sources mảng (Nguồn)  (không bắt buộc)

Các nguồn sẽ được gắn vào môi trường.

Một nguồn sẽ được gắn vào môi trường.

Trường

content string  (không bắt buộc)

Nội dung cùng dòng nếu "type" là "INLINE".

encoding string  (không bắt buộc)

Mã hoá không bắt buộc cho nội dung nội tuyến (ví dụ: "base64").

source string  (không bắt buộc)

Nguồn của môi trường. Đối với Cloud Storage, đây là đường dẫn Cloud Storage. Đối với GitHub, đây là đường dẫn GitHub.

target string  (không bắt buộc)

Nơi nguồn sẽ xuất hiện trong môi trường.

type enum (string)  (không bắt buộc)

Không có mô tả nào được cung cấp.

Các giá trị có thể có:

  • gcs

    Một bộ chứa Cloud Storage.

  • inline

    Nội dung cùng dòng.

  • repository

    Một kho lưu trữ chung. Tiền tố giao thức trong URL nguồn xác định nhà cung cấp (ví dụ: github://, gcs://).

status enum (string)  (không bắt buộc)

Chỉ có đầu ra. Trạng thái của vùng chứa môi trường.

Các giá trị có thể có:

  • active

    Chỉ có đầu ra. Trạng thái của vùng chứa môi trường.

  • expired

    Chỉ có đầu ra. Trạng thái của vùng chứa môi trường.

updated string  (không bắt buộc)

Chỉ có đầu ra. Thời gian cập nhật môi trường lần gần đây nhất ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

Tạo Môi trường

Ví dụ về phản hồi

{
  "created": "2026-08-19T00:00:00Z",
  "id": "env_abc123",
  "last_accessed": "2026-08-19T00:00:00Z",
  "sources": [
    {
      "type": "inline",
      "content": "print('Hello, World!')",
      "target": "main.py"
    }
  ],
  "status": "active",
  "updated": "2026-08-19T00:00:00Z"
}

ListEnvironments

get https://generativelanguage.googleapis.com/v1beta/environments

Liệt kê các môi trường.

Tham số đường dẫn / truy vấn

page_size integer  (không bắt buộc)

Không bắt buộc. Số lượng môi trường tối đa cần trả về. Nếu không được chỉ định, giá trị mặc định là 50. Tối đa là 1.000.

page_token string  (không bắt buộc)

Không bắt buộc. Mã phân trang.

Phản hồi

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

environments mảng (Environment)  (không bắt buộc)

Các môi trường thuộc dự án được cung cấp.

next_page_token string  (không bắt buộc)

Mã phân trang.

Liệt kê môi trường

Ví dụ về phản hồi

{
  "environments": [
    {
      "created": "2026-08-19T00:00:00Z",
      "id": "env_abc123",
      "last_accessed": "2026-08-19T00:00:00Z",
      "status": "active",
      "updated": "2026-08-19T00:00:00Z"
    }
  ]
}

GetEnvironmentFiles

get https://generativelanguage.googleapis.com/v1beta/environments/{environment}/files/{path}

Truy xuất siêu dữ liệu tệp hoặc nội dung thư mục từ ảnh chụp nhanh của một môi trường. Để tải trực tiếp nội dung tệp xuống, hãy truyền ?alt=media hoặc sử dụng trình trợ giúp files.download.

Tham số đường dẫn / truy vấn

page_size integer  (không bắt buộc)

Không bắt buộc. Số lượng mục tối đa cần trả về trên mỗi trang (đối với trang thông tin doanh nghiệp).

page_token string  (không bắt buộc)

Không bắt buộc. Mã thông báo phân trang cho trang thông tin doanh nghiệp.

recursive boolean  (không bắt buộc)

Không bắt buộc. Nếu đúng và đường dẫn là một thư mục, hãy liệt kê tất cả các tệp theo cách đệ quy.

Phản hồi

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

files array (EnvironmentFile)  (không bắt buộc)

Nếu đường dẫn được yêu cầu là một thư mục, thì đường dẫn này sẽ chứa nội dung của thư mục đó. Nếu đường dẫn được yêu cầu là một tệp, thì đường dẫn này sẽ chứa một mục nhập duy nhất có siêu dữ liệu của tệp. Nếu bạn chỉ định alt=media, thì tham số này sẽ trống (nội dung được phân phát qua "blob").

Siêu dữ liệu cho một tệp hoặc thư mục trong một môi trường.

Trường

created string  (không bắt buộc)

Chỉ có đầu ra. Thời gian tạo tệp/thư mục.

mime_type string  (không bắt buộc)

Chỉ có đầu ra. Loại MIME của tệp (ví dụ: "text/python", "image/png"). Không có đối với thư mục. NOLINT

modified string  (không bắt buộc)

Chỉ có đầu ra. Thời gian sửa đổi của tệp/thư mục.

name string  (không bắt buộc)

Chỉ có đầu ra. Tên của tệp hoặc thư mục (ví dụ: "main.py" hoặc "src").

path string  (không bắt buộc)

Chỉ có đầu ra. Đường dẫn tương đối đầy đủ trong môi trường (ví dụ: "workspace/src/main.py").

size_bytes string  (không bắt buộc)

Chỉ có đầu ra. Kích thước của tệp/thư mục tính bằng byte. NOLINT

type enum (string)  (không bắt buộc)

Chỉ có đầu ra. Loại mục nhập.

Các giá trị có thể có:

  • file

    Tệp thông thường.

  • directory

    Một thư mục.

next_page_token string  (không bắt buộc)

Mã thông báo phân trang cho trang thông tin doanh nghiệp. NOLINT

Liệt kê tệp trong môi trường

Ví dụ về phản hồi

{
  "files": [
    {
      "name": "src",
      "type": "directory",
      "created": "2026-08-19T00:00:00Z",
      "modified": "2026-08-19T00:00:00Z",
      "path": "src"
    },
    {
      "name": "main.py",
      "type": "file",
      "created": "2026-08-19T00:00:00Z",
      "mime_type": "text/x-python",
      "modified": "2026-08-19T00:00:00Z",
      "path": "main.py",
      "size_bytes": "22"
    }
  ]
}

Lấy siêu dữ liệu của tệp

Ví dụ về phản hồi

{
  "files": [
    {
      "name": "main.py",
      "type": "file",
      "created": "2026-08-19T00:00:00Z",
      "mime_type": "text/x-python",
      "modified": "2026-08-19T00:00:00Z",
      "path": "main.py",
      "size_bytes": "22"
    }
  ]
}

Tải nội dung tệp xuống

Ví dụ về phản hồi

{
  "files": [
    {
      "name": "main.py",
      "type": "file",
      "mime_type": "text/x-python",
      "path": "main.py",
      "size_bytes": "22"
    }
  ]
}

GetEnvironment

get https://generativelanguage.googleapis.com/v1beta/environments/{id}

Nhận một môi trường.

Phản hồi

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

created string  (không bắt buộc)

Chỉ có đầu ra. Thời gian tạo môi trường theo định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

file_count string  (không bắt buộc)

Chỉ có đầu ra. Số lượng tệp trong môi trường, chỉ có đầu ra.

id string  (không bắt buộc)

Bắt buộc. Chỉ có đầu ra. Mã nhận dạng của môi trường.

last_accessed string  (không bắt buộc)

Chỉ có đầu ra. Thời gian truy cập lần gần đây nhất vào môi trường ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist hoặc enum (chuỗi)  (không bắt buộc)

Cấu hình mạng cho môi trường.

Cấu hình mạng đi cho hộp cát. Chấp nhận một đối tượng có mảng "allowlist" để hạn chế lưu lượng truy cập hoặc chuỗi "disabled" để tắt tất cả quyền truy cập vào mạng. Bỏ qua hoàn toàn để cho phép tất cả lưu lượng truy cập đi ra mà không cần chèn tiêu đề.

Các loại có thể có

object

Cấu hình mạng đi cho hộp cát. Khi được chỉ định, hạn chế những miền bên ngoài mà hộp cát có thể truy cập. Bỏ qua hoàn toàn để cho phép tất cả lưu lượng truy cập đi ra mà không cần chèn tiêu đề.

allowlist array (AllowlistEntry)  (không bắt buộc)

Danh sách các miền gửi đi được cho phép. Chỉ những yêu cầu đến các miền có trong danh sách mới được phép. Hãy dùng [{'domain': '*'}] để cho phép tất cả miền trong khi vẫn chèn tiêu đề vào các miền cụ thể.

Một quy tắc danh sách cho phép theo miền duy nhất có tính năng chèn tiêu đề (không bắt buộc).

Trường

domain string  (không bắt buộc)

Miền cho phép các yêu cầu đi ra. Hỗ trợ ký tự đại diện (ví dụ: "*.googleapis.com"). Hãy dùng "*" để cho phép tất cả miền.

transform mảng (đối tượng) hoặc đối tượng  (không bắt buộc)

Tiêu đề cần chèn vào tất cả các yêu cầu đi khớp với miền này. Chấp nhận một dict duy nhất hoặc một danh sách các dict. Proxy truyền dữ liệu ra sẽ tự động chèn các thông tin này.

string

Tắt tất cả mạng.

Giá trị được phép

  • disabled

    Tắt tất cả mạng.

size_bytes string  (không bắt buộc)

Chỉ có đầu ra. Tổng kích thước của các tệp môi trường tính bằng byte, chỉ có đầu ra.

sources mảng (Nguồn)  (không bắt buộc)

Các nguồn sẽ được gắn vào môi trường.

Một nguồn sẽ được gắn vào môi trường.

Trường

content string  (không bắt buộc)

Nội dung cùng dòng nếu "type" là "INLINE".

encoding string  (không bắt buộc)

Mã hoá không bắt buộc cho nội dung nội tuyến (ví dụ: "base64").

source string  (không bắt buộc)

Nguồn của môi trường. Đối với Cloud Storage, đây là đường dẫn Cloud Storage. Đối với GitHub, đây là đường dẫn GitHub.

target string  (không bắt buộc)

Nơi nguồn sẽ xuất hiện trong môi trường.

type enum (string)  (không bắt buộc)

Không có mô tả nào được cung cấp.

Các giá trị có thể có:

  • gcs

    Một bộ chứa Cloud Storage.

  • inline

    Nội dung cùng dòng.

  • repository

    Một kho lưu trữ chung. Tiền tố giao thức trong URL nguồn xác định nhà cung cấp (ví dụ: github://, gcs://).

status enum (string)  (không bắt buộc)

Chỉ có đầu ra. Trạng thái của vùng chứa môi trường.

Các giá trị có thể có:

  • active

    Chỉ có đầu ra. Trạng thái của vùng chứa môi trường.

  • expired

    Chỉ có đầu ra. Trạng thái của vùng chứa môi trường.

updated string  (không bắt buộc)

Chỉ có đầu ra. Thời gian cập nhật môi trường lần gần đây nhất ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

Nhận môi trường

Ví dụ về phản hồi

{
  "created": "2026-08-19T00:00:00Z",
  "id": "env_abc123",
  "last_accessed": "2026-08-19T00:00:00Z",
  "sources": [
    {
      "type": "inline",
      "content": "print('Hello, World!')",
      "target": "main.py"
    }
  ],
  "status": "active",
  "updated": "2026-08-19T00:00:00Z"
}

DeleteEnvironment

delete https://generativelanguage.googleapis.com/v1beta/environments/{id}

Xoá một môi trường.

Phản hồi

Nếu thành công, phản hồi sẽ trống.

Xoá môi trường

Tài nguyên

Môi trường

Môi trường thực thi cho một tác nhân.

Trường

created string  (không bắt buộc)

Chỉ có đầu ra. Thời gian tạo môi trường theo định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

file_count string  (không bắt buộc)

Chỉ có đầu ra. Số lượng tệp trong môi trường, chỉ có đầu ra.

id string  (không bắt buộc)

Bắt buộc. Chỉ có đầu ra. Mã nhận dạng của môi trường.

last_accessed string  (không bắt buộc)

Chỉ có đầu ra. Thời gian truy cập lần gần đây nhất vào môi trường ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist hoặc enum (chuỗi)  (không bắt buộc)

Cấu hình mạng cho môi trường.

Cấu hình mạng đi cho hộp cát. Chấp nhận một đối tượng có mảng "allowlist" để hạn chế lưu lượng truy cập hoặc chuỗi "disabled" để tắt tất cả quyền truy cập vào mạng. Bỏ qua hoàn toàn để cho phép tất cả lưu lượng truy cập đi ra mà không cần chèn tiêu đề.

Các loại có thể có

object

Cấu hình mạng đi cho hộp cát. Khi được chỉ định, hạn chế những miền bên ngoài mà hộp cát có thể truy cập. Bỏ qua hoàn toàn để cho phép tất cả lưu lượng truy cập đi ra mà không cần chèn tiêu đề.

allowlist array (AllowlistEntry)  (không bắt buộc)

Danh sách các miền gửi đi được cho phép. Chỉ những yêu cầu đến các miền có trong danh sách mới được phép. Hãy dùng [{'domain': '*'}] để cho phép tất cả miền trong khi vẫn chèn tiêu đề vào các miền cụ thể.

Một quy tắc danh sách cho phép theo miền duy nhất có tính năng chèn tiêu đề (không bắt buộc).

Trường

domain string  (không bắt buộc)

Miền cho phép các yêu cầu đi ra. Hỗ trợ ký tự đại diện (ví dụ: "*.googleapis.com"). Hãy dùng "*" để cho phép tất cả miền.

transform mảng (đối tượng) hoặc đối tượng  (không bắt buộc)

Tiêu đề cần chèn vào tất cả các yêu cầu đi khớp với miền này. Chấp nhận một dict duy nhất hoặc một danh sách các dict. Proxy truyền dữ liệu ra sẽ tự động chèn các thông tin này.

string

Tắt tất cả mạng.

Giá trị được phép

  • disabled

    Tắt tất cả mạng.

size_bytes string  (không bắt buộc)

Chỉ có đầu ra. Tổng kích thước của các tệp môi trường tính bằng byte, chỉ có đầu ra.

sources mảng (Nguồn)  (không bắt buộc)

Các nguồn sẽ được gắn vào môi trường.

Một nguồn sẽ được gắn vào môi trường.

Trường

content string  (không bắt buộc)

Nội dung cùng dòng nếu "type" là "INLINE".

encoding string  (không bắt buộc)

Mã hoá không bắt buộc cho nội dung nội tuyến (ví dụ: "base64").

source string  (không bắt buộc)

Nguồn của môi trường. Đối với Cloud Storage, đây là đường dẫn Cloud Storage. Đối với GitHub, đây là đường dẫn GitHub.

target string  (không bắt buộc)

Nơi nguồn sẽ xuất hiện trong môi trường.

type enum (string)  (không bắt buộc)

Không có mô tả nào được cung cấp.

Các giá trị có thể có:

  • gcs

    Một bộ chứa Cloud Storage.

  • inline

    Nội dung cùng dòng.

  • repository

    Một kho lưu trữ chung. Tiền tố giao thức trong URL nguồn xác định nhà cung cấp (ví dụ: github://, gcs://).

status enum (string)  (không bắt buộc)

Chỉ có đầu ra. Trạng thái của vùng chứa môi trường.

Các giá trị có thể có:

  • active

    Chỉ có đầu ra. Trạng thái của vùng chứa môi trường.

  • expired

    Chỉ có đầu ra. Trạng thái của vùng chứa môi trường.

updated string  (không bắt buộc)

Chỉ có đầu ra. Thời gian cập nhật môi trường lần gần đây nhất ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).