Files
breakpilot-core/docs-src/services/voice-service/index.md
Benjamin Boenisch ad111d5e69 Initial commit: breakpilot-core - Shared Infrastructure
Docker Compose with 24+ services:
- PostgreSQL (PostGIS), Valkey, MinIO, Qdrant
- Vault (PKI/TLS), Nginx (Reverse Proxy)
- Backend Core API, Consent Service, Billing Service
- RAG Service, Embedding Service
- Gitea, Woodpecker CI/CD
- Night Scheduler, Health Aggregator
- Jitsi (Web/XMPP/JVB/Jicofo), Mailpit

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:47:13 +01:00

5.6 KiB

Voice Service

Der Voice Service ist eine Voice-First Interface für die Breakpilot-Plattform mit DSGVO-konformem Design.

Übersicht

Eigenschaft Wert
Port 8082
Framework FastAPI (Python)
Streaming WebSocket
DSGVO Privacy-by-Design

Architektur

┌─────────────────────────────────────────────────────────────────┐
│                    Voice Service (Port 8082)                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                   │
│   ┌──────────────┐    ┌──────────────┐    ┌──────────────┐      │
│   │   Sessions   │───>│    Task      │───>│    BQAS      │      │
│   │   API        │    │ Orchestrator │    │  (Quality)   │      │
│   └──────────────┘    └──────────────┘    └──────────────┘      │
│                              │                                    │
│         ┌────────────────────┼────────────────────┐              │
│         │                    │                    │              │
│         ▼                    ▼                    ▼              │
│   ┌──────────────┐    ┌──────────────┐    ┌──────────────┐      │
│   │  WebSocket   │    │  Encryption  │    │   Logging    │      │
│   │  Streaming   │    │  Service     │    │  (structlog) │      │
│   └──────────────┘    └──────────────┘    └──────────────┘      │
│                                                                   │
└─────────────────────────────────────────────────────────────────┘

Kernkomponenten

PersonaPlex + TaskOrchestrator

  • Voice-first Interface für Breakpilot
  • Real-time Voice Processing
  • Multi-Agent Integration

DSGVO-Compliance (Privacy-by-Design)

Feature Beschreibung
Keine Audio-Persistenz Nur RAM-basiert, keine dauerhafte Speicherung
Namespace-Verschlüsselung Schlüssel nur auf Lehrer-Gerät
TTL-basierte Löschung Automatische Datenlöschung nach Zeitablauf
Transcript-Verschlüsselung Verschlüsselte Transkripte

API-Endpunkte

Sessions

Method Endpoint Beschreibung
POST /api/v1/sessions Session erstellen
GET /api/v1/sessions/:id Session abrufen
DELETE /api/v1/sessions/:id Session beenden

Task Orchestration

Method Endpoint Beschreibung
POST /api/v1/tasks Task erstellen
GET /api/v1/tasks/:id Task-Status abrufen

BQAS (Quality Assessment)

Method Endpoint Beschreibung
POST /api/v1/bqas/evaluate Qualitätsbewertung
GET /api/v1/bqas/metrics Metriken abrufen

WebSocket

Endpoint Beschreibung
/ws/voice Real-time Voice Streaming

Health

Method Endpoint Beschreibung
GET /health Health Check
GET /ready Readiness Check

Verzeichnisstruktur

voice-service/
├── main.py                    # FastAPI Application
├── config.py                  # Konfiguration
├── pyproject.toml             # Projekt-Metadaten
├── requirements.txt           # Dependencies
├── api/
│   ├── sessions.py            # Session-Management
│   ├── streaming.py           # WebSocket Voice Streaming
│   ├── tasks.py               # Task Orchestration
│   └── bqas.py                # Quality Assessment
├── services/
│   ├── task_orchestrator.py   # Task-Routing
│   └── encryption.py          # Verschlüsselung
├── bqas/
│   ├── judge.py               # LLM Judge
│   └── quality_judge_agent.py # Agent-Integration
├── models/                    # Datenmodelle
├── scripts/                   # Utility-Scripts
└── tests/                     # Test-Suite

Konfiguration

# .env
VOICE_SERVICE_PORT=8082
REDIS_URL=redis://localhost:6379
DATABASE_URL=postgresql://...
ENCRYPTION_KEY=...
TTL_MINUTES=60

Entwicklung

# Dependencies installieren
cd voice-service
pip install -r requirements.txt

# Server starten
uvicorn main:app --reload --port 8082

# Tests ausführen
pytest -v

Docker

Der Service läuft als Teil von docker-compose.yml:

voice-service:
  build:
    context: ./voice-service
  ports:
    - "8082:8082"
  environment:
    - REDIS_URL=redis://valkey:6379
  depends_on:
    - valkey
    - postgres

Weiterführende Dokumentation