Document verified Athena live state and recovery boundaries

This commit is contained in:
Mikei386
2026-09-16 16:16:53 +02:00
parent 7514b858f5
commit a75aea4b7e
7 changed files with 129 additions and 81 deletions
+8 -1
View File
@@ -3,6 +3,12 @@
```mermaid
flowchart LR
C[Hermes Desktop / Web / Mobil] --> H[Hermes Agent<br/>Unraid]
OC[OpenClaw Web / Mac<br/>Unraid-Gateway] -->|OpenAI API| R
OC --> V[Athena-Talk-Plugin<br/>Unraid]
V --> RV[Realtime-Voice-Brücke<br/>Athena, WebRTC]
RV --> STT
RV --> T
RV -->|Agentenantwort| OC
H -->|OpenAI API| R[Profile Router<br/>Athena :8081]
R --> P[Profile Controller]
P --> Q[genau ein llama.cpp-Profil<br/>Qwen Fast / Medium / Large / Ultra / Uncensored]
@@ -22,10 +28,11 @@ flowchart LR
W --- B[Athena Dashboard :8099]
W --- PRT[Portainer :9443<br/>optionale Docker-Ansicht]
W --- O[Athena Operator]
W --- AP[Mikes-Applio-UI<br/>eigener Checkout, GPU-los]
K[Backup alle 5 Stunden] --> DATA[/data und /etc/mike-ai]
```
Stand: 12. September 2026. Versionen und Abweichungen: [Live-Stand](LIVE_STATE.md).
Stand: 16. September 2026. Versionen und Abweichungen: [Live-Stand](LIVE_STATE.md).
FLUX nutzt beide GPUs und pausiert dafür LLM und Qwen3-TTS. Dashboard und
Portainer besitzen eigene Netzwerk-Namespaces in `mike-ai_frontend`; der Router
läuft in `mike-ai_control`. Der Gateway vermittelt den privaten Zugriff.
+10 -7
View File
@@ -1,8 +1,8 @@
# Container-Inventar auf Athena
Stand: 15. September 2026
Stand: 16. September 2026 (lesender Docker-Abgleich)
Athena besteht beim lesenden Abgleich aus 25 Docker-Containern. Nicht jeder Container enthält
Athena hatte beim lesenden Abgleich 27 Docker-Container. Nicht jeder Container enthält
ein KI-Modell: Router, Oberflächen, Netzwerk, Steuerung und Sicherung sind
gewöhnliche Dienste. Die rechenintensiven GPU-Worker werden absichtlich nur bei
Bedarf gestartet. Ein Container im Zustand `Created` oder `Exited (0)` ist daher
@@ -19,12 +19,13 @@ nicht automatisch ein ungenutzter Rest.
| `mike-ai-llama-medium` | Qwen3.8-27B `IQ4_XS-pure`, Qwen-MMProj BF16 | Standard-Q4-Text-/Vision-Profil mit 160.000 Token Kontext und Verteilung auf beide GPUs. |
| `mike-ai-llama-ultra` | Qwen3.8-27B `IQ4_XS-pure`, ohne Vision-Projektor | Maximales Langkontextprofil mit 262.144 Token Kontext und Verteilung auf beide GPUs. |
| `mike-ai-llama-uncensored` | Qwen3.8-27B Abliterated `Q4_K_M`, eigener MMProj F16 | Spezialprofil mit 80.000 Token Kontext und gelockerten Modellgrenzen. |
| `mike-ai-ltx2-studio` | LTX-Video-Backend | GPU-Worker für lokale Videogenerierung; beim Abgleich gestoppt. |
| `mike-ai-mcp-athena-operator` | kein Modell | Stellt Hermes begrenzte Werkzeuge zum Prüfen, Ändern, Testen, Sichern und Versionieren von Athena bereit. |
| `mike-ai-music-acestep-test` | ACE-Step 1.5 XL-SFT und `acestep-5Hz-lm-1.7B` | Generiert Musik im exklusiven Musikmodus auf der RTX 5080. |
| `mike-ai-music-ui` | kein Modell; `fspecii/ace-step-ui` | Community-Oberfläche für ACE-Step; bleibt als leichte UI verfügbar, während der GPU-Worker bedarfsgesteuert läuft. |
| `mike-ai-portainer` | kein Modell; Portainer CE | Optionale Docker-Verwaltungsoberfläche. |
| `mike-ai-profile-controller` | kein Modell | Startet und stoppt ausschließlich freigegebene Modellprofile und Spezialworker in einer sicheren Reihenfolge. |
| `mike-ai-realtime-voice` | kein Modell | Experimentelle WebRTC-Brücke für OpenClaw Talk; verbindet über den privaten WireGuard-Pfad Athena Whisper, OpenClaw-Agent und Qwen3-TTS ohne Profilwechsel. |
| `mike-ai-realtime-voice` | kein Modell | Laufende, gesunde WebRTC-Brücke für OpenClaw Talk; verbindet über den privaten WireGuard-Pfad Athena Whisper, OpenClaw-Agent und Qwen3-TTS ohne Profilwechsel. |
| `mike-ai-qwen3-tts` | `Qwen/Qwen3-TTS-12Hz-1.7B-Base`, Stimme Serena | Hochwertige deutsche Sprachausgabe auf der RTX 3060 im LLM-Betrieb. |
| `mike-ai-router` | kein eigenes Modell | Einzige OpenAI-kompatible Modelladresse; koordiniert Profile, Bildaufträge, Sprache und Betriebsarten. |
| `mike-ai-stem-separator` | BS-RoFormer Viperx 1297, `htdemucs_ft`, `htdemucs_6s`, `MossFormer2_SE_48K` | Trennt Gesang, Instrumente oder Sprache/Hintergrundgeräusche im exklusiven Separationsmodus. |
@@ -37,10 +38,12 @@ nicht automatisch ein ungenutzter Rest.
| `mike-ai-trellis-studio` | Image `mike-ai/trellis-studio:0.6.0-q8` | Vorhandener, gestoppter 3D-Worker; in diesem Abgleich nicht funktional getestet. |
| `mike-ai-mikes-applio-ui` | Image `mike-ai/mikes-applio-ui:latest` | Laufende zusätzliche Applio-Oberfläche. |
Alle fünf llama-Container verwenden llama.cpp 0.4.1 (`b29c606`). Beim Abgleich lief Medium;
die anderen vier waren gestoppt. Der Image-Worker stand auf Created.
Die übrigen GPU-Spezialworker waren gestoppt, die Infrastruktur und die
Musik-/Applio-Oberflächen liefen. Diese Zustände ändern sich mit der Nutzung.
Alle fünf llama-Container verwenden llama.cpp 0.4.1 (`b29c606`). Medium
lief beim ersten Abgleich, war später aber mit Exit-Code 139 beendet; die
anderen vier waren nicht aktiv. Dieser Laufzeitfehler wurde im Zuge der
Dokumentationsarbeit nicht behoben. Der Image-Worker war ebenfalls gestoppt.
Die Infrastruktur und die Musik-/Applio-Oberflächen liefen. Diese Zustände
ändern sich mit der Nutzung.
Die Detailbeschreibungen der Spezialmodelle stammen aus der bestehenden
Betriebsdokumentation; dieses Update prüfte deren Containerbestand, nicht
sämtliche Modellgewichte oder Funktionen neu.
+73 -53
View File
@@ -1,68 +1,88 @@
# Geprüfter Live-Stand auf Athena
Stand: 12. September 2026. Quelle: SSH-Abgleich von Containerbestand,
Startkonfiguration und den dokumentierten Laufzeittests auf Athena.
Stand: **16. September 2026**. Quelle: lesender SSH-Abgleich von Docker,
Compose-Dateien, Git-Inhalten, Images, Health-Endpunkten und Backup-Timern.
Containerzustände sind Momentaufnahmen; der Controller darf Profile danach
umschalten. Es wurde für diesen Abgleich kein Dienst neu gestartet.
## Laufzeit und Profile
Debian 13, RTX 5080 mit 16 GB und RTX 3060 mit 12 GB.
Alle fünf Textprofilcontainer verwenden llama.cpp **b10930**, Commit
`56381e407c0ccfb3a6f71e668a27a901001d22ce`, Image `mike-ai/llama.cpp:local`
beziehungsweise `mike-ai/llama.cpp:b10930`.
Image-ID: `sha256:c9d78a9375143877574f3d7c6e0dea94ecfebb264e8dd9f57ac4e03f1c96044e`.
Die Startoption lautet `--load-mode none`; `--no-mmap` ist entfernt.
Athena: Debian 13, RTX 5080 (16 GB) und RTX 3060 (12 GB). Die fünf
Textprofil-Images tragen alle `com.mike-ai.llama-cpp-commit=b29c606`
(llama.cpp 0.4.1). Sie verwenden `--load-mode none`, `--parallel 1` und
`--batch-size 2048`. Die `ubatch-size` wurde pro Profil auf einen getesteten
Wert gesetzt; sie ist **nicht** überall identisch.
| Profil | Qwen3.8-27B-Variante | Kontext | GPU-Konfiguration 5080:3060 | Vision | MTP Draft |
|---|---|---:|---|---|---:|
| Fast | IQ4-MIX | 76.800 | Textmodell nur 5080 | ja | 2 |
| Medium | IQ4_XS Pure | 160.000 | 85:15 | ja | 3 |
| Large | IQ4_XS Pure | 192.000 | 86:14 | ja | 3 |
| Ultra | IQ4_XS Pure | 262.144 | 80:20 | nein | 2 |
| Uncensored | Abliterated Q4_K_M | 80.000 | 90:10 | ja | 2 |
| Profil | Qwen3.8-27B-Variante | Kontext | Tensor-Split 5080:3060 | Vision-Projektor | MTP Draft | ubatch |
|---|---|---:|---|---|---:|---:|
| Fast | IQ4-MIX | 76.800 | nur 5080 | 3060 | 2 | 64 |
| Medium | IQ4_XS Pure | 160.000 | 85:15 | 3060 | 3 | 512 |
| Large | IQ4_XS Pure | 192.000 | 86:14 | 3060 | 3 | 256 |
| Ultra | IQ4_XS Pure | 262.144 | 80:20 | keiner | 2 | 128 |
| Uncensored | Abliterated Q4_K_M | 80.000 | 90:10 | 3060 | 2 | 256 |
Alle Profile nutzen einen Slot. Die GPU-Verhältnisse sind konfigurierte
Tensor-Splits, keine gemessenen VRAM-Prozentsätze; KV-Cache, Projektor und
weitere Dienste benötigen zusätzlich Speicher. Uncensored nutzt beide Karten,
der Vision-Projektor liegt auf der 3060.
Tensor-Splits sind Startparameter, keine gemessenen VRAM-Anteile. Der
Vision-Projektor liegt bei den vier Vision-Profilen auf GPU 1 (3060).
`beta1` steht in der Repository-Matrix, ist aber nicht installiert. Der
Router bietet nur die fünf installierten Profile an. Beim ersten Abgleich
war Medium aktiv und der Router im LLM-Modus; beim späteren Containerabgleich
war `mike-ai-llama-medium` mit Exit-Code 139 beendet. Dieser Laufzeitfehler
wurde bei der Dokumentationsarbeit nicht behoben oder durch einen Neustart
verdeckt. Der aktuelle Zustand ist über Dashboard/Controller zu prüfen.
Im LLM-Modus läuft genau ein Textprofil. Zum Abschluss des Buildtests war
Uncensored aktiv; beim späteren Dokumentationsabgleich war Medium aktiv.
Das aktive Profil ist ein veränderlicher Betriebszustand.
`beta1` steht zusätzlich in der Repository-Matrix, ist auf Athena aber nicht
installiert und wurde beim Update nicht getestet.
## Weitere Dienste
## Bild und Sprache
- FLUX.2 Klein 9B FP8 Beta: Transformer/VAE auf 5080, Qwen3-8B-NF4-
Textencoder auf 3060. Produktiv freigegeben sind höchstens 1024 × 1024,
vier Schritte, Guidance 1, vier Referenzbilder und 128 Encoder-Tokens.
1280 × 1280 lief im Test in CUDA-OOM.
- Qwen3-TTS 1.7B auf 3060 hinter dem TTS-Gateway; kein Piper-Fallback.
- Whisper.cpp `ggml-small` auf CPU über `/v1/audio/transcriptions`.
- Der gesunde Dienst `mike-ai-realtime-voice` vermittelt OpenClaw Talk über
WebRTC zwischen Whisper, dem normalen OpenClaw-Agenten und Qwen3-TTS.
Er braucht keine GPU und keinen Profilwechsel. Das Plugin liegt in
`integrations/openclaw-athena-talk` und läuft auf Unraid, nicht auf Athena.
Diktat und hochgeladene M4A-Sprachnachrichten nutzen den separaten
Transkriptionspfad des Plugins. OpenClaw liefert den fertigen Agententext
an die Brücke; das Sprechen beginnt daher erst nach Abschluss der
Agentenantwort. Details und Grenzen stehen in der [Voice-Doku](../services/athena-realtime-voice/README.md).
- `mike-ai-mikes-applio-ui` läuft gesund und ohne GPU. Die Quelle liegt im
eigenen Repository [Mikes-Applio-UI](https://git.casaderoll.de/michael/Mikes-applio-ui).
Der Applio-GPU-Container war beim Abgleich nicht gestartet. Die UI kann
trotzdem Status, Modelle und vorbereitende Aufgaben anzeigen; eine echte
Konvertierung verlangt den Applio-Modus.
- FLUX.2 Klein **9B FP8 Beta**, Transformer und VAE auf 5080,
Qwen3-8B-Textencoder in NF4 auf 3060.
- Bildaufträge pausieren LLM und Qwen3-TTS und stellen sie danach wieder her.
Produktiv maximal 1024 × 1024, vier Schritte, Guidance 1,
höchstens vier Referenzbilder und 128 Textencoder-Tokens.
- 1024 × 1024 erfolgreich; 1280 × 1280 CUDA-OOM. Zwischenwerte und höhere
Größen nicht geprüft. Keine Freigabe oberhalb 1024.
- Qwen3-TTS 1.7B auf 3060 hinter TTS-Gateway. Kein Piper-Container/Fallback.
- Whisper.cpp small (`/models/ggml-small.bin`) auf CPU, persistentes Whisper-Volume.
Der vollständige Bestand der **27** angelegten Docker-Container steht im
[Container-Inventar](CONTAINER_INVENTORY.md). `Created` oder `Exited` bei
Spezialworkern bedeutet nicht automatisch einen zu entfernenden Testrest.
## Git und bereitgestellte Dateien
## Git und reproduzierbarer Stand
Der Live-Checkout `/opt/mike-ai/stack` zeigt beim Abgleich Git-HEAD `5d8abd4`.
Seine Arbeitsdateien enthalten jedoch neuere Änderungen und zusätzliche
Spezialdienste. Der HEAD ist daher **kein Nachweis der laufenden Buildversion**.
Das b10930-Update wurde in Gitea mit Commit `2415b27` dokumentiert und gepinnt.
Dieses Dokumentationsupdate gleicht die zentralen Markdown-Dateien zwischen
Git und Athena ab; es setzt den Live-Checkout nicht zurück und übernimmt
nicht pauschal seine übrigen uncommitteten Änderungen.
Ein frischer Clone ist deshalb noch kein vollständiges Abbild aller Live-Dienste.
Der laufende Stack liegt unter `/opt/mike-ai/stack`. Sein Git-HEAD war
`276df0e` und damit älter als der aktuelle Git-Stand; `compose.yaml` und
`services/athena-realtime-voice/` sind im Live-Checkout nicht committed.
**Die geprüften Nutzdaten dieser Dateien stimmen aber bytegenau mit dem
neueren Git-Stand überein.** Ein frischer Clone liefert damit den Quellcode
und die Compose-Definitionen; er liefert weder lokale Secrets noch
Modellgewichte oder persistente Nutzerdaten. Vor einem Deploy ist die
Live-Konfiguration zu sichern und mit dem Checkout abzugleichen, statt den
laufenden Host blind zurückzusetzen.
## Prüfumfang und Belege
Die Applio-UI hat einen eigenen Checkout `/opt/mike-ai/Mikes-Applio-UI`.
Sein Git-HEAD `3a06139` ist älter als Doggo `eadbc15`. Die laufende
Anwendungsquelle stimmt bis auf Versionsmetadaten und den später
korrigierten Dokumentationsstand mit Doggo überein. Siehe
[Applio-Integrationsdoku](https://git.casaderoll.de/michael/Mikes-applio-ui/src/branch/main/docs/ATHENA-INTEGRATION.md).
Alle fünf Textprofile bestanden kurze Textproben. Für Uncensored und Medium
wurden zusätzlich Tools und Vision geprüft; Uncensored bestand einen
72.802-Token-Kontexttest. Kein Vollkontext- oder Langzeittest aller Profile.
Die übrigen Spezialcontainer wurden bei diesem Abgleich nur inventarisiert.
## Backup und Prüfumfang
- [Build, Tests und Rückfall](LLAMA_B10930_UPDATE_20260912.md)
- [FLUX-Auflösungstest](FLUX_RESOLUTION_TEST_20260912.md)
- [Container-Inventar](CONTAINER_INVENTORY.md)
- [Backup-Stand](RECOVERY.md)
- [Verbindliche Host-Regeln](REMOTE_HOST_RULES.md)
`mike-ai-backup` lief; der jüngste geprüfte manuelle Archivlauf schloss
Compose und Voice-Bridge ein. Der Fünf-Stunden-Export-Timer war aktiv, der
externe Restic-Timer zwar ebenfalls aktiviert, aber ohne seine erforderliche
`/etc/mike-ai/disaster-backup.env` **nicht** als funktionierende externe
Sicherung zu werten. Details und Restore-Grenzen: [Backup](RECOVERY.md).
Geprüft wurden aktuelle Container- und Quellenstände sowie ausgewählte
Health-Endpunkte. Keine erneuten Bild-, Langkontext-, Trainings- oder
Restore-Tests; ältere Ergebnisse sind im [Update-Audit](UPDATE_AUDIT_20260915.md)
und [FLUX-Auflösungstest](FLUX_RESOLUTION_TEST_20260912.md) dokumentiert.
+17 -9
View File
@@ -6,7 +6,7 @@
`/data/docker-backups` (14 Tage Aufbewahrung). Die aktuell geprüften Mounts sichern:
- `/etc/mike-ai` einschließlich lokaler Konfiguration und Secrets,
- `/opt/mike-ai` einschließlich des bereitgestellten, teilweise uncommitteten Stacks,
- `/opt/mike-ai` einschließlich der bereitgestellten Checkouts,
- die Volumes `router-images`, `router-state` und `portainer_data`.
Der neue WebRTC-Sprachadapter liegt unter
@@ -22,13 +22,15 @@ Piper-Daten sind kein aktueller Sicherungsbestand. Modellgewichte unter
Backup-Mounts. Ein Backup ausschließlich auf `/data` schützt nicht vor deren Ausfall.
Die verschlüsselten Notfallpakete über `athena-export-backup.timer` laufen
ebenfalls im Fünf-Stunden-Takt; der letzte geprüfte Lauf war erfolgreich. Sie
ebenfalls im Fünf-Stunden-Takt; beim Abgleich war der Timer aktiv und der
letzte Lauf am 16. September 2026 um 13:50 Uhr verzeichnet. Sie
liegen unter `/data/emergency-backups`. Schutz vor Datenplattenausfall setzt
eine außerhalb Athenas aufbewahrte Kopie voraus.
Die externe Restic-Sicherung über `athena-disaster-backup.timer` ist derzeit
nicht eingerichtet: `/etc/mike-ai/disaster-backup.env` fehlt. Bis ein externes
Ziel konfiguriert und die Sicherung aktiviert wurde, darf diese Ebene nicht als
nicht eingerichtet: Der Timer ist zwar aktiviert, aber
`/etc/mike-ai/disaster-backup.env` fehlt. Bis ein externes
Ziel konfiguriert und ein erfolgreicher Lauf geprüft wurde, darf diese Ebene nicht als
vorhandener Schutz eingeplant werden. Ein vollständiger Restore wurde in
diesem Auftrag nicht ausgeführt.
@@ -51,17 +53,23 @@ konfiguriert und aktiviert ist, ohnehin das gesamte Verzeichnis
### Wiederherstellung und Versionsgrenze
Der bereitgestellte Quellstand muss aus der Sicherung erhalten bleiben:
Ein frischer Git-Clone enthält noch nicht sämtliche Live-Anpassungen und
Spezialdienste, siehe [Live-Stand](LIVE_STATE.md). Vor einem Restore sind
Die geprüften Quell- und Compose-Dateien liegen im Git; ein frischer Clone
enthält jedoch keine Secrets, Modellgewichte, Trainingsdaten oder sonstigen
persistenten Nutzerdaten. Die lokalen `/etc/mike-ai`-Werte und die
Backup-Archive bleiben daher für eine vollständige Wiederherstellung nötig.
Die alten Live-Checkouts zeigen zudem ältere Commits als Doggo, obwohl die
geprüften Quelldateien inhaltlich übereinstimmen; siehe [Live-Stand](LIVE_STATE.md).
Vor einem Restore sind
Archivinhalt, Aktualität und Kompatibilität der zugehörigen Restore-Skripte
zu prüfen. Bestehende lokale Änderungen niemals blind überschreiben.
Die Host-Regel gilt unverändert: **Athena niemals herunterfahren oder neu
starten und ihre Erreichbarkeit nicht gefährden.** Eine Neuinstallation ist
keine normale Wartungsmaßnahme am erreichbaren Remote-Host.
Für den begrenzten Rückfall des Modellservers stehen altes Image und gesicherte
Startkonfiguration im [b10930-Updatebericht](LLAMA_B10930_UPDATE_20260912.md).
Für einen begrenzten Rückfall des Modellservers den aktuellen
[Updatebericht](UPDATE_AUDIT_20260915.md) und die tatsächlich vorhandenen
lokalen Images prüfen. Der [b10930-Bericht](LLAMA_B10930_UPDATE_20260912.md)
beschreibt nur einen älteren Stand.
## Unraid