Architektur ist nicht zufällig entstanden. Jede Entscheidung wurde getroffen, weil eine Alternative schlechter war. Diese Seite zeigt die wichtigsten Entscheidungen — mit Begründung und Datum.
Architektur
Entscheidungen, die dokumentiert sind
Jede größere technische Entscheidung ist begründet und nachvollziehbar.
Wichtige Architekturentscheidungen
| ID | Entscheidung | Warum |
|---|---|---|
| E-002 | WireGuard statt Tailscale | Keine externe Abhängigkeit, volle Kontrolle über das Netzwerk |
| E-004 | Docker-Sandbox für Agenten | Isolation gegen Prompt-Injection und unbefugten Host-Zugriff |
| E-005 | Alle Modelle über LiteLLM | Ein Endpunkt, API-Key bleibt auf GX10, einfacheres Routing |
| E-020 | Nemotron-Cascade-2 statt Super-120B | 4x schneller, 45 GB weniger VRAM, gleiche Qualität für unsere Use Cases |
| E-021 | OpenRouter als Test-before-Deploy | Evaluierung neuer Modelle vor lokalem Deployment ohne Commitment |
| E-008 | Gitea statt GitHub | Self-hosted, keine externen Abhängigkeiten, volle Kontrolle |
| E-012 | Mattermost statt Slack | Self-hosted, DSGVO-konform, Integration in eigene Infrastruktur |
| E-015 | restic für Backups | Open Source, verschlüsselt, inkrementell, mehrere Backends |
Modell-Fallback-Kette
Primary ist OpenAI Codex. Bei Fehlern: Qwen3.5-122B über OpenRouter. Für sensible Daten oder wenn alles andere ausfällt: lokales Nemotron-Cascade-2 auf GX10.