voice-agent/need.md
root 5321c8602e feat: voice-agent MVP — LXC web frontend + Mac AI worker
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
2026-05-13 15:33:53 +00:00

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
  • PDF

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