AgentCard

AgentCard menyampaikan informasi utama: - Detail keseluruhan (versi, nama, deskripsi, penggunaan) - Kemampuan; serangkaian tindakan/solusi yang dapat dilakukan agen - Jenis konten/modalitas default yang didukung oleh agen. - Persyaratan autentikasi ID Berikutnya: 19

Representasi JSON
{
  "protocolVersion": string,
  "name": string,
  "description": string,
  "url": string,
  "preferredTransport": string,
  "additionalInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "provider": {
    object (AgentProvider)
  },
  "version": string,
  "documentationUrl": string,
  "capabilities": {
    object (AgentCapabilities)
  },
  "securitySchemes": {
    string: {
      object (SecurityScheme)
    },
    ...
  },
  "security": [
    {
      object (Security)
    }
  ],
  "defaultInputModes": [
    string
  ],
  "defaultOutputModes": [
    string
  ],
  "skills": [
    {
      object (AgentSkill)
    }
  ],
  "supportsAuthenticatedExtendedCard": boolean,
  "signatures": [
    {
      object (AgentCardSignature)
    }
  ],
  "iconUrl": string
}
Kolom
protocolVersion

string

Versi protokol A2A yang didukung agen ini.

name

string

Nama yang dapat dibaca manusia untuk agen. Contoh: "Recipe Agent" (Agen Resep)

description

string

Deskripsi domain tindakan/ruang solusi agen. Contoh: "Agen yang membantu pengguna dengan resep dan memasak".

url

string

URL ke alamat tempat agen dihosting. Ini menunjukkan endpoint pilihan seperti yang dideklarasikan oleh agen.

preferredTransport

string

Transportasi endpoint pilihan. Jika kosong, defaultnya adalah JSONRPC.

additionalInterfaces[]

object (AgentInterface)

Pengumuman transportasi tambahan yang didukung. Klien dapat menggunakan transportasi yang didukung.

provider

object (AgentProvider)

Penyedia layanan agen.

version

string

Versi agen. Contoh: "1.0.0"

documentationUrl

string

URL untuk memberikan dokumentasi tambahan tentang agen.

capabilities

object (AgentCapabilities)

Kumpulan Kemampuan A2A yang didukung oleh agen.

securitySchemes

map (key: string, value: object (SecurityScheme))

Detail skema keamanan yang digunakan untuk mengautentikasi dengan agen ini.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

security[]

object (Security)

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Persyaratan keamanan untuk menghubungi agen. Daftar ini dapat dilihat sebagai OR dari AND. Setiap objek dalam daftar menjelaskan satu kemungkinan kumpulan persyaratan keamanan yang harus ada dalam permintaan. Hal ini memungkinkan penentuan, misalnya, "pemanggil harus menggunakan OAuth ATAU Kunci API DAN mTLS". Contoh: security { schemes { key: "oauth" value { list: ["read"] } } } security { schemes { key: "api-key" } schemes { key: "mtls" } }

defaultInputModes[]

string

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Kumpulan mode interaksi yang didukung agen di semua skill. Setelan ini dapat diganti per skill. Ditentukan sebagai jenis MIME.

defaultOutputModes[]

string

Jenis MIME yang didukung sebagai output dari agen ini.

skills[]

object (AgentSkill)

Keahlian mewakili unit kemampuan yang dapat dilakukan agen. Hal ini mungkin agak abstrak, tetapi mewakili serangkaian tindakan yang lebih terfokus yang kemungkinan besar akan berhasil dilakukan agen.

supportsAuthenticatedExtendedCard

boolean

Apakah agen mendukung penyediaan kartu agen yang diperluas saat pengguna diautentikasi, yaitu apakah kartu dari .well-known berbeda dengan kartu dari v1.getCard.

signatures[]

object (AgentCardSignature)

Tanda Tangan Web JSON yang dihitung untuk AgentCard ini.

iconUrl

string

URL opsional ke ikon untuk agen.

AgentInterface

Menentukan informasi transportasi tambahan untuk agen.

Representasi JSON
{
  "url": string,
  "transport": string,
  "tenant": string
}
Kolom
url

string

URL tempat antarmuka ini ditemukan.

transport

string

Transportasi mendukung URL ini. Ini adalah string formulir terbuka, yang dapat dengan mudah diperluas untuk banyak protokol transportasi. Yang didukung secara resmi adalah JSONRPC, GRPC, dan HTTP+JSON.

tenant

string

