Zum Inhalt springen

Dokumentation durchsuchen

Tippe, um alle Seiten der Dokumentation zu durchsuchen.

Dokumentationsmenü
ReferenzZielgruppe · API-Nutzer

REST-API-Referenz

Der vollständige Endpoint-Katalog mit Request-Beispielen

Diese Seite wurde maschinell aus dem Englischen übersetzt. Bei Abweichungen gilt das Original.Original auf Englisch lesen

Interaktive Dokumentation

Jede Agent-Lab-Anwendung stellt automatisch OpenAPI 3 bereit – die Referenzimplementierung unter http://localhost:18000/docs (bzw. Ihre eigene Anwendung, wo immer sie läuft). Der folgende Katalog dokumentiert die integrierten Router des Frameworks; Ihre extra_routers erscheinen im selben Schema.

Authentifizierung

Wenn auth.enabled auf true steht (siehe die Konfigurationsreferenz), erfordern die Routen ein Keycloak-Bearer-Token. Der /auth-Router wird nur eingebunden, wenn die Authentifizierung aktiviert ist:

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
Methode Endpoint Beschreibung
POST /auth/login Ein neues Bearer-Token erstellen
POST /auth/renew Ein bestehendes Bearer-Token erneuern
POST /auth/exchange Einen Microsoft-Entra-ID-Autorisierungscode (PKCE) gegen ein App-Token eintauschen
GET /auth/profile Das Profil des authentifizierten Benutzers abrufen
PUT /auth/profile Das Profil des authentifizierten Benutzers aktualisieren

Die Einrichtung von Realm und Client wird unter Authentifizierung mit Keycloak beschrieben.

Pfade ohne Authentifizierung: /status/*, /docs, /openapi.json, /mcp, /static, die OAuth-Well-Known-Endpoints und der SPA-Mount – alles andere erfordert ein gültiges Token.

Endpoints

Agenten

Erstellen Sie Instanzen jedes registrierten Agententyps; agent_type wird dynamisch gegen die Registry validiert.

Methode Endpoint Beschreibung
GET /agents/list Alle Agent-Instanzen auflisten
GET /agents/types Registrierte Agententypen auflisten (die Registry)
GET /agents/{agent_id} Eine Agent-Instanz anhand der ID abrufen
POST /agents/create Eine neue Agent-Instanz erstellen
POST /agents/update Die Basisinformationen eines Agenten aktualisieren
POST /agents/update_setting Eine einzelne Agent-Einstellung aktualisieren
POST /agents/{agent_id}/reset_settings Die Einstellungen eines Agenten auf die Standardwerte zurücksetzen
DELETE /agents/delete/{agent_id} Eine Agent-Instanz löschen
WS /agents/ws/task_updates/{agent_id} WebSocket-Stream mit Fortschrittsupdates für lang laufende Operationen

Nachrichten

Methode Endpoint Beschreibung
POST /messages/post Eine Nachricht an einen Agenten senden und die Antwort erhalten
POST /messages/list Nachrichten eines Agenten auflisten
GET /messages/{message_id} Erweiterte Nachrichtendetails abrufen (Antworten, Anhang)
DELETE /messages/delete/{message_id} Eine Nachricht löschen

Sprachmodelle

Methode Endpoint Beschreibung
GET /llms/list Konfigurierte Sprachmodelle auflisten
GET /llms/{language_model_id} Ein Sprachmodell und seine Einstellungen abrufen
POST /llms/create Ein neues Sprachmodell erstellen
POST /llms/update Die Konfiguration eines Sprachmodells aktualisieren
POST /llms/update_setting Eine einzelne Einstellung eines Sprachmodells aktualisieren
DELETE /llms/delete/{language_model_id} Ein Sprachmodell löschen

Integrationen

Methode Endpoint Beschreibung
GET /integrations/list Externe Integrationen (KI-Anbieter) auflisten
GET /integrations/{integration_id} Details einer Integration abrufen
POST /integrations/create Eine Integration erstellen (Zugangsdaten werden in Vault gespeichert)
DELETE /integrations/delete/{integration_id} Eine Integration löschen

Anhänge

Methode Endpoint Beschreibung
GET /attachments/list Anhänge auflisten
GET /attachments/download/{attachment_id} Einen Anhang herunterladen
POST /attachments/upload Eine Datei als Anhang hochladen
POST /attachments/embeddings Embeddings für einen Anhang erzeugen

Status und MCP

Methode Endpoint Beschreibung
GET /status/liveness Liveness-Probe
GET /status/readiness Readiness-Probe
GET /status/metrics Prometheus-Metriken
* /mcp Der MCP-Server (Streamable HTTP)
GET /.well-known/oauth-protected-resource/mcp OAuth-Metadaten für MCP-Clients

Request-Beispiele

Eine Agent-Instanz erstellen – agent_name akzeptiert [a-zA-Z0-9_-]; agent_type muss ein registrierter Typ sein; language_model_id ist optional:

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

Eine Nachricht senden – message_role ist einer der Werte human, assistant, tool; attachment_id ist optional:

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

Eine Agent-Einstellung aktualisieren – setting_key akzeptiert [a-zA-Z_-]; setting_value fasst bis zu 16.000 Zeichen (hier liegen Prompt-Templates und JSON-Payloads – siehe das Entity-Domänenmodell):

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

Konventionen

  • IDs sind UUIDs; alle List-Endpoints akzeptieren JSON-Bodys, keine Query-Strings.
  • Einstellungen sind Key-Value-Paare, die mit dem Agenten oder Modell persistiert werden – so betreibt dieselbe Implementierung viele unterschiedlich konfigurierte Instanzen.
  • Die Registry ist die maßgebliche Quelle für gültige agent_type-Werte – rufen Sie GET /agents/types auf, um zu sehen, was die laufende Anwendung entdeckt hat (einschließlich Ihrer eigenen Pakete über scan_packages).