Przejdź do treści

Szukaj w dokumentacji

Wpisz, aby przeszukać każdą stronę dokumentacji.

Menu dokumentacji
ReferencjaOdbiorcy · Konsumenci API

Dokumentacja REST API

Kompletny katalog endpointów wraz z przykładami żądań

Ta strona została przetłumaczona automatycznie z języka angielskiego. W razie rozbieżności pierwszeństwo ma oryginał.Przeczytaj oryginał w języku angielskim

Interaktywna dokumentacja

Każda aplikacja Agent-Lab automatycznie udostępnia specyfikację OpenAPI 3 — implementacja referencyjna pod adresem http://localhost:18000/docs (lub twoja własna aplikacja, gdziekolwiek działa). Poniższy katalog dokumentuje wbudowane routery frameworka; twoje extra_routers pojawiają się w tym samym schemacie.

Uwierzytelnianie

Gdy auth.enabled ma wartość true (zobacz Dokumentację konfiguracji), trasy wymagają tokenu bearer z Keycloak. Router /auth jest montowany tylko wtedy, gdy uwierzytelnianie jest włączone:

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
Metoda Endpoint Opis
POST /auth/login Tworzy nowy token bearer
POST /auth/renew Odnawia istniejący token bearer
POST /auth/exchange Wymienia kod autoryzacji Microsoft Entra ID (PKCE) na token aplikacji
GET /auth/profile Pobiera profil uwierzytelnionego użytkownika
PUT /auth/profile Aktualizuje profil uwierzytelnionego użytkownika

Konfigurację realmu i klienta opisuje strona Uwierzytelnianie z Keycloak.

Ścieżki bez uwierzytelniania: /status/*, /docs, /openapi.json, /mcp, /static, endpointy well-known OAuth oraz punkt montowania SPA — wszystko inne wymaga ważnego tokenu.

Endpointy

Agenci

Twórz instancje dowolnego zarejestrowanego typu agenta; agent_type jest walidowany dynamicznie względem rejestru.

Metoda Endpoint Opis
GET /agents/list Wyświetla listę wszystkich instancji agentów
GET /agents/types Wyświetla listę zarejestrowanych typów agentów (rejestr)
GET /agents/{agent_id} Pobiera instancję agenta według ID
POST /agents/create Tworzy nową instancję agenta
POST /agents/update Aktualizuje podstawowe informacje o agencie
POST /agents/update_setting Aktualizuje pojedyncze ustawienie agenta
POST /agents/{agent_id}/reset_settings Przywraca domyślne ustawienia agenta
DELETE /agents/delete/{agent_id} Usuwa instancję agenta
WS /agents/ws/task_updates/{agent_id} Strumień WebSocket z aktualizacjami postępu zadań dla długich operacji

Wiadomości

Metoda Endpoint Opis
POST /messages/post Wysyła wiadomość do agenta i zwraca odpowiedź
POST /messages/list Wyświetla listę wiadomości agenta
GET /messages/{message_id} Pobiera rozszerzone szczegóły wiadomości (odpowiedzi, załącznik)
DELETE /messages/delete/{message_id} Usuwa wiadomość

Modele językowe

Metoda Endpoint Opis
GET /llms/list Wyświetla listę skonfigurowanych modeli językowych
GET /llms/{language_model_id} Pobiera model językowy wraz z jego ustawieniami
POST /llms/create Tworzy nowy model językowy
POST /llms/update Aktualizuje konfigurację modelu językowego
POST /llms/update_setting Aktualizuje pojedyncze ustawienie modelu językowego
DELETE /llms/delete/{language_model_id} Usuwa model językowy

Integracje

Metoda Endpoint Opis
GET /integrations/list Wyświetla listę integracji zewnętrznych (dostawców AI)
GET /integrations/{integration_id} Pobiera szczegóły integracji
POST /integrations/create Tworzy integrację (poświadczenia przechowywane w Vault)
DELETE /integrations/delete/{integration_id} Usuwa integrację

Załączniki

Metoda Endpoint Opis
GET /attachments/list Wyświetla listę załączników
GET /attachments/download/{attachment_id} Pobiera załącznik
POST /attachments/upload Przesyła załącznik w postaci pliku
POST /attachments/embeddings Generuje embeddingi dla załącznika

Status i MCP

Metoda Endpoint Opis
GET /status/liveness Sonda liveness
GET /status/readiness Sonda readiness
GET /status/metrics Metryki Prometheus
* /mcp Serwer MCP (Streamable HTTP)
GET /.well-known/oauth-protected-resource/mcp Metadane OAuth dla klientów MCP

Przykładowe żądania

Utwórz instancję agenta — agent_name akceptuje [a-zA-Z0-9_-]; agent_type musi być zarejestrowanym typem; language_model_id jest opcjonalny:

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

Wyślij wiadomość — message_role przyjmuje jedną z wartości human, assistant, tool; attachment_id jest opcjonalny:

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

Zaktualizuj ustawienie agenta — setting_key akceptuje [a-zA-Z_-]; setting_value mieści do 16 000 znaków (tutaj przechowywane są szablony promptów i ładunki JSON — zobacz Model domeny encji):

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

Konwencje

  • Identyfikatory to UUID; wszystkie endpointy list przyjmują treść JSON, a nie parametry zapytania.
  • Ustawienia to pary klucz-wartość utrwalane razem z agentem lub modelem — dzięki temu ta sama implementacja działa w wielu różnie skonfigurowanych instancjach.
  • Rejestr jest źródłem prawdy dla prawidłowych wartości agent_type — wywołaj GET /agents/types, aby zobaczyć, co wykryła działająca aplikacja (w tym twoje własne pakiety przez scan_packages).