- JSON-Darstellung
- AgentInterface
- AgentProvider
- AgentCapabilities
- AgentExtension
- SecurityScheme
- APIKeySecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- DeviceCodeOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- SecurityRequirement
- StringList
- AgentSkill
- AgentCardSignature
Ein selbstbeschreibendes Manifest für einen Agent. Sie enthält wichtige Metadaten wie die Identität, Fähigkeiten, Kompetenzen, unterstützten Kommunikationsmethoden und Sicherheitsanforderungen des Agenten. Nächste ID: 20
| JSON-Darstellung |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Felder | |
|---|---|
name |
Erforderlich. Ein menschenlesbarer Name für den KI-Agenten. Beispiel: „Rezept-Agent“ |
description |
Erforderlich. Eine menschenlesbare Beschreibung des KI-Agenten, die Nutzern und anderen KI-Agenten hilft, seinen Zweck zu verstehen. Beispiel: „Agent, der Nutzern bei Rezepten und beim Kochen hilft.“ |
supportedInterfaces[] |
Erforderlich. Geordnete Liste der unterstützten Schnittstellen. Der erste Eintrag wird bevorzugt. |
provider |
Der Dienstanbieter des Agenten. |
version |
Erforderlich. Die Version des Agents. Beispiel: „1.0.0“ |
capabilities |
Erforderlich. A2A-Funktionsgruppe, die vom Agent unterstützt wird. |
securitySchemes |
Die Details des Sicherheitsschemas, die für die Authentifizierung bei diesem Agent verwendet werden. Ein Objekt, das eine Liste von |
securityRequirements[] |
Sicherheitsanforderungen für die Kontaktaufnahme mit dem Kundenservicemitarbeiter. |
defaultInputModes[] |
Erforderlich. protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Die Gruppe von Interaktionsmodi, die der Agent für alle Skills unterstützt. Dies kann pro Skill überschrieben werden. Als Medientypen definiert. |
defaultOutputModes[] |
Erforderlich. Die Medientypen, die als Ausgaben dieses Agents unterstützt werden. |
skills[] |
Erforderlich. Fähigkeiten stellen die Fähigkeiten eines Agenten dar. Es ist im Wesentlichen ein deskriptives Konzept, das jedoch eine fokussiertere Reihe von Verhaltensweisen darstellt, bei denen der Agent wahrscheinlich erfolgreich sein wird. |
signatures[] |
JSON-Websignaturen, die für diese |
documentationUrl |
Eine URL mit zusätzlicher Dokumentation zum Agent. |
iconUrl |
Optional. Eine URL zu einem Symbol für den Agenten. |
AgentInterface
Deklariert eine Kombination aus Ziel-URL, Transport und Protokollversion für die Interaktion mit dem Agent. So können Agenten dieselbe Funktionalität über mehrere Protokollbindungsmechanismen hinweg bereitstellen.
| JSON-Darstellung |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Felder | |
|---|---|
url |
Erforderlich. Die URL, unter der diese Schnittstelle verfügbar ist. Muss eine gültige absolute HTTPS-URL in der Produktion sein. Beispiel: „https://api.beispiel.de/a2a/v1“, „https://grpc.beispiel.de/a2a“ |
protocolBinding |
Erforderlich. Die an dieser URL unterstützte Protokollbindung. Dies ist ein offener Formularstring, der sich leicht für andere Protokollbindungen erweitern lässt. Die offiziell unterstützten Kern-IDs sind |
tenant |
Optional. Ein opaker String, der zum Weiterleiten von Anfragen an einen bestimmten Agenten oder Mandanten verwendet wird, wenn mehrere Agenten über einen einzelnen A2A-Endpunkt bereitgestellt werden. Wenn dieser Wert festgelegt ist, MÜSSEN Clients ihn im Feld |
protocolVersion |
Erforderlich. Die Version des A2A Protocol, das von dieser Schnittstelle bereitgestellt wird. Verwenden Sie die neueste unterstützte Nebenversion pro Hauptversion. Beispiele: „0.3“, „1.0“ |
AgentProvider
Stellt den Dienstanbieter eines Agenten dar.
| JSON-Darstellung |
|---|
{ "url": string, "organization": string } |
| Felder | |
|---|---|
url |
Erforderlich. Eine URL zur Website des Agent-Anbieters oder zur relevanten Dokumentation. Beispiel: „https://ai.google.dev“ |
organization |
Erforderlich. Der Name der Organisation des Agent-Anbieters. Beispiel: „Google“ |
AgentCapabilities
Definiert optionale Funktionen, die von einem Agent unterstützt werden.
| JSON-Darstellung |
|---|
{
"extensions": [
{
object ( |
| Felder | |
|---|---|
extensions[] |
Eine Liste der vom Agent unterstützten Protokollerweiterungen. |
streaming |
Gibt an, ob der Agent Streaming-Antworten unterstützt. |
pushNotifications |
Gibt an, ob der Agent das Senden von Push-Benachrichtigungen für Updates zu asynchronen Aufgaben unterstützt. |
extendedAgentCard |
Gibt an, ob der Agent die Bereitstellung einer erweiterten Agentenkarte unterstützt, wenn er authentifiziert ist. |
AgentExtension
Eine Deklaration einer Protokollerweiterung, die von einem Agent unterstützt wird.
| JSON-Darstellung |
|---|
{ "uri": string, "description": string, "required": boolean, "params": { object } } |
| Felder | |
|---|---|
uri |
Der eindeutige URI, der die Erweiterung identifiziert. |
description |
Eine für Menschen lesbare Beschreibung, wie dieser Agent die Erweiterung verwendet. |
required |
Bei „true“ muss der Client die Anforderungen der Erweiterung verstehen und einhalten. |
params |
Optional. Erweiterungsspezifische Konfigurationsparameter. |
SecurityScheme
Definiert ein Sicherheitsschema, das zum Sichern der Endpunkte eines Agents verwendet werden kann. Dies ist ein diskriminierter Union-Typ, der auf dem OpenAPI 3.2-Sicherheitsschemaobjekt basiert. Weitere Informationen finden Sie unter https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object.
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld Für |
|
apiKeySecurityScheme |
Authentifizierung mit API-Schlüssel |
httpAuthSecurityScheme |
HTTP-Authentifizierung (Basic, Bearer usw.). |
oauth2SecurityScheme |
Authentifizierung mit OAuth 2.0 |
openIdConnectSecurityScheme |
OpenID Connect-Authentifizierung |
mtlsSecurityScheme |
Gegenseitige TLS-Authentifizierung. |
APIKeySecurityScheme
Definiert ein Sicherheitsschema mit einem API-Schlüssel.
| JSON-Darstellung |
|---|
{ "description": string, "location": string, "name": string } |
| Felder | |
|---|---|
description |
Eine optionale Beschreibung für das Sicherheitskonzept. |
location |
Erforderlich. Der Speicherort des API-Schlüssels. Gültige Werte sind „query“, „header“ oder „cookie“. |
name |
Erforderlich. Der Name des zu verwendenden Header-, Abfrage- oder Cookie-Parameters. |
HTTPAuthSecurityScheme
Definiert ein Sicherheitsschema mit HTTP-Authentifizierung.
| JSON-Darstellung |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| Felder | |
|---|---|
description |
Eine optionale Beschreibung für das Sicherheitskonzept. |
scheme |
Erforderlich. Der Name des HTTP-Authentifizierungsschemas, das im Authorization-Header verwendet werden soll, wie in RFC7235 definiert (z.B. „Bearer“). Dieser Wert sollte in der IANA Authentication Scheme Registry registriert sein. |
bearerFormat |
Ein Hinweis für den Client, der angibt, wie das Bearer-Token formatiert ist (z.B. „JWT“). Hauptsächlich zu Dokumentationszwecken. |
OAuth2SecurityScheme
Definiert ein Sicherheitsschema mit OAuth 2.0.
| JSON-Darstellung |
|---|
{
"description": string,
"flows": {
object ( |
| Felder | |
|---|---|
description |
Eine optionale Beschreibung für das Sicherheitskonzept. |
flows |
Erforderlich. Ein Objekt mit Konfigurationsinformationen für die unterstützten OAuth 2.0-Flows. |
oauth2MetadataUrl |
URL zu den OAuth2-Autorisierungsserver-Metadaten RFC 8414. TLS ist erforderlich. |
OAuthFlows
Definiert die Konfiguration für die unterstützten OAuth 2.0-Abläufe.
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld Für |
|
authorizationCode |
Konfiguration für den OAuth-Autorisierungscode-Ablauf. |
clientCredentials |
Konfiguration für den OAuth-Ablauf der Clientanmeldedaten. |
implicit |
Verworfen: Verwenden Sie stattdessen Autorisierungscode + PKCE. |
password |
Veraltet: Verwenden Sie „Autorisierungscode + PKCE“ oder „Gerätecode“. |
deviceCode |
Konfiguration für den OAuth-Gerätecodefluss. |
AuthorizationCodeOAuthFlow
Definiert Konfigurationsdetails für den OAuth 2.0-Vorgang mit Autorisierungscode.
| JSON-Darstellung |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... }, "pkceRequired": boolean } |
| Felder | |
|---|---|
authorizationUrl |
Erforderlich. Die für diesen Ablauf zu verwendende Autorisierungs-URL. |
tokenUrl |
Erforderlich. Die Token-URL, die für diesen Ablauf verwendet werden soll. |
refreshUrl |
Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll. |
scopes |
Erforderlich. Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Ein Objekt, das eine Liste von |
pkceRequired |
Gibt an, ob PKCE (RFC 7636) für diesen Ablauf erforderlich ist. PKCE sollte immer für öffentliche Clients verwendet werden und wird für alle Clients empfohlen. |
ClientCredentialsOAuthFlow
Definiert Konfigurationsdetails für den OAuth 2.0-Vorgang für Clientanmeldedaten.
| JSON-Darstellung |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Felder | |
|---|---|
tokenUrl |
Erforderlich. Die Token-URL, die für diesen Ablauf verwendet werden soll. |
refreshUrl |
Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll. |
scopes |
Erforderlich. Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Ein Objekt, das eine Liste von |
ImplicitOAuthFlow
Verworfen: Verwenden Sie stattdessen Autorisierungscode + PKCE.
| JSON-Darstellung |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Felder | |
|---|---|
authorizationUrl |
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 |
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 |
Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung. Die Karte KANN leer sein. Ein Objekt, das eine Liste von |
PasswordOAuthFlow
Veraltet: Verwenden Sie „Autorisierungscode + PKCE“ oder „Gerätecode“.
| JSON-Darstellung |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Felder | |
|---|---|
tokenUrl |
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 |
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 |
Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung. Die Karte KANN leer sein. Ein Objekt, das eine Liste von |
DeviceCodeOAuthFlow
Definiert Konfigurationsdetails für den OAuth 2.0-Gerätecodefluss (RFC 8628). Dieser Ablauf ist für Geräte mit eingeschränkter Eingabe wie IoT-Geräte und CLI-Tools konzipiert, bei denen sich der Nutzer auf einem separaten Gerät authentifiziert.
| JSON-Darstellung |
|---|
{ "deviceAuthorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Felder | |
|---|---|
deviceAuthorizationUrl |
Erforderlich. Die URL des Geräteautorisierungsendpunkts. |
tokenUrl |
Erforderlich. Die Token-URL, die für diesen Ablauf verwendet werden soll. |
refreshUrl |
Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll. |
scopes |
Erforderlich. Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Ein Objekt, das eine Liste von |
OpenIdConnectSecurityScheme
Definiert ein Sicherheitsschema mit OpenID Connect.
| JSON-Darstellung |
|---|
{ "description": string, "openIdConnectUrl": string } |
| Felder | |
|---|---|
description |
Eine optionale Beschreibung für das Sicherheitskonzept. |
openIdConnectUrl |
Erforderlich. Die OpenID Connect-Discovery-URL für die Metadaten des OIDC-Anbieters. |
MutualTlsSecurityScheme
Definiert ein Sicherheitsschema mit mTLS-Authentifizierung.
| JSON-Darstellung |
|---|
{ "description": string } |
| Felder | |
|---|---|
description |
Eine optionale Beschreibung für das Sicherheitskonzept. |
SecurityRequirement
Definiert die Sicherheitsanforderungen für einen Agent.
| JSON-Darstellung |
|---|
{
"schemes": {
string: {
object ( |
| Felder | |
|---|---|
schemes |
Eine Zuordnung von Sicherheitsschemas zu den erforderlichen Bereichen. Ein Objekt, das eine Liste von |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Eine Liste von Strings.
| JSON-Darstellung |
|---|
{ "list": [ string ] } |
| Felder | |
|---|---|
list[] |
Die einzelnen Stringwerte. |
AgentSkill
Stellt eine bestimmte Funktion dar, die ein Agent ausführen kann.
| JSON-Darstellung |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"securityRequirements": [
{
object ( |
| Felder | |
|---|---|
id |
Erforderlich. Eine eindeutige Kennung für die Funktion des Agents. |
name |
Erforderlich. Ein für Menschen lesbarer Name für den Skill. |
description |
Erforderlich. Eine detaillierte Beschreibung des Skills. |
tags[] |
Erforderlich. Eine Reihe von Keywords, die die Fähigkeiten des Skills beschreiben. |
examples[] |
Beispiel-Prompts oder ‑Szenarien, die diese Skill verarbeiten kann. |
inputModes[] |
Die Menge der unterstützten Eingabemedientypen für diesen Skill, die die Standardeinstellungen des Agenten überschreiben. |
outputModes[] |
Die Menge der unterstützten Ausgabemedientypen für diesen Skill, die die Standardeinstellungen des Agents überschreiben. |
securityRequirements[] |
Für diesen Skill erforderliche Sicherheitskonzepte. |
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 |
Erforderlich. Erforderlich. Der geschützte JWS-Header für die Signatur. Dies ist immer ein base64url-codiertes JSON-Objekt. |
signature |
Erforderlich. Die berechnete Signatur, base64url-codiert. |
header |
Die ungeschützten JWS-Headerwerte. |