LXC-Frontend (FastAPI + HTML/JS): - Audio-Upload (MP3/WAV/M4A/MP4/OGG/FLAC, max. 500 MB) - SQLite Job-Store, BackgroundTask-Pipeline - Job-Liste mit Live-Status, Downloads (DOCX + JSON) - Mac-Health-Indicator im UI Mac-Worker (FastAPI): - /api/transcribe (lightning-whisper-mlx | faster-whisper | mock) - /api/summarize + /api/protocol via Ollama (llama3.1:8b) - /api/export/docx via python-docx Deploy: - systemd-Service, Nginx Reverse-Proxy - deploy/install.sh: idempotentes LXC-Setup Doku: README.md, lxc-frontend/README.md, mac-worker/README.md
5.1 KiB
5.1 KiB
Lastenheft / Umsetzungskonzept
Self-hosted AI-Transkriptionssystem für Sitzungsaufzeichnungen
Ziel
Eine Firma lädt regelmäßig Audioaufzeichnungen von Sitzungen hoch.
Das System transkribiert die Aufnahme automatisch, erkennt mehrere Sprecher, erstellt Zusammenfassungen und exportiert fertige Protokolle.
1. Architektur
Benutzer
↓
Webfrontend im LXC-Container
↓
REST/API-Aufruf
Mac-Rechner als AI-Backend
├─ Whisper / MLX-Whisper / whisper.cpp
├─ Ollama
├─ optionale Speaker-Diarization
└─ Export DOCX/PDF/TXT
2. Systemaufteilung
2.1 LXC-Container (ohne GPU)
Aufgaben
- Weboberfläche
- Datei-Upload
- Benutzerverwaltung
- Jobverwaltung
- Statusanzeige
- Downloadbereich
- Speicherung der Ergebnisse
Der LXC führt keine AI-Verarbeitung durch.
2.2 Mac-Rechner (mit Ollama)
Aufgaben
- Speech-to-Text
- Audioanalyse
- Sprechererkennung
- Zusammenfassung
- Protokollgenerierung
- Exporterstellung
3. Komponenten
3.1 Webfrontend im LXC
Empfohlene Technologien
- FastAPI oder Flask
- HTML/CSS/JavaScript
- SQLite oder PostgreSQL
- Nginx Reverse Proxy
- Optional Docker
Funktionen
- Upload von MP3/WAV/M4A
- Anzeige laufender Jobs
- Download fertiger Ergebnisse
- Benutzerverwaltung optional
3.2 AI-Backend auf dem Mac
Empfohlene Technologien
- Ollama
- whisper.cpp
- lightning-whisper-mlx
- optional WhisperX
- optional pyannote.audio
- FastAPI
Empfehlung für Apple Silicon
lightning-whisper-mlx
Alternative
whisper.cpp
4. Datenfluss
1. Benutzer lädt Audio im Webfrontend hoch
2. LXC speichert Datei temporär
3. LXC sendet Datei oder Dateipfad an Mac-API
4. Mac transkribiert Audio
5. Mac erkennt optional Sprecher
6. Mac sendet Transkript an Ollama
7. Ollama erzeugt:
- Zusammenfassung
- Beschlüsse
- Aufgaben
- offizielles Protokoll
8. Ergebnis wird gespeichert
9. Benutzer lädt Ergebnis herunter
5. API-Design
Endpunkte auf dem Mac
Transkription starten
POST /api/transcribe
Zusammenfassung erzeugen
POST /api/summarize
Protokoll generieren
POST /api/protocol
Jobstatus abrufen
GET /api/job/{job_id}
Ergebnis abrufen
GET /api/result/{job_id}
6. Ausgabeformate
Das System erzeugt
- Rohtranskript
- Zeitgestempeltes Transkript
- Sprecherzuordnung
- Zusammenfassung
- Beschlussliste
- Aufgabenliste
- Sitzungsprotokoll
Exportformate
- TXT
- DOCX
7. Beispielausgabe
Sitzungsprotokoll
Datum: 13.05.2026
Thema: Monatsbesprechung
Teilnehmer:
- Sprecher 1
- Sprecher 2
- Sprecher 3
Zusammenfassung:
In der Sitzung wurden Budget, Personalplanung und IT-Migration besprochen.
Beschlüsse:
- Budget für Q3 wird freigegeben.
- Servererneuerung wird vorbereitet.
Aufgaben:
- Herr Müller holt Angebote ein.
- Frau Schneider koordiniert den nächsten Termin.
Transkript:
[00:00:01] Sprecher 1: Guten Morgen zusammen.
[00:00:07] Sprecher 2: Ich beginne mit dem Budgetbericht.
8. Ollama-Konfiguration
Ollama im Netzwerk erreichbar machen
launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
Test vom LXC
curl http://MAC-IP:11434/api/tags
9. Empfohlener Firmenworkflow
1. Sitzung wird aufgenommen
2. Datei wird im Webportal hochgeladen
3. System verarbeitet die Datei automatisch
4. Sekretariat prüft Ergebnis
5. Protokoll wird final gespeichert oder verteilt
10. Prioritäten
Priorität 1 (MVP)
- Upload-Webfrontend
- Mac-API
- Audio-Transkription
- Ollama-Zusammenfassung
- DOCX-Export
Priorität 2
- Sprechererkennung
- PDF-Export
- Benutzerverwaltung
- Protokollvorlagen
Priorität 3
- Active Directory / LDAP
- Nextcloud-/SharePoint-Integration
- automatische E-Mail-Verteilung
- Übersetzungen
11. Technische Empfehlung
MVP-Architektur
LXC
- FastAPI Webfrontend
- SQLite
- Upload-Verzeichnis
- Ergebnis-Verzeichnis
Mac
- FastAPI Worker
- lightning-whisper-mlx
- Ollama
- python-docx
12. Ziel der ersten Version
Die erste Version soll können:
- Audiodatei hochladen
- Datei an den Mac senden
- Audio automatisch transkribieren
- Zusammenfassung mit Ollama erzeugen
- Sitzungsprotokoll als DOCX exportieren
- Ergebnis im Webfrontend herunterladen
13. Erweiterungsmöglichkeiten
Später mögliche Funktionen
- Live-Transkription
- automatische Sprechererkennung mit Namen
- Meeting-Kalenderintegration
- Teams-/Zoom-Import
- automatische E-Mail-Protokolle
- Mehrsprachigkeit
- Übersetzung
- Suchfunktion
- Archivierung
- Rechte- und Rollensystem
14. Sicherheitsanforderungen
- vollständiger lokaler Betrieb
- keine Cloud-Anbindung
- DSGVO-konforme Verarbeitung
- Zugriffsschutz
- HTTPS
- Benutzerrechte
- Audit-Logging optional
15. Empfohlene Open-Source-Komponenten
Speech-to-Text
- Whisper
- whisper.cpp
- lightning-whisper-mlx
Speaker-Diarization
- pyannote.audio
- WhisperX
LLM / Zusammenfassung
- Ollama
Dokumentenerstellung
- python-docx
- reportlab
Webfrontend
- FastAPI
- Flask
- Nginx