- ייצוג ב-JSON
- AgentInterface
- AgentProvider
- SecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- אבטחה
- StringList
- AgentSkill
- AgentCardSignature
ב-AgentCard מוצג מידע חשוב: – פרטים כלליים (גרסה, שם, תיאור, שימושים) – מיומנויות; קבוצה של פעולות או פתרונות שהסוכן יכול לבצע – סוגי תוכן או אמצעי תקשורת שנתמכים כברירת מחדל על ידי הסוכן. - דרישות אימות. המספר הבא: 19
| ייצוג ב-JSON |
|---|
{ "protocolVersion": string, "name": string, "description": string, "url": string, "preferredTransport": string, "additionalInterfaces": [ { object ( |
| שדות | |
|---|---|
protocolVersion |
הגרסה של פרוטוקול A2A שהסוכן הזה תומך בה. |
name |
שם הסוכן שקריא לאנשים. דוגמה: "סוכן מתכונים" |
description |
תיאור של תחום הפעולה או מרחב הפתרונות של הסוכן. דוגמה: "סוכן שעוזר למשתמשים במתכונים ובבישול". |
url |
כתובת URL של הכתובת שבה מתארח הסוכן. הערך הזה מייצג את נקודת הקצה המועדפת כפי שהוגדרה על ידי הסוכן. |
preferredTransport |
ההעברה של נקודת הקצה המועדפת. אם השדה ריק, ברירת המחדל היא JSONRPC. |
additionalInterfaces[] |
הודעה על הוספת פרוטוקולי העברה נתמכים. הלקוח יכול להשתמש בכל אחד מהפרוטוקולים הנתמכים. |
provider |
ספק השירות של הסוכן. |
version |
גרסת הסוכן. דוגמה: "1.0.0" |
documentationUrl |
כתובת URL שדרכה אפשר לספק תיעוד נוסף לגבי הסוכן. |
capabilities |
קבוצת היכולות A2A שנתמכת על ידי הסוכן. |
securitySchemes |
פרטי תוכנית האבטחה שמשמשים לאימות מול הסוכן הזה. אובייקט שמכיל רשימה של |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED דרישות אבטחה ליצירת קשר עם הסוכן. אפשר לראות את הרשימה הזו כרשימה של תנאי OR של תנאי AND. כל אובייקט ברשימה מתאר קבוצה אפשרית של דרישות אבטחה שחייבות להיות בבקשה. כך אפשר לציין, לדוגמה, ש'מבצעי הקריאות חייבים להשתמש ב-OAuth או במפתח API וגם ב-mTLS'. דוגמה: security { schemes { key: "oauth" value { list: ["read"] } } } security { schemes { key: "api-key" } schemes { key: "mtls" } } |
defaultInputModes[] |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED קבוצת מצבי האינטראקציה שהסוכן תומך בהם בכל הכישורים. אפשר לשנות את ההגדרה הזו לכל מיומנות בנפרד. מוגדרים כסוגי mime. |
defaultOutputModes[] |
סוגי ה-MIME הנתמכים כפלט מהסוכן הזה. |
skills[] |
מיומנויות מייצגות יחידת יכולת שהנציג יכול לבצע. יכול להיות שההגדרה הזו תהיה קצת מופשטת, אבל היא מייצגת קבוצה ממוקדת יותר של פעולות שהסוכן צפוי להצליח בהן. |
supportsAuthenticatedExtendedCard |
האם הסוכן תומך באספקת כרטיס סוכן מורחב כשהמשתמש מאומת, כלומר האם הכרטיס מ-.well-known שונה מהכרטיס מ-v1.getCard. |
signatures[] |
חתימות אינטרנט מבוססות JSON שחושבו עבור כרטיס הנציג הזה. |
iconUrl |
כתובת URL אופציונלית לסמל של הסוכן. |
AgentInterface
הגדרת פרטי תחבורה נוספים לסוכן.
| ייצוג ב-JSON |
|---|
{ "url": string, "transport": string, "tenant": string } |
| שדות | |
|---|---|
url |
כתובת ה-URL שבה נמצא הממשק הזה. |
transport |
ההעברה תמכה בכתובת ה-URL הזו. זו מחרוזת של טופס פתוח, שאפשר להרחיב אותה בקלות עבור פרוטוקולי העברה רבים. הפרוטוקולים המרכזיים שנתמכים באופן רשמי הם JSONRPC, GRPC ו-HTTP+JSON. |
tenant |
הדייר שצריך להגדיר בבקשה כשמתקשרים לסוכן. ניסיוני, עשוי להשתנות עד לגרסה 1.0. |
AgentProvider
מייצג מידע על ספק השירות של סוכן.
| ייצוג ב-JSON |
|---|
{ "url": string, "organization": string } |
| שדות | |
|---|---|
url |
כתובת ה-URL של ספק לדוגמה: "https://ai.google.dev" |
organization |
שם הארגון של הספק. לדוגמה: Google |
SecurityScheme
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד הערך |
|
apiKeySecurityScheme |
|
httpAuthSecurityScheme |
|
oauth2SecurityScheme |
|
openIdConnectSecurityScheme |
|
mtlsSecurityScheme |
|
HTTPAuthSecurityScheme
| ייצוג ב-JSON |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| שדות | |
|---|---|
description |
תיאור של תוכנית האבטחה הזו. |
scheme |
השם של סכמת האימות של HTTP שבה יש להשתמש בכותרת ההרשאה, כפי שמוגדר ב-RFC7235. הערכים שבהם משתמשים צריכים להיות רשומים במאגר של IANA Authentication Scheme. הערך לא תלוי רישיות, כפי שמוגדר ב-RFC7235. |
bearerFormat |
רמז ללקוח כדי לזהות את הפורמט של אסימון ה-bearer. אסימוני Bearer נוצרים בדרך כלל על ידי שרת הרשאות, ולכן המידע הזה מיועד בעיקר למטרות תיעוד. |
OAuth2SecurityScheme
| ייצוג ב-JSON |
|---|
{
"description": string,
"flows": {
object ( |
| שדות | |
|---|---|
description |
תיאור של תוכנית האבטחה הזו. |
flows |
אובייקט שמכיל פרטי הגדרה לסוגי התהליכים הנתמכים |
oauth2MetadataUrl |
כתובת ה-URL של המטא-נתונים של שרת ההרשאות ב-OAuth2 RFC8414. נדרש פרוטוקול TLS. |
OAuthFlows
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד הערך |
|
authorizationCode |
|
clientCredentials |
|
implicit |
|
password |
|
AuthorizationCodeOAuthFlow
| ייצוג ב-JSON |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| שדות | |
|---|---|
authorizationUrl |
כתובת ה-URL לאישור שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. תקן OAuth2 מחייב שימוש ב-TLS |
tokenUrl |
כתובת ה-URL של האסימון שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
refreshUrl |
כתובת האתר שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
scopes |
היקפי ההרשאות שזמינים לתוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה. אובייקט שמכיל רשימה של |
ClientCredentialsOAuthFlow
| ייצוג ב-JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| שדות | |
|---|---|
tokenUrl |
כתובת ה-URL של האסימון שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
refreshUrl |
כתובת האתר שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
scopes |
היקפי ההרשאות שזמינים לתוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה. אובייקט שמכיל רשימה של |
ImplicitOAuthFlow
| ייצוג ב-JSON |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| שדות | |
|---|---|
authorizationUrl |
כתובת ה-URL לאישור שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. תקן OAuth2 מחייב שימוש ב-TLS |
refreshUrl |
כתובת האתר שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
scopes |
היקפי ההרשאות שזמינים לתוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה. אובייקט שמכיל רשימה של |
PasswordOAuthFlow
| ייצוג ב-JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| שדות | |
|---|---|
tokenUrl |
כתובת ה-URL של האסימון שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
refreshUrl |
כתובת האתר שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
scopes |
היקפי ההרשאות שזמינים לתוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה. אובייקט שמכיל רשימה של |
OpenIdConnectSecurityScheme
| ייצוג ב-JSON |
|---|
{ "description": string, "openIdConnectUrl": string } |
| שדות | |
|---|---|
description |
תיאור של תוכנית האבטחה הזו. |
openIdConnectUrl |
כתובת URL מוכרת לאיתור המטא-נתונים של ספק [[OpenID-Connect-Discovery]]. |
MutualTlsSecurityScheme
| ייצוג ב-JSON |
|---|
{ "description": string } |
| שדות | |
|---|---|
description |
תיאור של תוכנית האבטחה הזו. |
אבטחה
| ייצוג ב-JSON |
|---|
{
"schemes": {
string: {
object ( |
| שדות | |
|---|---|
schemes |
אובייקט שמכיל רשימה של |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
| ייצוג ב-JSON |
|---|
{ "list": [ string ] } |
| שדות | |
|---|---|
list[] |
|
AgentSkill
AgentSkill מייצג יחידת פעולה או פתרון שהנציג יכול לבצע. אפשר לחשוב על זה כסוג של פתרון אמין מאוד שאפשר להטיל על סוכן לספק. לסוכנים יש אוטונומיה לבחור איך ומתי להשתמש במיומנויות ספציפיות, אבל הלקוחות צריכים להיות בטוחים שאם המיומנות מוגדרת, אפשר לבצע את יחידת הפעולה הזו בצורה מהימנה.
| ייצוג ב-JSON |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"security": [
{
object ( |
| שדות | |
|---|---|
id |
מזהה ייחודי של המיומנות בסוכן. |
name |
שם המיומנות שקריא לבני אדם. |
description |
תיאור קריא (לבני אדם או למודל שפה גדול) של פרטי המיומנות וההתנהגויות שלה. |
tags[] |
קבוצת תגים למיומנות, לשיפור הסיווג או השימוש. דוגמה: ["cooking", "customer support", "billing"] |
examples[] |
קבוצה של שאילתות לדוגמה שהמיומנות הזו נועדה לתת להן מענה. הדוגמאות האלה אמורות לעזור למתקשר להבין איך לנסח בקשות לסוכן כדי להשיג יעדים ספציפיים. דוגמה: ['אני צריך מתכון ללחם'] |
inputModes[] |
אפשרויות קלט נתמכות. |
outputModes[] |
אפשרויות פלט אפשריות |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED תוכניות אבטחה שנדרשות כדי שהסוכן יוכל להשתמש במיומנות הזו. כמו ב-AgentCard.security הכולל, הרשימה הזו מייצגת OR לוגי של אובייקטים של דרישות אבטחה. כל אובייקט הוא קבוצה של תוכניות אבטחה שצריך להשתמש בהן יחד (AND לוגי). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED |
AgentCardSignature
AgentCardSignature מייצג חתימת JWS של AgentCard. הפורמט הזה תואם לפורמט JSON של חתימת רשת מבוססת JSON (JWS) של RFC 7515.
| ייצוג ב-JSON |
|---|
{ "protected": string, "signature": string, "header": { object } } |
| שדות | |
|---|---|
protected |
חובה. כותרת ה-JWS המוגנת של החתימה. זה תמיד אובייקט JSON בקידוד base64url. חובה. |
signature |
חובה. החתימה המחושבת, בקידוד base64url. חובה. |
header |
ערכי הכותרת של JWS לא מוגן. |