Minimal-LXC-Templates (debian-13-standard) have no sudo. Script runs as root anyway, so switch to runuser. Also install sudo so the systemd service file's 'User=deploy' has the helper available when needed.
Voice-Agent
Self-hosted Transkriptions- und Protokollsystem für Sitzungsaufzeichnungen — vollständig lokal, DSGVO-konform.
Vollständiges Lastenheft: siehe
need.md
Architektur
Benutzer
│
▼ HTTP (Upload)
┌─────────────────────────────┐ ┌──────────────────────────────┐
│ LXC-Container │ HTTP │ Mac (Apple Silicon) │
│ - FastAPI + HTML/JS UI │ ──────► │ - FastAPI Worker │
│ - SQLite Job-Store │ │ - lightning-whisper-mlx │
│ - Result-Verzeichnis │ ◄────── │ - Ollama (llama3.1:8b) │
│ - Nginx Reverse Proxy │ │ - python-docx │
└─────────────────────────────┘ └──────────────────────────────┘
- LXC: keine AI-Verarbeitung — nur Uploads, Job-Tracking, Auslieferung.
- Mac: Stateless API. Erhält Audio/Text, gibt Transkripte / Zusammenfassungen / Protokolle / DOCX zurück.
MVP-Funktionsumfang (v0.1)
- Audio-Upload (MP3, WAV, M4A, MP4, OGG, FLAC, max. 500 MB)
- Whisper-Transkription auf dem Mac
- Ollama-Zusammenfassung (Beschlüsse, Aufgaben, Teilnehmer)
- Strukturiertes Sitzungsprotokoll
- DOCX-Export
- Speaker-Diarization (Prio 2)
- Auth / Benutzerverwaltung (Prio 2)
- PDF-Export (Prio 2)
Schnellstart
1. Mac einrichten
Siehe mac-worker/README.md.
2. LXC provisionieren
Mit dem Toolkit-Skill /proxmox-lxc (oder manuell). Anschließend auf dem LXC:
sudo bash <(curl -sSL https://git.cynfo.net/christian/voice-agent/raw/branch/main/deploy/install.sh)
oder nach git clone:
cd /var/www/voice-agent
sudo ./deploy/install.sh
3. Konfigurieren
/var/www/voice-agent/lxc-frontend/.env öffnen und MAC_API_URL auf die LAN-IP des Macs setzen, dann:
sudo systemctl restart voice-agent
4. Verwenden
Browser auf http://<LXC-IP>/ öffnen, Audio hochladen, fertig.
Verzeichnisstruktur
voice-agent/
├── lxc-frontend/ # FastAPI Web-App (läuft im LXC)
│ ├── app/
│ ├── requirements.txt
│ └── .env.example
├── mac-worker/ # FastAPI AI-Worker (läuft auf dem Mac)
│ ├── app/
│ ├── requirements.txt
│ └── .env.example
├── deploy/ # systemd / nginx / install.sh
├── config/ # Toolkit-Konfiguration (project.env)
├── .claude/ # KI-Agenten Skills
├── need.md # Lastenheft
└── README.md
Sicherheit
- Vollständig lokaler Betrieb. Keine Cloud-Calls.
- HTTPS via Reverse-Proxy ist Aufgabe der Infrastruktur (Let's Encrypt o. Ä.).
- Mac-Worker hat keine Auth — Betrieb nur im internen Netz.
- Uploads / Ergebnisse unter
/var/lib/voice-agent/— bei Bedarf Backup einplanen.
Description
Languages
Python
51.6%
JavaScript
23.9%
CSS
11.9%
Shell
7.7%
HTML
4.6%
Other
0.3%