Tenant yang akan ditetapkan dalam permintaan saat memanggil agen. Eksperimental, masih dapat berubah untuk rilis 1.0.

AgentProvider

Menampilkan informasi tentang penyedia layanan agen.

Representasi JSON
{
  "url": string,
  "organization": string
}
Kolom
url

string

Contoh URL referensi penyedia: "https://ai.google.dev"

organization

string

Nama organisasi penyedia Contoh: "Google"

SecurityScheme

Representasi JSON
{

  // Union field scheme can be only one of the following:
  "apiKeySecurityScheme": {
    object (APIKeySecurityScheme)
  },
  "httpAuthSecurityScheme": {
    object (HTTPAuthSecurityScheme)
  },
  "oauth2SecurityScheme": {
    object (OAuth2SecurityScheme)
  },
  "openIdConnectSecurityScheme": {
    object (OpenIdConnectSecurityScheme)
  },
  "mtlsSecurityScheme": {
    object (MutualTlsSecurityScheme)
  }
  // End of list of possible types for union field scheme.
}
Kolom

Kolom union scheme.

scheme hanya dapat berupa salah satu dari hal berikut:

apiKeySecurityScheme

object (APIKeySecurityScheme)

httpAuthSecurityScheme

object (HTTPAuthSecurityScheme)

oauth2SecurityScheme

object (OAuth2SecurityScheme)

openIdConnectSecurityScheme

object (OpenIdConnectSecurityScheme)

mtlsSecurityScheme

object (MutualTlsSecurityScheme)

HTTPAuthSecurityScheme

Representasi JSON
{
  "description": string,
  "scheme": string,
  "bearerFormat": string
}
Kolom
description

string

Deskripsi skema keamanan ini.

scheme

string

Nama skema Autentikasi HTTP yang akan digunakan di header Otorisasi seperti yang ditentukan dalam RFC7235. Nilai yang digunakan HARUS didaftarkan dalam registry Skema Autentikasi IANA. Nilai ini tidak peka huruf besar/kecil, seperti yang ditentukan dalam RFC7235.

bearerFormat

string

Petunjuk untuk klien guna mengidentifikasi cara token pembawa diformat. Token bearer biasanya dibuat oleh server otorisasi, jadi informasi ini terutama untuk tujuan dokumentasi.

OAuth2SecurityScheme

Representasi JSON
{
  "description": string,
  "flows": {
    object (OAuthFlows)
  },
  "oauth2MetadataUrl": string
}
Kolom
description

string

Deskripsi skema keamanan ini.

flows

object (OAuthFlows)

Objek yang berisi informasi konfigurasi untuk jenis alur yang didukung

oauth2MetadataUrl

string

URL ke metadata server otorisasi oauth2 RFC8414. TLS diperlukan.

OAuthFlows

Representasi JSON
{

  // Union field flow can be only one of the following:
  "authorizationCode": {
    object (AuthorizationCodeOAuthFlow)
  },
  "clientCredentials": {
    object (ClientCredentialsOAuthFlow)
  },
  "implicit": {
    object (ImplicitOAuthFlow)
  },
  "password": {
    object (PasswordOAuthFlow)
  }
  // End of list of possible types for union field flow.
}
Kolom

Kolom union flow.

flow hanya dapat berupa salah satu dari hal berikut:

authorizationCode

object (AuthorizationCodeOAuthFlow)

clientCredentials

object (ClientCredentialsOAuthFlow)

implicit

object (ImplicitOAuthFlow)

password

object (PasswordOAuthFlow)

AuthorizationCodeOAuthFlow

Representasi JSON
{
  "authorizationUrl": string,
  "tokenUrl": string,
  "refreshUrl": string,
  "scopes": {
    string: string,
    ...
  }
}
Kolom
authorizationUrl

string

URL otorisasi yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 mewajibkan penggunaan TLS

tokenUrl

string

URL token yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

refreshUrl

string

URL yang akan digunakan untuk mendapatkan token refresh. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

scopes

map (key: string, value: string)

Cakupan yang tersedia untuk skema keamanan OAuth2. Peta antara nama cakupan dan deskripsi singkatnya. Peta MUNGKIN kosong.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ClientCredentialsOAuthFlow

Representasi JSON
{
  "tokenUrl": string,
  "refreshUrl": string,
  "scopes": {
    string: string,
    ...
  }
}
Kolom
tokenUrl

string

URL token yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

refreshUrl

string

