- 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 Agenten 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 menschenlesbarer Name für den KI-Agenten. 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 zur Adresse, unter der der Agent gehostet wird. Dies ist der vom Agenten deklarierte bevorzugte Endpunkt. |
preferredTransport |
Der Transport des bevorzugten Endpunkts. Falls leer, ist der Standardwert JSONRPC. |
additionalInterfaces[] |
Ankündigung zusätzlicher unterstützter Transportmethoden. Der Client kann eine beliebige der unterstützten Transportmethoden 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[] |
Skills sind eine Einheit von Fähigkeiten, die ein Agent ausführen kann. Das kann etwas abstrakt sein, stellt aber eine gezieltere Reihe von Aktionen dar, bei denen der Agent mit hoher Wahrscheinlichkeit erfolgreich sein wird. |
supportsAuthenticatedExtendedCard |
Gibt an, ob der Agent die Bereitstellung einer erweiterten 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 |
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, wie das Bearer-Token formatiert ist. Bearer-Tokens werden in der Regel von einem Autorisierungsserver generiert. Diese Informationen dienen daher 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“ steht für eine Aktion oder Lösung, die der Agent ausführen kann. Sie können sich das als eine Art hochzuverlässige Lösung vorstellen, die ein Agent bereitstellen kann. Agenten können selbst entscheiden, wie und wann sie bestimmte Skills einsetzen. Clients sollten jedoch darauf vertrauen können, dass die Aktion zuverlässig ausgeführt werden kann, 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, für die dieser Skill entwickelt wurde. Diese Beispiele sollen dem Anrufer helfen, Anfragen an den Agenten 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 Skill zu nutzen. Wie bei AgentCard.security insgesamt stellt diese Liste eine logische ODER-Verknüpfung von Sicherheitsanforderungsobjekten dar. Jedes Objekt ist eine Gruppe von Sicherheitskonzepten, die zusammen verwendet werden müssen (eine logische UND-Verknüpfung). 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. |