- JSON-Darstellung
- AgentInterface
- AgentProvider
- SecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- Sicherheit
- StringList
- AgentSkill
- AgentCardSignature
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 ( |
| Felder | |
|---|---|
protocolVersion |
Die Version des A2A-Protokolls, die dieser Agent unterstützt. |
name |
Ein für Menschen lesbarer Name für den Agent. Beispiel: „Recipe Agent“ |
description |
Eine Beschreibung des Handlungsbereichs/Lösungsraums des KI-Agenten. Beispiel: „Agent, der Nutzern bei Rezepten und beim Kochen hilft.“ |
url |
Eine URL zu der Adresse, unter der der Agent gehostet wird. Dies ist der vom Agent deklarierte bevorzugte Endpunkt. |
preferredTransport |
Der Transport des bevorzugten Endpunkts. Falls leer, ist der Standardwert JSONRPC. |
additionalInterfaces[] |
Ankündigung zusätzlicher unterstützter Transportmittel Der Client kann einen der unterstützten Transporte verwenden. |
provider |
Der Dienstanbieter des Agenten. |
version |
Die Version des Agents. Beispiel: „1.0.0“ |
documentationUrl |
Eine URL, über die zusätzliche Dokumentation zum Agent bereitgestellt wird. |
capabilities |
Vom Agent unterstützte A2A-Funktionen. |
securitySchemes |
Die Details des Sicherheitsschemas, die für die Authentifizierung bei diesem Agent verwendet werden. Ein Objekt, das eine Liste von |
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[] |
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[] |
Die MIME-Typen, die als Ausgaben dieses Agents unterstützt werden. |
skills[] |
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 |
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[] |
JSON Web Signatures, die für diese AgentCard berechnet wurden. |
iconUrl |
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 |
Die URL, unter der diese Benutzeroberfläche zu finden ist. |
transport |
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 |
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 |
Beispiel für die Referenz-URL des Anbieters: „https://ai.google.dev“ |
organization |
Der Name der Organisation des Anbieters, z. B. „Google“ |
SecurityScheme
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld Für |
|
apiKeySecurityScheme |
|
httpAuthSecurityScheme |
|
oauth2SecurityScheme |
|
openIdConnectSecurityScheme |
|
mtlsSecurityScheme |
|
HTTPAuthSecurityScheme
| JSON-Darstellung |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| Felder | |
|---|---|
description |
Beschreibung dieses Sicherheitsschemas. |
scheme |
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 |
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 ( |
| Felder | |
|---|---|
description |
Beschreibung dieses Sicherheitsschemas. |
flows |
Ein Objekt mit Konfigurationsinformationen für die unterstützten Flow-Typen |
oauth2MetadataUrl |
URL zu den OAuth2-Autorisierungsserver-Metadaten RFC8414. TLS ist erforderlich. |
OAuthFlows
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld Für |
|
authorizationCode |
|
clientCredentials |
|
implicit |
|
password |
|
AuthorizationCodeOAuthFlow
| JSON-Darstellung |
|---|
{ "authorizationUrl": string, "tokenUrl": 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. |
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 dafür. Die Karte KANN leer sein. Ein Objekt, das eine Liste von |
ClientCredentialsOAuthFlow
| 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 dafür. Die Karte KANN leer sein. Ein Objekt, das eine Liste von |
ImplicitOAuthFlow
| 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 dafür. Die Karte KANN leer sein. Ein Objekt, das eine Liste von |
PasswordOAuthFlow
| 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 dafür. Die Karte KANN leer sein. Ein Objekt, das eine Liste von |
OpenIdConnectSecurityScheme
| JSON-Darstellung |
|---|
{ "description": string, "openIdConnectUrl": string } |
| Felder | |
|---|---|
description |
Beschreibung dieses Sicherheitsschemas. |
openIdConnectUrl |
Bekannte URL zum Ermitteln der [[OpenID-Connect-Discovery]]-Anbietermetadaten. |
MutualTlsSecurityScheme
| JSON-Darstellung |
|---|
{ "description": string } |
| Felder | |
|---|---|
description |
Beschreibung dieses Sicherheitsschemas. |
Sicherheit
| JSON-Darstellung |
|---|
{
"schemes": {
string: {
object ( |
| Felder | |
|---|---|
schemes |
Ein Objekt, das eine Liste von |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
| JSON-Darstellung |
|---|
{ "list": [ string ] } |
| Felder | |
|---|---|
list[] |
|
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 ( |
| Felder | |
|---|---|
id |
Eindeutige Kennung des Skills innerhalb dieses Agents. |
name |
Ein für Menschen lesbarer Name für den Skill. |
description |
Eine für Menschen (oder LLMs) lesbare Beschreibung der Skill-Details und des Verhaltens. |
tags[] |
Eine Reihe von Tags für den Skill, um die Kategorisierung/Nutzung zu verbessern. Beispiel: [„Kochen“, „Kundensupport“, „Abrechnung“] |
examples[] |
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[] |
Mögliche unterstützte Eingabemodalitäten. |
outputModes[] |
Mögliche Ausgabemodalitäten |
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 |
Erforderlich. Der geschützte JWS-Header für die Signatur. Dies ist immer ein base64url-codiertes JSON-Objekt. Erforderlich. |
signature |
Erforderlich. Die berechnete Signatur, base64url-codiert. Erforderlich. |
header |
Die ungeschützten JWS-Headerwerte. |