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 w panelu czatu (zakładka Klucze API), a następnie wywołaj endpoint czatu:

curl https://api.ownai.pl/api/agents/v1/chat/completions \
  -H "Authorization: Bearer TOKEN" \
  -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 (patrz sekcja Endpoints).

Autoryzacja

Wszystkie zapytania wymagają nagłówka Authorization: Bearer <token>. Token pobierzesz na dwa sposoby:

Klucz API użytkownika

Zaloguj się do chat.ownai.pl, otwórz ustawienia i przejdź do sekcji Klucze API. Kliknij Pobierz klucz, aby wygenerować token sesji przypisany do Twojego konta.

Zarządzanie kluczami przez API

Klucze dostawców (OpenAI, Anthropic, Google) możesz dodawać i usuwać programowo za pomocą endpointów /api/keys. Są one szyfrowane i przechowywane wyłącznie na serwerze OwnAI.

Token umożliwia wykonywanie zapytań w ramach Twojego konta. Nie udostępniaj go publicznie. W razie wycieku wygeneruj nowy token w ustawieniach czatu.

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"
  }]
}

Zarządzanie kluczami

GET/api/keys

Zwraca listę kluczy dostawców przypisanych do Twojego konta.

POST/api/keys

Dodaje nowy klucz dostawcy.

curl https://api.ownai.pl/api/keys \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "openai", "value": "sk-..."}'
DELETE/api/keys

Usuwa klucz wskazany parametrem name.

Ustawienia i lista agentów

GET/api/config

Zwraca publiczną konfigurację serwisu, w tym listę dostępnych modeli i agentów.

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
  4. Jako klucz API wklej token z sekcji Klucze API w czacie.
  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/v1
  3. API key: token użytkownika OwnAI.
  4. Model ID: identyfikator agenta z listy w sekcji Ustawienia czatu.

Continue

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

{
  "models": [{
    "title": "OwnAI Agent",
    "provider": "openai",
    "apiBase": "https://api.ownai.pl/api",
    "apiKey": "TOKEN",
    "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 {TOKEN}"},
    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 tokenWygeneruj nowy token w ustawieniach czatu
403Brak uprawnień do agentaPoproś administratora o dostęp do agenta
404Nieprawidłowy model lub endpointSprawdź identyfikator agenta w /api/config
429Za dużo zapytańPoczekaj i ponów zapytanie
500Błąd wewnętrzny lub brak konfiguracji modeluSkontaktuj się z administratorem