- ייצוג ב-JSON
- AgentInterface
- AgentProvider
- AgentCapabilities
- AgentExtension
- SecurityScheme
- APIKeySecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- DeviceCodeOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- SecurityRequirement
- StringList
- AgentSkill
- AgentCardSignature
מניפסט עם תיאור עצמי של סוכן. הוא מספק מטא-נתונים חיוניים, כולל זהות הסוכן, היכולות, הכישורים, שיטות התקשורת הנתמכות ודרישות האבטחה. המזהה הבא: 20
| ייצוג ב-JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| שדות | |
|---|---|
name |
חובה. שם הסוכן שקריא לאנשים. דוגמה: "סוכן מתכונים" |
description |
חובה. תיאור של הסוכן שאנשים יכולים לקרוא, כדי לעזור למשתמשים ולסוכנים אחרים להבין את המטרה שלו. דוגמה: "סוכן שעוזר למשתמשים במתכונים ובבישול". |
supportedInterfaces[] |
חובה. רשימה מסודרת של ממשקים נתמכים. עדיף להשתמש ברשומה הראשונה. |
provider |
ספק השירות של הסוכן. |
version |
חובה. גרסת הסוכן. דוגמה: "1.0.0" |
capabilities |
חובה. קבוצת היכולות A2A שנתמכת על ידי הסוכן. |
securitySchemes |
פרטי תוכנית האבטחה שמשמשים לאימות מול הסוכן הזה. אובייקט שמכיל רשימה של |
securityRequirements[] |
דרישות אבטחה ליצירת קשר עם הנציג. |
defaultInputModes[] |
נדרש. protolint:enable REPEATED_FIELD_NAMES_PLURALIZED קבוצת מצבי האינטראקציה שהסוכן תומך בהם בכל הכישורים. אפשר לשנות את הגדרות ברירת המחדל לכל מיומנות. מוגדר כסוגי מדיה. |
defaultOutputModes[] |
חובה. סוגי המדיה שנתמכים כפלט מהסוכן הזה. |
skills[] |
חובה. מיומנויות מייצגות את היכולות של סוכן. זהו בעיקר מושג תיאורי, אבל הוא מייצג קבוצה ממוקדת יותר של התנהגויות שהסוכן צפוי להצליח בהן. |
signatures[] |
חתימות רשת מבוססות JSON שחושבו עבור |
documentationUrl |
כתובת URL שכוללת מסמכים נוספים על הסוכן. |
iconUrl |
זה שינוי אופציונלי. כתובת URL לסמל של הסוכן. |
AgentInterface
ההגדרה הזו מציינת שילוב של כתובת יעד, אמצעי תחבורה וגרסת פרוטוקול לאינטראקציה עם הסוכן. כך הסוכנים יכולים לחשוף את אותה פונקציונליות באמצעות מנגנונים שונים של קישור פרוטוקולים.
| ייצוג ב-JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| שדות | |
|---|---|
url |
חובה. כתובת ה-URL שבה הממשק הזה זמין. כתובת ה-URL חייבת להיות כתובת HTTPS מוחלטת ותקינה בסביבת הייצור. דוגמה: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
חובה. הקישור לפרוטוקול שנתמך בכתובת ה-URL הזו. זו מחרוזת של טופס פתוח, שאפשר להרחיב אותה בקלות לקישורי פרוטוקולים אחרים. הפורמטים העיקריים שנתמכים באופן רשמי הם |
tenant |
זה שינוי אופציונלי. מחרוזת אטומה שמשמשת לניתוב בקשות לסוכן או לדייר ספציפיים כשכמה סוכנים מוגשים מאחורי נקודת קצה יחידה של A2A. אם הערך מוגדר, הלקוחות חייבים לכלול אותו בשדה |
protocolVersion |
חובה. הגרסה של פרוטוקול A2A שהממשק הזה חושף. שימוש בגרסה המשנית הנתמכת האחרונה לכל גרסה ראשית. דוגמאות: 0.3, 1.0 |
AgentProvider
מייצג את ספק השירות של סוכן.
| ייצוג ב-JSON |
|---|
{ "url": string, "organization": string } |
| שדות | |
|---|---|
url |
חובה. כתובת URL לאתר של ספק הסוכן או לתיעוד רלוונטי. דוגמה: "https://ai.google.dev" |
organization |
חובה. השם של הארגון של ספק הסוכן. דוגמה: "Google" |
AgentCapabilities
מגדיר יכולות אופציונליות שסוכן תומך בהן.
| ייצוג ב-JSON |
|---|
{
"extensions": [
{
object ( |
| שדות | |
|---|---|
extensions[] |
רשימה של הרחבות פרוטוקול שהסוכן תומך בהן. |
streaming |
מציין אם הסוכן תומך בתגובות סטרימינג. |
pushNotifications |
ההגדרה מציינת אם הסוכן תומך בשליחת התראות על עדכונים של משימות אסינכרוניות. |
extendedAgentCard |
מציין אם הסוכן תומך באספקת כרטיס סוכן מורחב לאחר אימות. |
AgentExtension
הצהרה על הרחבת פרוטוקול שנתמכת על ידי סוכן.
| ייצוג ב-JSON |
|---|
{ "uri": string, "description": string, "required": boolean, "params": { object } } |
| שדות | |
|---|---|
uri |
מזהה משאבים אחיד (URI) ייחודי שמזהה את התוסף. |
description |
תיאור קריא לאנשים של אופן השימוש של הסוכן בתוסף. |
required |
אם הערך הוא True, הלקוח חייב להבין את הדרישות של התוסף ולפעול בהתאם להן. |
params |
זה שינוי אופציונלי. פרמטרים להגדרות ספציפיות לתוסף. |
SecurityScheme
הגדרת תוכנית אבטחה שאפשר להשתמש בה כדי לאבטח את נקודות הקצה של סוכן. זהו סוג איחוד מופרד שמבוסס על אובייקט של תוכנית אבטחה ב-OpenAPI 3.2. למידע נוסף: https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד הערך |
|
apiKeySecurityScheme |
אימות מבוסס-מפתח API. |
httpAuthSecurityScheme |
אימות HTTP (בסיסי, Bearer וכו'). |
oauth2SecurityScheme |
אימות OAuth 2.0. |
openIdConnectSecurityScheme |
אימות OpenID Connect. |
mtlsSecurityScheme |
אימות TLS בו-זמני (mTLS). |
APIKeySecurityScheme
הגדרת תוכנית אבטחה באמצעות מפתח API.
| ייצוג ב-JSON |
|---|
{ "description": string, "location": string, "name": string } |
| שדות | |
|---|---|
description |
תיאור אופציונלי של תוכנית האבטחה. |
location |
חובה. המיקום של מפתח ה-API. הערכים התקינים הם query, header או cookie. |
name |
חובה. השם של הפרמטר של הכותרת, השאילתה או קובץ ה-Cookie שבו רוצים להשתמש. |
HTTPAuthSecurityScheme
הגדרה של סכמת אבטחה באמצעות אימות HTTP.
| ייצוג ב-JSON |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| שדות | |
|---|---|
description |
תיאור אופציונלי של תוכנית האבטחה. |
scheme |
חובה. השם של סכמת האימות של HTTP שבה יש להשתמש בכותרת Authorization, כפי שמוגדר ב-RFC7235 (למשל, Bearer). הערך הזה צריך להיות רשום במאגר של IANA Authentication Scheme. |
bearerFormat |
רמז ללקוח לזיהוי הפורמט של אסימון ה-Bearer (למשל, JWT). בעיקר למטרות תיעוד. |
OAuth2SecurityScheme
הגדרת תוכנית אבטחה באמצעות OAuth 2.0.
| ייצוג ב-JSON |
|---|
{
"description": string,
"flows": {
object ( |
| שדות | |
|---|---|
description |
תיאור אופציונלי של תוכנית האבטחה. |
flows |
חובה. אובייקט שמכיל פרטי הגדרות של תהליכי OAuth 2.0 הנתמכים. |
oauth2MetadataUrl |
כתובת ה-URL של המטא-נתונים של שרת ההרשאות ב-OAuth2 RFC 8414. נדרש פרוטוקול TLS. |
OAuthFlows
ההגדרה הזו מגדירה את התצורה של תהליכי OAuth 2.0 הנתמכים.
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד הערך |
|
authorizationCode |
הגדרות לתהליך הרשאה באמצעות קוד של OAuth. |
clientCredentials |
הגדרות לתהליך OAuth Client Credentials. |
implicit |
הוצא משימוש: במקומו יש להשתמש בקוד הרשאה + PKCE. |
password |
הוצא משימוש: צריך להשתמש בקוד הרשאה + PKCE או בקוד מכשיר. |
deviceCode |
הגדרה של תהליך קוד המכשיר ב-OAuth. |
AuthorizationCodeOAuthFlow
הגדרת פרטים של תהליך הרשאה באמצעות קוד של OAuth 2.0.
| ייצוג ב-JSON |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... }, "pkceRequired": boolean } |
| שדות | |
|---|---|
authorizationUrl |
חובה. כתובת ה-URL לאישור שתשמש בתהליך הזה. |
tokenUrl |
חובה. כתובת ה-URL של האסימון שתשמש בתהליך הזה. |
refreshUrl |
כתובת ה-URL שתשמש להשגת טוקנים לרענון. |
scopes |
חובה. היקפי ההרשאות שזמינים לתוכנית האבטחה OAuth2. אובייקט שמכיל רשימה של |
pkceRequired |
מציין אם נדרש PKCE (RFC 7636) בתהליך הזה. תמיד צריך להשתמש ב-PKCE עבור לקוחות ציבוריים, ומומלץ להשתמש בו עבור כל הלקוחות. |
ClientCredentialsOAuthFlow
הגדרת פרטי ההגדרה של תהליך פרטי הכניסה של לקוח OAuth 2.0.
| ייצוג ב-JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| שדות | |
|---|---|
tokenUrl |
חובה. כתובת ה-URL של האסימון שתשמש בתהליך הזה. |
refreshUrl |
כתובת ה-URL שתשמש להשגת טוקנים לרענון. |
scopes |
חובה. היקפי ההרשאות שזמינים לתוכנית האבטחה OAuth2. אובייקט שמכיל רשימה של |
ImplicitOAuthFlow
הוצא משימוש: במקומו יש להשתמש בקוד הרשאה + PKCE.
| ייצוג ב-JSON |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| שדות | |
|---|---|
authorizationUrl |
כתובת ה-URL לאישור שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. תקן OAuth2 מחייב שימוש ב-TLS |
refreshUrl |
כתובת ה-URL שתשמש להשגת טוקנים לרענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
scopes |
היקפי ההרשאות שזמינים לתוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה. אובייקט שמכיל רשימה של |
PasswordOAuthFlow
הוצא משימוש: צריך להשתמש בקוד הרשאה + PKCE או בקוד מכשיר.
| ייצוג ב-JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| שדות | |
|---|---|
tokenUrl |
כתובת ה-URL של האסימון שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
refreshUrl |
כתובת ה-URL שתשמש להשגת טוקנים לרענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
scopes |
היקפי ההרשאות שזמינים לתוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה. אובייקט שמכיל רשימה של |
DeviceCodeOAuthFlow
הגדרת פרטי התצורה של תהליך קוד המכשיר של OAuth 2.0 (RFC 8628). התהליך הזה מיועד למכשירים עם מגבלות על הקלט, כמו מכשירי IoT וכלי CLI שבהם המשתמש מאמת את עצמו במכשיר נפרד.
| ייצוג ב-JSON |
|---|
{ "deviceAuthorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| שדות | |
|---|---|
deviceAuthorizationUrl |
חובה. כתובת ה-URL של נקודת הקצה להרשאת המכשיר. |
tokenUrl |
חובה. כתובת ה-URL של האסימון שתשמש בתהליך הזה. |
refreshUrl |
כתובת ה-URL שתשמש להשגת טוקנים לרענון. |
scopes |
חובה. היקפי ההרשאות שזמינים לתוכנית האבטחה OAuth2. אובייקט שמכיל רשימה של |
OpenIdConnectSecurityScheme
הגדרת תוכנית אבטחה באמצעות OpenID Connect.
| ייצוג ב-JSON |
|---|
{ "description": string, "openIdConnectUrl": string } |
| שדות | |
|---|---|
description |
תיאור אופציונלי של תוכנית האבטחה. |
openIdConnectUrl |
חובה. כתובת URL של מסמך Discovery של OpenID Connect למטא-נתונים של ספק OIDC. |
MutualTlsSecurityScheme
הגדרה של תוכנית אבטחה באמצעות אימות mTLS.
| ייצוג ב-JSON |
|---|
{ "description": string } |
| שדות | |
|---|---|
description |
תיאור אופציונלי של תוכנית האבטחה. |
SecurityRequirement
הגדרת דרישות האבטחה של סוכן.
| ייצוג ב-JSON |
|---|
{
"schemes": {
string: {
object ( |
| שדות | |
|---|---|
schemes |
מפה של תוכניות אבטחה להיקפים הנדרשים. אובייקט שמכיל רשימה של |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings.
| ייצוג ב-JSON |
|---|
{ "list": [ string ] } |
| שדות | |
|---|---|
list[] |
ערכי המחרוזות הנפרדים. |
AgentSkill
מייצג יכולת או פונקציה מובחנת שהנציג יכול לבצע.
| ייצוג ב-JSON |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"securityRequirements": [
{
object ( |
| שדות | |
|---|---|
id |
חובה. מזהה ייחודי של מיומנות הסוכן. |
name |
חובה. שם של המיומנות שקריא לאנשים. |
description |
חובה. תיאור מפורט של המיומנות. |
tags[] |
חובה. קבוצה של מילות מפתח שמתארות את היכולות של המיומנות. |
examples[] |
הנחיות או תרחישים לדוגמה שהמיומנות הזו יכולה לטפל בהם. |
inputModes[] |
קבוצת סוגי המדיה הנתמכים של הקלט למיומנות הזו, שדוחפת את ברירות המחדל של הסוכן. |
outputModes[] |
קבוצת סוגי המדיה הנתמכים של הפלט עבור המיומנות הזו, שמשמשת לביטול ברירות המחדל של הסוכן. |
securityRequirements[] |
תוכניות אבטחה שנדרשות לשימוש במיומנות הזו. |
AgentCardSignature
AgentCardSignature מייצג חתימת JWS של AgentCard. הפורמט הזה תואם לפורמט JSON של חתימת רשת מבוססת JSON (JWS) של RFC 7515.
| ייצוג ב-JSON |
|---|
{ "protected": string, "signature": string, "header": { object } } |
| שדות | |
|---|---|
protected |
חובה. חובה. כותרת ה-JWS המוגנת של החתימה. זה תמיד אובייקט JSON בקידוד base64url. |
signature |
חובה. החתימה המחושבת, בקידוד base64url. |
header |
ערכי הכותרת של JWS לא מוגן. |