# Athena AI Athena ist die lokale Inferenzmaschine. Der reproduzierbare Docker-Stack stellt Qwen über eine kleine OpenAI-kompatible Router-API bereit und übernimmt lokale Bild- und Sprachausgabe. **Hermes und die Fach-MCPs laufen auf Unraid.** ## Aktueller Aufbau ### Athena - genau ein aktives llama.cpp-Profil: Fast, Medium, Large, Ultra oder Uncensored - Profile Router auf Port 8081 - FLUX.2 Klein 9B FP8 Beta für Textbilder und Referenzbild-Bearbeitung: Transformer auf RTX 5080, Qwen3-8B-NF4-Textencoder auf RTX 3060 - Qwen3-TTS 1.7B auf der RTX 3060 mit Piper als CPU-Fallback - Whisper.cpp `ggml-small` auf der CPU für lokale deutsche Spracherkennung - Live-Dashboard mit 21 Tagen Detailhistorie auf Port 8099 - Dashboard-Umschaltung zwischen LLM-Betrieb, ACE-Step-Musikstudio, BS-RoFormer-Stimmtrennung, OmniVoice, X-VC, Seed-VC und Applio/RVC - Portainer CE als optionale Container-Ansicht auf Port 9443 - WireGuard-Gateway, Datenbackup und Athena-Operator - keine produktive Hermes-, OpenWebUI- oder portable Fach-MCP-Instanz ### Unraid - offizieller Hermes-Agent mit persistentem Appdata - je ein eigener Container für ARR, Deemix, Navidrome, STRATO und Nginx Proxy Manager - MUA/Unraid-MCP als Unraid-Plugin - Media-Tools als nachrüstbare Werkzeugkiste - Sicherung durch das vorhandene Unraid-Appdata-Backup Hermes nutzt Athenas Router unter `http://192.168.1.212:8081/v1`. Ein MCPHub ist nicht mehr Bestandteil der produktiven Architektur. ## Installation – ein Befehl ```bash cp config/install.env.example /root/mike-ai-install.env # Werte in /root/mike-ai-install.env eintragen und chmod 600 setzen sudo ./install.sh --config /root/mike-ai-install.env ``` Das Installationsskript baut llama.cpp und die lokalen Images, lädt die versionierten Modellartefakte und startet ausschließlich den Athena-Kern. FLUX.2 Klein 9B ist bei Hugging Face zugriffsbeschränkt. Vor der Installation müssen die Bedingungen beider BFL-Repositories akzeptiert und ein Token in der unter `HF_TOKEN_FILE` konfigurierten, nur für root lesbaren Datei abgelegt sein. Der Token wird ausschließlich als Read-only-Datei in den Download-Container eingehängt und weder in `stack.env` noch in Git kopiert. ## Betrieb ```bash # Konfiguration prüfen ./manage.sh validate # Gesamten Athena-Kern gezielt aktualisieren ./manage.sh deploy core # Nur einen Dienst ausrollen ./manage.sh deploy router # Eindeutige Altcontainer entfernen ./manage.sh purge-legacy # Read-only Ende-zu-Ende-Test sudo ./smoke-test.sh ``` ### Reasoning-Stufen Der Router übersetzt die Auswahl eines OpenAI-kompatiblen Clients in echte, pro Anfrage geltende llama.cpp-Denkbudgets. `Off` deaktiviert Thinking; die aktiven Stufen sind auf 256 (Minimal), 768 (Low), 2048 (Medium), 4096 (High) und 8192 Tokens (XHigh/Max/Ultra) begrenzt. Die Modellserver dürfen deshalb kein festes `--reasoning-budget` setzen, da dieses die dynamischen Budgets von llama.cpp übersteuern würde. Clients, die direkt `thinking_budget_tokens` senden, behalten ihren expliziten Wert. ### Ein oder zwei Modell-Slots Produktiv laufen alle Profile mit einem Slot. Damit erhält ein einzelner Chat den vollständigen Profilkontext und die bewährte Ausgabegeschwindigkeit. Die Einstellung liegt auf Athena in `/etc/mike-ai/stack.env`: ```bash MEDIUM_PARALLEL_SLOTS=1 ``` Für einen späteren erneuten Paralleltest genügt es, den Wert auf `2` zu setzen und ausschließlich das aktuell betroffene Profil neu zu erstellen: ```bash sed -i 's/^MEDIUM_PARALLEL_SLOTS=.*/MEDIUM_PARALLEL_SLOTS=2/' /etc/mike-ai/stack.env cd /opt/mike-ai/stack docker compose --env-file /etc/mike-ai/stack.env up -d --no-deps --force-recreate llama-medium ``` Zurück zum stabilen Ein-Slot-Betrieb geht es mit denselben zwei Befehlen und `MEDIUM_PARALLEL_SLOTS=1`. `--kv-unified` ist bereits im Compose-Stack gesetzt. Zwei Slots wurden direkt am Router erfolgreich getestet; Hermes verwaltete zwei gleichzeitig aktive Chats jedoch nicht zuverlässig. Deshalb bleibt ein Slot der Standard, bis Hermes' Sitzungsfehler behoben ist. ### Bildgenerierung mit FLUX.2 Klein 9B FP8 Beta Ein Bildauftrag verwendet beide GPUs exklusiv. Der Profile Controller stoppt zuerst das aktive llama.cpp-Profil und Qwen3-TTS. Anschließend läuft der FP8-Transformer auf der RTX 5080 und der in NF4 geladene Qwen3-8B-Textencoder auf der RTX 3060. Vor dem VAE-Decoding werden Transformer und Textencoder freigegeben. Nach dem Bildauftrag stoppt der Router den Bild-Worker und stellt Qwen3-TTS sowie das zuvor aktive Textprofil automatisch wieder her. Piper bleibt währenddessen als CPU-Fallback verfügbar. Die Beta ist derzeit bewusst auf `1024x1024`, vier Schritte, Guidance `1.0`, einen parallelen Auftrag und maximal vier lokale Referenzbilder begrenzt. Details, Installation, Prüfung und Rollback stehen in [docs/FLUX_9B_BETA.md](docs/FLUX_9B_BETA.md). ## Endpunkte - Router: `http://192.168.1.212:8081/v1` - Athena-Dashboard: `http://192.168.1.212:8099` - Musikstudio, Original UI (stabil): `http://192.168.1.212:7862` - Musikstudio, Community UI (experimentell): `http://192.168.1.212:7861` - Spuren trennen (BS-RoFormer + Demucs, 2/4/6 Stems): `http://192.168.1.212:8007` - Voice Studio (OmniVoice, Text zu Stimme): `http://192.168.1.212:8008` - Voice Changer (X-VC, Audio zu Audio; native 16 kHz plus optional restaurierte 44,1 kHz): `http://192.168.1.212:8009` - Seed-VC (Zero-Shot Sprache/Gesang zu Referenzstimme): `http://192.168.1.212:8010` - Applio (RVC-Inferenz, Modelle und Training): `http://192.168.1.212:8011` Der Betriebsmodus lässt sich dort direkt umschalten. In Hermes funktionieren außerdem `/athena music`, `/athena stems`, `/athena voice`, `/athena voicechange`, `/athena seedvc`, `/athena applio`, `/athena llm` und `/athena status`; Details stehen in [docs/OPERATING_MODES.md](docs/OPERATING_MODES.md). Der Router stellt Sprache OpenAI-kompatibel bereit: Sprachausgabe über `/v1/audio/speech`, natives Qwen-PCM-Streaming über `/v1/audio/speech/pcm-stream` und Spracherkennung über `/v1/audio/transcriptions`. Das Whisper-Modell liegt persistent im Docker-Volume `whisper-data`; Audiodaten werden lokal auf Athena verarbeitet. Für OpenClaw Talk liegt der lokale Realtime-Provider unter [`integrations/openclaw-athena-talk`](integrations/openclaw-athena-talk). Er verbindet Mikrofon → Athena Whisper → normalen OpenClaw-Agenten → aktives Athena-TTS, sodass Modell, Werkzeuge und Memory auch im Sprachmodus erhalten bleiben. Die Installation landet in OpenClaws persistentem Datenverzeichnis und bleibt deshalb bei normalen Container-Updates bestehen. Für Hermes liegt unter `integrations/hermes-qwen3-stream` ein optionales, persistentes Backend-Plugin. Es nutzt den nativen PCM-Strom und verkürzt den Beginn der Sprachausgabe, ohne den Modellrouter oder die Textprofile zu ändern. Bildgenerierung läuft über `/v1/images/generations`; Hermes verwendet dafür den persistenten Benutzer-Provider `athena-local` mit dem Modellnamen `FLUX.2-klein-9B-fp8-beta`. Seine versionierte Quelle und Installationshinweise liegen unter [`integrations/hermes-athena-image`](integrations/hermes-athena-image). - Portainer: `https://192.168.1.212:9443` - Hermes-Dashboard auf Unraid: `http://192.168.1.2:9119` Die Adressen sind nur über die vorgesehenen privaten Netze erreichbar. ## Ausgegliederte MCPs - [ARR-MCP](https://git.casaderoll.de/michael/arr-mcp) - [Deemix-MCP](https://git.casaderoll.de/michael/Deemix-MCP) - [Strato-MCP](https://git.casaderoll.de/michael/Strato-MCP) Weitere produktive Container verwenden ihre jeweiligen Upstream-Images und Unraid-DockerMan-Templates. Details stehen in [docs/MCP_SERVERS.md](docs/MCP_SERVERS.md). ## Wiederherstellung Nach einer frischen Debian-Installation und erneut eingehängtem `/data`: ```bash sudo ./install.sh --config /root/mike-ai-install.env sudo ./restore.sh --check /data/docker-backups/athena-latest.tar.gz sudo ./restore.sh /data/docker-backups/athena-latest.tar.gz sudo ./smoke-test.sh ``` Der genaue Sicherungsumfang steht in [docs/RECOVERY.md](docs/RECOVERY.md). ## Verbindliche Dokumentation - [ATHENA.md](ATHENA.md) – kurze Betriebsanleitung - [docs/STANDARD_PROFILE_MATRIX.md](docs/STANDARD_PROFILE_MATRIX.md) – Profile - [docs/CONTAINER_INVENTORY.md](docs/CONTAINER_INVENTORY.md) – alle Container, Modelle und Aufgaben - [docs/TESTED_MODELS.md](docs/TESTED_MODELS.md) – zentrale Testhistorie und Sperrliste gegen Doppeltests - [docs/MCP_SERVERS.md](docs/MCP_SERVERS.md) – produktive Werkzeuge - [docs/RECOVERY.md](docs/RECOVERY.md) – Backup und Neuaufbau - [docs/FLUX_9B_BETA.md](docs/FLUX_9B_BETA.md) – 9B-Bildpfad, Test und Rollback Git enthält keine Secrets, Chatdaten oder Modellgewichte.