Files
AI-Profile-Router/README.md
T

7.7 KiB
Raw Blame History

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 large-v3-turbo auf der CPU für lokale deutsche Spracherkennung
  • Live-Dashboard mit 21 Tagen Detailhistorie auf Port 8099
  • Dashboard-Umschaltung zwischen LLM-Betrieb und ACE-Step-Musikstudio
  • 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

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

# 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:

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:

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.

Endpunkte

  • Router: http://192.168.1.212:8081/v1
  • Athena-Dashboard: http://192.168.1.212:8099

Der Betriebsmodus lässt sich dort direkt umschalten. In Hermes funktionieren außerdem /athena music, /athena llm und /athena status; Details stehen in 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. 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.

  • 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

Weitere produktive Container verwenden ihre jeweiligen Upstream-Images und Unraid-DockerMan-Templates. Details stehen in docs/MCP_SERVERS.md.

Wiederherstellung

Nach einer frischen Debian-Installation und erneut eingehängtem /data:

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.

Verbindliche Dokumentation

Git enthält keine Secrets, Chatdaten oder Modellgewichte.