AgentCard

Die AgentCard enthält wichtige Informationen: – Allgemeine Details (Version, Name, Beschreibung, Verwendungszwecke) – Skills: eine Reihe von Aktionen/Lösungen, die der Agent ausführen kann – Standardmodalitäten/Inhaltstypen, die vom Agent unterstützt werden. – Authentifizierungsanforderungen. Nächste ID: 19

JSON-Darstellung
{
  "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
}
Felder
protocolVersion

string

Die Version des A2A-Protokolls, die dieser Agent unterstützt.

name

string

Ein für Menschen lesbarer Name für den Agent. Beispiel: „Recipe Agent“

description

string

Eine Beschreibung des Handlungsbereichs/Lösungsraums des KI-Agenten. Beispiel: „Agent, der Nutzern bei Rezepten und beim Kochen hilft.“

url

string

Eine URL zu der Adresse, unter der der Agent gehostet wird. Dies ist der vom Agent deklarierte bevorzugte Endpunkt.

preferredTransport

string

Der Transport des bevorzugten Endpunkts. Falls leer, ist der Standardwert JSONRPC.

additionalInterfaces[]

object (AgentInterface)

Ankündigung zusätzlicher unterstützter Transportmittel Der Client kann einen der unterstützten Transporte verwenden.

provider

object (AgentProvider)

Der Dienstanbieter des Agenten.

version

string

Die Version des Agents. Beispiel: „1.0.0“

documentationUrl

string

Eine URL, über die zusätzliche Dokumentation zum Agent bereitgestellt wird.

capabilities

object (AgentCapabilities)

Vom Agent unterstützte A2A-Funktionen.

securitySchemes

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

Die Details des Sicherheitsschemas, die für die Authentifizierung bei diesem Agent verwendet werden.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

security[]

object (Security)

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Sicherheitsanforderungen für die Kontaktaufnahme mit dem Kundenservicemitarbeiter. Diese Liste kann als ODER von UNDs betrachtet werden. Jedes Objekt in der Liste beschreibt eine mögliche Gruppe von Sicherheitsanforderungen, die in einer Anfrage vorhanden sein müssen. So kann beispielsweise festgelegt werden, dass Aufrufer entweder OAuth ODER einen API-Schlüssel UND mTLS verwenden müssen. Beispiel: security { schemes { key: "oauth" value { list: ["read"] } } } security { schemes { key: "api-key" } schemes { key: "mtls" } }

defaultInputModes[]

string

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Die Gruppe der Interaktionsmodi, die der Agent für alle Skills unterstützt. Dies kann pro Skill überschrieben werden. Als MIME-Typen definiert.

defaultOutputModes[]

string

Die MIME-Typen, die als Ausgaben dieses Agents unterstützt werden.

skills[]

object (AgentSkill)

Fähigkeiten stellen eine Einheit von Fähigkeiten dar, die ein Agent ausführen kann. Das ist zwar etwas abstrakt, stellt aber eine gezieltere Reihe von Aktionen dar, bei denen der Agent mit hoher Wahrscheinlichkeit erfolgreich sein wird.

supportsAuthenticatedExtendedCard

boolean

Gibt an, ob der Agent eine erweiterte Agentenkarte unterstützt, wenn der Nutzer authentifiziert ist. Das bedeutet, ob sich die Karte aus „.well-known“ von der Karte aus „v1.getCard“ unterscheidet.

signatures[]

object (AgentCardSignature)

JSON Web Signatures, die für diese AgentCard berechnet wurden.

iconUrl

string

Eine optionale URL zu einem Symbol für den Agent.

AgentInterface

Definiert zusätzliche Transportinformationen für den Agenten.

JSON-Darstellung
{
  "url": string,
  "transport": string,
  "tenant": string
}
Felder
url

string

Die URL, unter der diese Benutzeroberfläche zu finden ist.

transport

string

Der von dieser URL unterstützte Transport. Dies ist ein offener Formularstring, der problemlos für viele Transportprotokolle erweitert werden kann. Die offiziell unterstützten Kernprotokolle sind JSONRPC, GRPC und HTTP+JSON.