URL yang akan digunakan untuk mendapatkan token refresh. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

scopes

map (key: string, value: string)

Cakupan yang tersedia untuk skema keamanan OAuth2. Peta antara nama cakupan dan deskripsi singkatnya. Peta MUNGKIN kosong.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ImplicitOAuthFlow

Representasi JSON
{
  "authorizationUrl": string,
  "refreshUrl": string,
  "scopes": {
    string: string,
    ...
  }
}
Kolom
authorizationUrl

string

URL otorisasi yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 mewajibkan penggunaan TLS

refreshUrl

string

URL yang akan digunakan untuk mendapatkan token refresh. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

scopes

map (key: string, value: string)

Cakupan yang tersedia untuk skema keamanan OAuth2. Peta antara nama cakupan dan deskripsi singkatnya. Peta MUNGKIN kosong.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

PasswordOAuthFlow

Representasi JSON
{
  "tokenUrl": string,
  "refreshUrl": string,
  "scopes": {
    string: string,
    ...
  }
}
Kolom
tokenUrl

string

URL token yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

refreshUrl

string

URL yang akan digunakan untuk mendapatkan token refresh. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

scopes

map (key: string, value: string)

Cakupan yang tersedia untuk skema keamanan OAuth2. Peta antara nama cakupan dan deskripsi singkatnya. Peta MUNGKIN kosong.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

OpenIdConnectSecurityScheme

Representasi JSON
{
  "description": string,
  "openIdConnectUrl": string
}
Kolom
description

string

Deskripsi skema keamanan ini.

openIdConnectUrl

string

URL terkenal untuk menemukan metadata penyedia [[OpenID-Connect-Discovery]].

MutualTlsSecurityScheme

Representasi JSON
{
  "description": string
}
Kolom
description

string

Deskripsi skema keamanan ini.

Keamanan

Representasi JSON
{
  "schemes": {
    string: {
      object (StringList)
    },
    ...
  }
}
Kolom
schemes

map (key: string, value: object (StringList))

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

StringList

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED

Representasi JSON
{
  "list": [
    string
  ]
}
Kolom
list[]

string

AgentSkill

AgentSkill mewakili unit tindakan/solusi yang dapat dilakukan agen. Anda dapat menganggapnya sebagai jenis solusi yang sangat andal yang dapat ditugaskan oleh agen untuk menyediakannya. Agen memiliki otonomi untuk memilih cara dan waktu penggunaan keterampilan tertentu, tetapi klien harus yakin bahwa jika keterampilan ditentukan, unit tindakan tersebut dapat dilakukan dengan andal.

Representasi JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ],
  "security": [
    {
      object (Security)
    }
  ]
}
Kolom
id

string

ID unik skill dalam agen ini.

name

string

Nama keahlian yang dapat dibaca manusia.

description

string

Deskripsi detail dan perilaku keahlian yang dapat dibaca manusia (atau llm).

tags[]

string

Kumpulan tag untuk skill guna meningkatkan kategorisasi/penggunaan. Contoh: ["cooking", "customer support", "billing"]

examples[]

string

Kumpulan contoh kueri yang dirancang untuk ditangani oleh skill ini. Contoh ini akan membantu pemanggil memahami cara membuat permintaan ke agen untuk mencapai sasaran tertentu. Contoh: ["Saya butuh resep roti"]

inputModes[]

string

Kemungkinan modalitas input yang didukung.

outputModes[]

string

Kemungkinan modalitas output yang dihasilkan

security[]

object (Security)

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Skema keamanan yang diperlukan agar agen dapat memanfaatkan keterampilan ini. Seperti dalam AgentCard.security secara keseluruhan, daftar ini merepresentasikan OR logis dari objek persyaratan keamanan. Setiap objek adalah serangkaian skema keamanan yang harus digunakan bersama (AND logis). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED

AgentCardSignature

AgentCardSignature merepresentasikan tanda tangan JWS dari AgentCard. Bagian ini mengikuti format JSON dari JSON Web Signature (JWS) RFC 7515.

Representasi JSON
{
  "protected": string,
  "signature": string,
  "header": {
    object
  }
}
Kolom
protected

string

Wajib. Header JWS yang dilindungi untuk tanda tangan. Ini selalu berupa objek JSON yang dienkode base64url. Wajib.

signature

string

Wajib. Tanda tangan yang dihitung, dienkode base64url. Wajib.

header

object (Struct format)

Nilai header JWS yang tidak dilindungi.