DOKUMENTACJA TECHNICZNA

Interfejs API platformy OwnAI

Integruj własne narzędzia, edytory i rozszerzenia z platformą OwnAI. Kompatybilny ze standardem OpenAI Chat Completions, dzięki czemu działa z Cline, Roo Code, Continue i innymi narzędziami.

Szybki start

Podstawowy adres API (base URL):

https://api.ownai.pl/api

Najszybsza droga do testów: wygeneruj klucz agenta (prefiks sk-, sekcja Autoryzacja), a następnie wywołaj endpoint czatu:

curl https://api.ownai.pl/api/agents/v1/chat/completions \
  -H "Authorization: Bearer sk-TWOJ_KLUCZ_AGENTA" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nazwa-agenta",
    "messages": [{ "role": "user", "content": "Dzień dobry!" }]
  }'

Jeśli nie znasz nazwy modelu, najpierw pobierz listę agentów: GET /api/agents/v1/models (sekcja Endpoints).

Autoryzacja

Zapytania do /api/agents/v1/* wymagają nagłówka Authorization: Bearer <klucz-agenta>. Klucz agenta (prefiks sk-) tworzy administrator, a jego pełna wartość jest widoczna tylko raz, w momencie utworzenia.

Klucz agenta (sk-...)

Klucz w formacie sk-... autoryzuje zapytania do endpointów /api/agents/v1/* w formacie OpenAI. Klucz tworzy administrator konta z uprawnieniem do Remote Agents.

Zarządzanie kluczami przez API

Klucze agentów tworzysz, wypisujesz i usuwasz przez endpointy /api/api-keys. Wymagany jest token JWT zalogowanego administratora. Lista kluczy zwraca tylko prefiks sk-..., nigdy pełnej wartości.

Klucz agenta działa w ramach uprawnień osoby, która go utworzyła. Nie udostępniaj go publicznie. W razie wycieku usuń klucz przez DELETE /api/api-keys/:id i utwórz nowy.

Endpoints API

Czat z agentem (OpenAI compatible)

POST/api/agents/v1/chat/completions

Wywołuje wybranego agenta z platformy OwnAI. Format zapytania i odpowiedzi jest zgodny z API OpenAI, dzięki czemu działa w narzędziach, które obsługują dostawców OpenAI.

Parametry zapytania

ParametrTypOpis
modelstringIdentyfikator agenta (lista poniżej)
messagesarrayLista wiadomości: role oraz content
streamboolOpcjonalnie, odpowiedź strumieniowa (SSE)
conversation_idstringOpcjonalnie, kontynuacja istniejącej rozmowy

Przykładowa odpowiedź

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1757000000,
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "Cześć! W czym mogę pomóc?" },
    "finish_reason": "stop"
  }]
}

Lista agentów (OpenAI compatible)

GET/api/agents/v1/models

Zwraca listę agentów dostępnych dla Twojego klucza, w formacie zgodnym z API OpenAI.

Klucze agentów

GET/api/api-keys

Lista kluczy agentów Twojego konta. Zwracane są identyfikator, nazwa, prefiks sk-... oraz daty utworzenia i ostatniego użycia.

POST/api/api-keys

Tworzy nowy klucz agenta. Wymaga tokenu JWT konta z uprawnieniem do Remote Agents (rola administratora).

curl https://api.ownai.pl/api/api-keys \
  -H "Authorization: Bearer JWT_ADMINISTRATORA" \
  -H "Content-Type: application/json" \
  -d '{"name": "klucz-cicd"}'

Odpowiedź 201 zawiera pole key z pełnym kluczem sk-.... Jest ono pokazywane tylko raz, kolejne zapytania zwracają wyłącznie prefiks.

DELETE/api/api-keys/:id

Usuwa klucz agenta o podanym identyfikatorze. Klucz przestaje działać natychmiast po usunięciu.

Ustawienia i lista agentów

GET/api/config

Zwraca publiczną konfigurację serwisu (nazwa, ustawienia, limity). Listę agentów pobierzesz z GET /api/agents/v1/models.

Integracja z VS Code

OwnAI udostępnia agentów w standardzie OpenAI, dzięki czemu możesz ich używać w popularnych rozszerzeniach do VS Code. Poniżej przykładowe konfiguracje.

Cline

  1. Zainstaluj rozszerzenie Cline z marketplace VS Code.
  2. Otwórz ustawienia providera i wybierz OpenAI Compatible.
  3. Podaj base URL: https://api.ownai.pl/api/agents/v1
  4. Jako klucz API wklej klucz agenta sk-... (sekcja Autoryzacja).
  5. Wybierz model odpowiadający Twojemu agentowi i zapisz.

Roo Code

  1. W panelu bocznych providerów kliknij ikonę plusa i wybierz OpenAI Compatible.
  2. Base URL: https://api.ownai.pl/api/agents/v1
  3. API key: klucz agenta sk-....
  4. Model ID: identyfikator agenta z listy GET /api/agents/v1/models.

Continue

W pliku ~/.continue/config.json dodaj model:

{
  "models": [{
    "title": "OwnAI Agent",
    "provider": "openai",
    "apiBase": "https://api.ownai.pl/api",
    "apiKey": "sk-TWOJ_KLUCZ_AGENTA",
    "model": "nazwa-agenta"
  }]
}

Rozszerzenia i inne narzędzia

Endpoint /api/agents/v1/chat/completions jest kompatybilny z każdym narzędziem obsługującym protokół OpenAI, między innymi:

  • Chatbot UI, LibreChat i inne platformy czatu z obsługą Remote Agents,
  • Open WebUI przez konfigurację dostawcy OpenAI,
  • narzędzia CLI (np. aichat, llm),
  • własne skrypty i automatyzacje napisane w Pythonie, Node.js, Go lub innym języku.

Przykład w Pythonie:

import requests

r = requests.post(
    "https://api.ownai.pl/api/agents/v1/chat/completions",
    headers={"Authorization": f"Bearer {AGENT_KEY}"},
    json={
        "model": "nazwa-agenta",
        "messages": [{"role": "user", "content": "Przetłumacz na angielski: Witaj w OwnAI!"}],
    },
)
print(r.json()["choices"][0]["message"]["content"])

Kody błędów

KodZnaczenieRozwiązanie
401Brak lub nieprawidłowy klucz agentaSprawdź klucz sk-... lub utwórz nowy przez POST /api/api-keys
403Brak uprawnień do agentaPoproś administratora o dostęp do agenta
404Nieprawidłowy model lub endpointSprawdź identyfikator agenta w GET /api/agents/v1/models
429Za dużo zapytańPoczekaj i ponów zapytanie
500Błąd wewnętrzny lub brak konfiguracji modeluSkontaktuj się z administratorem