tenant

string

Der Mandant, der in der Anfrage festgelegt werden soll, wenn der Agent aufgerufen wird. Experimentell, kann sich für die Version 1.0 noch ändern.

AgentProvider

Stellt Informationen zum Dienstanbieter eines Agent dar.

JSON-Darstellung
{
  "url": string,
  "organization": string
}
Felder
url

string

Beispiel für die Referenz-URL des Anbieters: „https://ai.google.dev“

organization

string

Der Name der Organisation des Anbieters, z. B. „Google“

SecurityScheme

JSON-Darstellung
{

  // 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.
}
Felder

Union-Feld scheme.

Für scheme ist nur einer der folgenden Werte zulässig:

apiKeySecurityScheme

object (APIKeySecurityScheme)

httpAuthSecurityScheme

object (HTTPAuthSecurityScheme)

oauth2SecurityScheme

object (OAuth2SecurityScheme)

openIdConnectSecurityScheme

object (OpenIdConnectSecurityScheme)

mtlsSecurityScheme

object (MutualTlsSecurityScheme)

HTTPAuthSecurityScheme

JSON-Darstellung
{
  "description": string,
  "scheme": string,
  "bearerFormat": string
}
Felder
description

string

Beschreibung dieses Sicherheitsschemas.

scheme

string

Der Name des HTTP-Authentifizierungsschemas, das im Autorisierungsheader verwendet werden soll, wie in RFC7235 definiert. Die verwendeten Werte SOLLTEN in der IANA Authentication Scheme Registry registriert sein. Bei dem Wert wird die Groß- und Kleinschreibung nicht berücksichtigt, wie in RFC7235 definiert.

bearerFormat

string

Ein Hinweis für den Client, der angibt, wie das Inhabertoken formatiert ist. Bearer-Tokens werden in der Regel von einem Autorisierungsserver generiert. Diese Informationen dienen also in erster Linie Dokumentationszwecken.

OAuth2SecurityScheme

JSON-Darstellung
{
  "description": string,
  "flows": {
    object (OAuthFlows)
  },
  "oauth2MetadataUrl": string
}
Felder
description

string

Beschreibung dieses Sicherheitsschemas.

flows

object (OAuthFlows)

Ein Objekt mit Konfigurationsinformationen für die unterstützten Flow-Typen

oauth2MetadataUrl

string

URL zu den OAuth2-Autorisierungsserver-Metadaten RFC8414. TLS ist erforderlich.

OAuthFlows

JSON-Darstellung
{

  // 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.
}
Felder

Union-Feld flow.

Für flow ist nur einer der folgenden Werte zulässig:

authorizationCode

object (AuthorizationCodeOAuthFlow)

clientCredentials

object (ClientCredentialsOAuthFlow)

implicit

object (ImplicitOAuthFlow)

password

object (PasswordOAuthFlow)

AuthorizationCodeOAuthFlow

JSON-Darstellung
{
  "authorizationUrl": string,
  "tokenUrl": string,
  "refreshUrl": string,
  "scopes": {
    string: string,
    ...
  }
}
Felder
authorizationUrl

string

Die für diesen Ablauf zu verwendende Autorisierungs-URL. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

tokenUrl

string

Die Token-URL, die für diesen Ablauf verwendet werden soll. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

refreshUrl

string

Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

scopes

map (key: string, value: string)

Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung dafür. Die Karte KANN leer sein.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ClientCredentialsOAuthFlow

JSON-Darstellung
{
  "tokenUrl": string,
  "refreshUrl": string,
  "scopes": {
    string: string,
    ...
  }
}
Felder
tokenUrl

string

Die Token-URL, die für diesen Ablauf verwendet werden soll. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

refreshUrl

string

Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

scopes

map (key: string, value: string)

Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung dafür. Die Karte KANN leer sein.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ImplicitOAuthFlow

