الانتقال إلى المحتوى

البحث في الوثائق

اكتب للبحث في كل صفحات الوثائق.

قائمة الوثائق
مرجعالجمهور المستهدف · مستهلكو الواجهة البرمجية

مرجع REST API

الكتالوج الكامل لنقاط النهاية، مع أمثلة على الطلبات

تمت ترجمة هذه الصفحة آليًا من الإنجليزية. وفي حال وجود أي اختلاف، يُعتد بالنص الأصلي.قراءة النص الأصلي بالإنجليزية

التوثيق التفاعلي

يقدّم كل تطبيق Agent-Lab توثيق OpenAPI 3 تلقائياً — التنفيذ المرجعي متاح على http://localhost:18000/docs (أو على تطبيقك أينما كان يعمل). يوثّق الكتالوج أدناه الموجّهات المدمجة في الإطار؛ وتظهر extra_routers الخاصة بك في المخطط نفسه.

المصادقة

عندما تكون قيمة auth.enabled هي true (راجع مرجع الإعدادات)، تتطلب المسارات رمز bearer من 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 جديد
POST /auth/renew تجديد رمز bearer موجود
POST /auth/exchange مبادلة رمز تفويض Microsoft Entra ID (PKCE) برمز للتطبيق
GET /auth/profile الحصول على الملف الشخصي للمستخدم المصادَق عليه
PUT /auth/profile تحديث الملف الشخصي للمستخدم المصادَق عليه

يتناول المصادقة باستخدام Keycloak إعداد الـ realm والعميل.

المسارات التي لا تتطلب مصادقة: /status/*، و/docs، و/openapi.json، و/mcp، و/static، ونقاط نهاية OAuth المعروفة (well-known)، ونقطة تركيب 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 عرض التكاملات الخارجية (مزوّدو الذكاء الاصطناعي)
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 توليد تضمينات لمرفق

الحالة و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

الاصطلاحات

  • المعرّفات من نوع UUID؛ وتقبل جميع نقاط نهاية القوائم أجسام JSON، لا سلاسل الاستعلام.
  • الإعدادات أزواج مفتاح-قيمة تُخزَّن مع الوكيل أو النموذج — وبهذه الطريقة يشغّل التنفيذ نفسه نسخاً عديدة بإعدادات مختلفة.
  • السجل هو المصدر المعتمد للقيم الصالحة لـ agent_type — نفّذ GET /agents/types لترى ما اكتشفه التطبيق قيد التشغيل (بما في ذلك حزمك الخاصة عبر scan_packages).