HTTP-API
Alle Endpunkte werden von app.py bereitgestellt. HTML-Seiten geben text/html zurück; Daten-Endpunkte geben JSON zurück.
PWA / System
| Methode |
Pfad |
Beschreibung |
| GET |
/ |
Upload-Seite |
| GET |
/manifest.webmanifest |
PWA-Manifest |
| GET |
/icon.svg |
App-Icon |
| GET |
/sw.js |
Service Worker |
| GET |
/healthz |
Statuscheck (JSON): API_BASE, OLLAMA_BASE_URL, Modell, DB-Pfad |
Einstellungen
| Methode |
Pfad |
Beschreibung |
| GET |
/settings |
Einstellungsseite |
| POST |
/settings |
Einstellungen speichern |
| GET |
/settings/models |
Verfügbare Ollama-Modelle laden (JSON) |
GET /settings/models Response
Projekte
| Methode |
Pfad |
Beschreibung |
| POST |
/projects |
Projekt anlegen (Form: name) |
| POST |
/projects/update |
Projekt umbenennen (Form: id, name) |
| POST |
/projects/{id}/delete |
Projekt löschen (Dokumente → Default) |
| POST |
/projects/create-api |
Projekt anlegen, gibt JSON zurück (für JS-Upload-Flow) |
Upload
| Methode |
Pfad |
Beschreibung |
| POST |
/upload |
Audio-/Videodatei hochladen (Form: project_id, file); legt Upload-Job an |
Library / Dokumente
| Methode |
Pfad |
Beschreibung |
| GET |
/library |
Dokumentenliste (Query: project_id, q_title, q_content) |
| GET |
/document/{id} |
Dokument anzeigen |
| GET |
/document/{id}/download.md |
Dokument als Markdown herunterladen |
| POST |
/document/{id}/edit |
Inhalt bearbeiten (Form: content_md) |
| POST |
/document/{id}/rename |
Umbenennen (Form: title) |
| POST |
/document/{id}/move |
Projekt wechseln (Form: project_id) |
| POST |
/document/{id}/delete |
Dokument löschen |
| POST |
/documents/bulk-move |
Mehrere Dokumente verschieben (Form: ids[], project_id) |
| POST |
/documents/bulk-delete |
Mehrere Dokumente löschen (Form: ids[]) |
Prompts & Projekte
| Methode |
Pfad |
Beschreibung |
| GET |
/prompts |
Prompts- und Projektverwaltung |
| GET |
/prompts/{id}/preview |
Prompt-Vorschau (JSON: {html}) |
| POST |
/prompts/add |
Prompt anlegen (Form: name, prompt) |
| POST |
/prompts/update |
Prompt speichern inkl. KI-Einstellungen (siehe unten) |
| POST |
/prompts/{id}/delete |
Prompt löschen |
POST /prompts/update Felder
| Feld |
Typ |
Beschreibung |
id |
int |
Prompt-ID |
name |
str |
Name |
prompt |
str |
Prompttext |
llm_use_default |
int |
1 = globale KI-Einstellungen, 0 = promptspezifisch |
llm_model |
str? |
Modellname |
llm_think |
str? |
"true" / "false" |
llm_num_ctx |
str? |
Kontextgröße oder "auto" |
llm_num_predict |
str? |
Max. Tokens |
llm_repeat_penalty |
str? |
|
llm_repeat_last_n |
str? |
|
Hintergrundjobs
| Methode |
Pfad |
Beschreibung |
| GET |
/jobs |
Job-Übersicht (HTML) |
| GET |
/jobs/data |
Job-Liste als JSON (Query: limit=200) |
| GET |
/jobs/{id}/debug-data |
Detail-Daten eines Jobs (JSON) |
| POST |
/jobs/{id}/cancel |
Job abbrechen (JSON-Response) |
| POST |
/jobs/{id}/cancel-form |
Job abbrechen (Redirect) |
| POST |
/jobs/{id}/delete |
Job löschen (JSON-Response) |
| POST |
/jobs/{id}/delete-form |
Job löschen (Redirect) |
Prompt ausführen
| Methode |
Pfad |
Beschreibung |
| GET |
/run |
Formular: Prompt auf Dokument(e) anwenden |
| POST |
/run |
Analyse-Job(s) starten |
| POST |
/run/project |
Analyse-Job für alle Transkripte eines Projekts starten |