תיעוד אינטראקטיבי
כל אפליקציית Agent-Lab מגישה OpenAPI 3 באופן אוטומטי — מימוש הדוגמה בכתובת
http://localhost:18000/docs (או האפליקציה שלך, בכל מקום
שבו היא רצה). הקטלוג שלהלן מתעד את הנתבים המובנים של הפריימוורק; ה-extra_routers שלך
מופיעים באותה סכמה.
אימות
כאשר auth.enabled הוא true (ראו את חומר העזר לתצורה), הנתיבים
דורשים bearer token של Keycloak. הנתב /auth מעוגן רק כשהאימות מופעל:
TOKEN=$(curl -s -X POST https://<host>/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "…", "password": "…"}' | jq -r '.access_token')
curl -s https://<host>/agents/list -H "Authorization: Bearer $TOKEN" | jq| מתודה | נקודת קצה | תיאור |
|---|---|---|
| POST | /auth/login |
יצירת bearer token חדש |
| POST | /auth/renew |
חידוש bearer token קיים |
| POST | /auth/exchange |
החלפת קוד הרשאה של Microsoft Entra ID (PKCE) בטוקן של האפליקציה |
| GET | /auth/profile |
קבלת הפרופיל של המשתמש המאומת |
| PUT | /auth/profile |
עדכון הפרופיל של המשתמש המאומת |
הגדרת ה-realm/הלקוח מוסברת באימות עם Keycloak.
נתיבים ללא אימות: /status/*, /docs, /openapi.json, /mcp, /static,
נקודות הקצה well-known של OAuth ונקודת העיגון של ה-SPA — כל השאר דורש טוקן תקף.
נקודות קצה
סוכנים
יוצרים מופעים של כל סוג סוכן רשום; agent_type מאומת באופן דינמי
מול הרישום.
| מתודה | נקודת קצה | תיאור |
|---|---|---|
| GET | /agents/list |
הצגת כל מופעי הסוכנים |
| GET | /agents/types |
הצגת סוגי הסוכנים הרשומים (הרישום) |
| GET | /agents/{agent_id} |
קבלת מופע סוכן לפי מזהה |
| POST | /agents/create |
יצירת מופע סוכן חדש |
| POST | /agents/update |
עדכון הפרטים הבסיסיים של סוכן |
| POST | /agents/update_setting |
עדכון הגדרה בודדת של סוכן |
| POST | /agents/{agent_id}/reset_settings |
איפוס הגדרות הסוכן לברירות המחדל |
| DELETE | /agents/delete/{agent_id} |
מחיקת מופע סוכן |
| WS | /agents/ws/task_updates/{agent_id} |
זרם WebSocket של עדכוני התקדמות משימות עבור פעולות ארוכות |
הודעות
| מתודה | נקודת קצה | תיאור |
|---|---|---|
| POST | /messages/post |
שליחת הודעה לסוכן וקבלת התשובה |
| POST | /messages/list |
הצגת ההודעות של סוכן |
| GET | /messages/{message_id} |
קבלת פרטי הודעה מורחבים (תשובות, קובץ מצורף) |
| DELETE | /messages/delete/{message_id} |
מחיקת הודעה |
מודלי שפה
| מתודה | נקודת קצה | תיאור |
|---|---|---|
| GET | /llms/list |
הצגת מודלי השפה המוגדרים |
| GET | /llms/{language_model_id} |
קבלת מודל שפה וההגדרות שלו |
| POST | /llms/create |
יצירת מודל שפה חדש |
| POST | /llms/update |
עדכון התצורה של מודל שפה |
| POST | /llms/update_setting |
עדכון הגדרה בודדת של מודל שפה |
| DELETE | /llms/delete/{language_model_id} |
מחיקת מודל שפה |
אינטגרציות
| מתודה | נקודת קצה | תיאור |
|---|---|---|
| GET | /integrations/list |
הצגת אינטגרציות חיצוניות (ספקי AI) |
| GET | /integrations/{integration_id} |
קבלת פרטי אינטגרציה |
| POST | /integrations/create |
יצירת אינטגרציה (פרטי ההתחברות נשמרים ב-Vault) |
| DELETE | /integrations/delete/{integration_id} |
מחיקת אינטגרציה |
קבצים מצורפים
| מתודה | נקודת קצה | תיאור |
|---|---|---|
| GET | /attachments/list |
הצגת הקבצים המצורפים |
| GET | /attachments/download/{attachment_id} |
הורדת קובץ מצורף |
| POST | /attachments/upload |
העלאת קובץ מצורף |
| POST | /attachments/embeddings |
יצירת embeddings עבור קובץ מצורף |
סטטוס ו-MCP
| מתודה | נקודת קצה | תיאור |
|---|---|---|
| GET | /status/liveness |
בדיקת liveness |
| GET | /status/readiness |
בדיקת readiness |
| GET | /status/metrics |
מדדי Prometheus |
| * | /mcp |
שרת ה-MCP (Streamable HTTP) |
| GET | /.well-known/oauth-protected-resource/mcp |
מטא-נתוני OAuth עבור לקוחות MCP |
דוגמאות לבקשות
יצירת מופע סוכן — agent_name מקבל [a-zA-Z0-9_-];
agent_type חייב להיות סוג רשום; language_model_id הוא אופציונלי:
curl -s -X POST http://localhost:18000/agents/create \
-H "Content-Type: application/json" \
-d '{
"agent_name": "support-agent-1",
"agent_type": "coordinator_planner_supervisor",
"language_model_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}' | jqשליחת הודעה — message_role הוא אחד מהערכים human, assistant, tool;
attachment_id הוא אופציונלי:
curl -s -X POST http://localhost:18000/messages/post \
-H "Content-Type: application/json" \
-d '{
"agent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"message_role": "human",
"message_content": "Summarize the attached report.",
"attachment_id": null
}' | jqעדכון הגדרת סוכן — setting_key מקבל [a-zA-Z_-];
setting_value מכיל עד 16,000 תווים (תבניות פרומפט ומטעני JSON נשמרים כאן — ראו את
מודל הדומיין של הישויות):
curl -s -X POST http://localhost:18000/agents/update_setting \
-H "Content-Type: application/json" \
-d '{
"agent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"setting_key": "system_prompt",
"setting_value": "You are a concise research assistant…"
}' | jqמוסכמות
- מזהים הם UUIDs; כל נקודות הקצה של רשימות מקבלות גוף JSON, ולא query strings.
- הגדרות הן זוגות מפתח-ערך שנשמרים עם הסוכן או המודל — כך אותו מימוש מריץ מופעים רבים בתצורות שונות.
- הרישום הוא מקור האמת לערכי
agent_typeתקפים — מריציםGET /agents/typesכדי לראות מה האפליקציה הפועלת גילתה (כולל החבילות שלך דרךscan_packages).