# Voice-Agent — LXC-Frontend FastAPI + statisches HTML/JS. Läuft im LXC-Container, stellt die Weboberfläche, verwaltet Jobs (SQLite) und ruft den Mac-Worker per HTTP an. Macht selbst **keine** AI-Verarbeitung. ## Lokal starten (Entwicklung) ```bash cd lxc-frontend python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt cp .env.example .env # Für lokalen Test ohne Mac kann der Mac-Worker mit WHISPER_ENGINE=mock laufen uvicorn app.main:app --reload --port 8000 ``` Öffnen: http://localhost:8000 ## Auf LXC deployen `deploy/install.sh` macht alles: Repo klonen, venv anlegen, systemd-Service und Nginx einrichten. Siehe Haupt-`README.md`. ## API | Methode | Pfad | Zweck | |---|---|---| | GET | `/` | Web-UI | | GET | `/health` | LXC-Health | | GET | `/api/mac/health` | Mac-Worker-Erreichbarkeit | | POST | `/api/jobs` | multipart: `audio`, `title` → Job anlegen | | GET | `/api/jobs` | Liste aller Jobs | | GET | `/api/jobs/{id}` | Job-Detail | | GET | `/api/jobs/{id}/download/{kind}` | `kind` ∈ `docx`, `transcript`, `summary`, `protocol` | ## Datenfluss ``` Upload → SQLite-Job → BackgroundTask → Mac: /api/transcribe (multipart) → Mac: /api/summarize (JSON) → Mac: /api/protocol (JSON) → Mac: /api/export/docx (JSON) → DOCX → Ergebnisse landen in /var/lib/voice-agent/results/{job_id}/ ```