JSON-Darstellung
{
  "authorizationUrl": string,
  "refreshUrl": string,
  "scopes": {
    string: string,
    ...
  }
}
Felder
authorizationUrl

string

Die für diesen Ablauf zu verwendende Autorisierungs-URL. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

refreshUrl

string

Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

scopes

map (key: string, value: string)

Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung dafür. Die Karte KANN leer sein.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

PasswordOAuthFlow

JSON-Darstellung
{
  "tokenUrl": string,
  "refreshUrl": string,
  "scopes": {
    string: string,
    ...
  }
}
Felder
tokenUrl

string

Die Token-URL, die für diesen Ablauf verwendet werden soll. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

refreshUrl

string

Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

scopes

map (key: string, value: string)

Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung dafür. Die Karte KANN leer sein.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

OpenIdConnectSecurityScheme

JSON-Darstellung
{
  "description": string,
  "openIdConnectUrl": string
}
Felder
description

string

Beschreibung dieses Sicherheitsschemas.

openIdConnectUrl

string

Bekannte URL zum Ermitteln der [[OpenID-Connect-Discovery]]-Anbietermetadaten.

MutualTlsSecurityScheme

JSON-Darstellung
{
  "description": string
}
Felder
description

string

Beschreibung dieses Sicherheitsschemas.

Sicherheit

JSON-Darstellung
{
  "schemes": {
    string: {
      object (StringList)
    },
    ...
  }
}
Felder
schemes

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

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

StringList

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED

JSON-Darstellung
{
  "list": [
    string
  ]
}
Felder
list[]

string

AgentSkill

„AgentSkill“ stellt eine Einheit von Aktion/Lösung dar, die der Agent ausführen kann. Das kann als eine Art hochzuverlässige Lösung betrachtet werden, die ein Agent bereitstellen kann. KI-Agenten können selbst entscheiden, wie und wann sie bestimmte Skills einsetzen. Clients sollten jedoch darauf vertrauen können, dass die entsprechende Aktion zuverlässig ausgeführt wird, wenn der Skill definiert ist.

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

string

Eindeutige Kennung des Skills innerhalb dieses Agents.

name

string

Ein für Menschen lesbarer Name für den Skill.

description

string

Eine für Menschen (oder LLMs) lesbare Beschreibung der Skill-Details und des Verhaltens.

tags[]

string

Eine Reihe von Tags für den Skill, um die Kategorisierung/Nutzung zu verbessern. Beispiel: [„Kochen“, „Kundensupport“, „Abrechnung“]

examples[]

string

Eine Reihe von Beispielanfragen, die dieser Skill beantworten soll. Diese Beispiele sollen dem Anrufer helfen, Anfragen an den Agent zu formulieren, um bestimmte Ziele zu erreichen. Beispiel: ["Ich brauche ein Rezept für Brot."]

inputModes[]

string

Mögliche unterstützte Eingabemodalitäten.

outputModes[]

string

Mögliche Ausgabemodalitäten

security[]

object (Security)

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Sicherheitskonzepte, die für den Agenten erforderlich sind, um diese Funktion zu nutzen. Wie bei „AgentCard.security“ insgesamt stellt diese Liste eine logische ODER-Verknüpfung von Sicherheitsanforderungsobjekten dar. Jedes Objekt ist eine Gruppe von Sicherheitsschemas, die zusammen verwendet werden müssen (logisches UND). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED

AgentCardSignature

AgentCardSignature stellt eine JWS-Signatur einer AgentCard dar. Dies entspricht dem JSON-Format einer RFC 7515 JSON Web Signature (JWS).

JSON-Darstellung
{
  "protected": string,
  "signature": string,
  "header": {
    object
  }
}
Felder
protected

string

Erforderlich. Der geschützte JWS-Header für die Signatur. Dies ist immer ein base64url-codiertes JSON-Objekt. Erforderlich.

signature

string

Erforderlich. Die berechnete Signatur, base64url-codiert. Erforderlich.

header

object (Struct format)

Die ungeschützten JWS-Headerwerte.