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"
}' | jqWyś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
}' | jqZaktualizuj 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…"
}' | jqKonwencje
- 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łajGET /agents/types, aby zobaczyć, co wykryła działająca aplikacja (w tym twoje własne pakiety przezscan_packages).