From 9fe51390f6706bf334edb137006edf4548bfbb0e Mon Sep 17 00:00:00 2001 From: Mikei386 <44135113+Mikei386@users.noreply.github.com> Date: Sat, 12 Sep 2026 20:47:28 +0200 Subject: [PATCH] docs: reconcile Athena overview with verified live deployment --- ATHENA.md | 28 +++++++---- README.md | 44 +++++++++------- docs/ARCHITECTURE.md | 22 +++++--- docs/CONTAINER_INVENTORY.md | 51 +++++++++++++++++++ docs/CURRENT_RUNTIME_NOTES.md | 75 ++++++---------------------- docs/LIVE_STATE.md | 68 +++++++++++++++++++++++++ docs/LLAMA_B10930_UPDATE_20260912.md | 5 +- docs/RECOVERY.md | 64 ++++++++++-------------- 8 files changed, 223 insertions(+), 134 deletions(-) create mode 100644 docs/CONTAINER_INVENTORY.md create mode 100644 docs/LIVE_STATE.md diff --git a/ATHENA.md b/ATHENA.md index f2f966f..4c4f433 100644 --- a/ATHENA.md +++ b/ATHENA.md @@ -1,5 +1,12 @@ # Athena – Betriebsanleitung +Stand: **12. September 2026**, auf Athena geprüft. Produktiv läuft +**llama.cpp b10930** (`56381e407c0ccfb3a6f71e668a27a901001d22ce`). +Der [geprüfte Live-Stand](docs/LIVE_STATE.md) beschreibt Profile, GPUs und die +Abweichung zwischen dem bereitgestellten Stack und dem Git-Checkout. +Der [Updatebericht](docs/LLAMA_B10930_UPDATE_20260912.md) enthält Tests und Rückfallstand. + + Diese Datei ist der kurze, verbindliche Einstieg für Menschen und Agenten. ## Rolle @@ -10,8 +17,8 @@ Sie betreibt: - llama.cpp mit genau einem aktiven Qwen-Profil, - den OpenAI-kompatiblen Profile Router, -- FLUX.2-klein-4B für Textbilder und Referenzbild-Bearbeitung, -- Qwen3-TTS und Piper für Sprache, +- FLUX.2 Klein 9B FP8 Beta für Textbilder und Referenzbild-Bearbeitung, +- Qwen3-TTS und TTS-Gateway für Sprache, - das Athena-Dashboard, - Portainer CE als optionale Ansicht auf die laufenden Docker-Container, - WireGuard-Gateway und Datenbackup, @@ -31,7 +38,7 @@ werden keine zweiten Instanzen dieser Dienste angelegt. | `/etc/mike-ai` | lokale Konfiguration und Secrets, niemals Git | Portainer läuft als separater, optionaler Verwaltungscontainer -`mike-ai-portainer`, teilt den Netzwerk-Namespace des WireGuard-Gateways und +`mike-ai-portainer`, hat einen eigenen Netzwerk-Namespace im Netz `mike-ai_frontend` und ist unter `https://192.168.1.212:9443` erreichbar. Seine Einstellungen liegen im Docker-Volume `portainer_data`, das vom Athena-Backup mitgesichert wird. Portainer beobachtet beziehungsweise @@ -56,12 +63,13 @@ Qwen-Profil wird vom Profile Controller verwaltet. - Fast: kurze, interaktive Aufgaben - Medium/Large/Ultra: steigende Kontextgrößen desselben lokalen Qwen-Modells - Uncensored: separates lokales Profil -- FLUX.2-klein-4B: Bildgenerierung und Editing; Qwen wird dafür kurz entladen und danach +- FLUX.2 Klein 9B FP8 Beta: Bildgenerierung und Editing; Qwen wird dafür kurz entladen und danach automatisch wiederhergestellt -- Qwen3-TTS 1.7B: RTX 3060; Piper bleibt CPU-Fallback +- Qwen3-TTS 1.7B: RTX 3060; kein Piper-Fallback -Die verbindlichen Werte stehen in `config/profile-matrix.json` und -`docs/STANDARD_PROFILE_MATRIX.md`. +Die geprüften Live-Werte stehen in [docs/LIVE_STATE.md](docs/LIVE_STATE.md). +`config/profile-matrix.json` und `docs/STANDARD_PROFILE_MATRIX.md` im Repository +enthalten zusätzlich `beta1`, das auf Athena nicht installiert ist. ## Globale Modellrichtlinie @@ -82,8 +90,10 @@ eingebaut. ## Sicherheitsgrenze -Ohne ausdrücklichen aktuellen Auftrag niemals Shutdown, Reboot, Kernel, -Bootloader, Partitionen, Mounts, SSH, LAN, WireGuard oder Firewall ändern. +**Athena niemals herunterfahren oder neu starten. Die Erreichbarkeit darf +nicht gefährdet werden.** Keine Änderungen an Host, Treibern, SSH, LAN oder +WireGuard im Rahmen eines Modell- oder Dokumentationsupdates. +Verbindlich sind die [Remote-Host-Regeln](docs/REMOTE_HOST_RULES.md). Secrets dürfen lokal verwendet, aber nie in Git, Logs oder Chatantworten veröffentlicht werden. diff --git a/README.md b/README.md index d5255a6..8c589d1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,13 @@ # Athena AI -Athena ist die lokale Inferenzmaschine. Der reproduzierbare Docker-Stack stellt +Stand: **12. September 2026**, auf Athena geprüft. Produktiv läuft +**llama.cpp b10930** (`56381e407c0ccfb3a6f71e668a27a901001d22ce`). +Der [geprüfte Live-Stand](docs/LIVE_STATE.md) beschreibt Profile, GPUs und die +Abweichung zwischen dem bereitgestellten Stack und dem Git-Checkout. +Der [Updatebericht](docs/LLAMA_B10930_UPDATE_20260912.md) enthält Tests und Rückfallstand. + + +Athena ist die lokale Inferenzmaschine. Der 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.** @@ -10,9 +17,9 @@ Bild- und Sprachausgabe. **Hermes und die Fach-MCPs laufen auf Unraid.** - genau ein aktives llama.cpp-Profil: Fast, Medium, Large, Ultra oder Uncensored - Profile Router auf Port 8081 -- FLUX.2-klein-4B für Textbilder und Referenzbild-Bearbeitung auf der RTX 5080 -- 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 +- FLUX.2 Klein 9B FP8 Beta: Transformer/VAE auf RTX 5080, Textencoder auf RTX 3060 +- Qwen3-TTS 1.7B auf der RTX 3060 hinter dem TTS-Gateway; kein Piper-Fallback +- Whisper.cpp `small` auf der CPU für lokale deutsche Spracherkennung - Live-Dashboard mit 21 Tagen Detailhistorie auf Port 8099 - Portainer CE als optionale Container-Ansicht auf Port 9443 - WireGuard-Gateway, Datenbackup und Athena-Operator @@ -33,14 +40,19 @@ ist nicht mehr Bestandteil der produktiven Architektur. ## Verifizierte Bildauflösung auf dem Live-System Der am 12. September geprüfte Live-Worker verwendet **FLUX.2 Klein 9B FP8 -Beta** und weicht damit vom oben beschriebenen 4B-Stand ab. Im Auflösungstest +Beta**. Die frühere 4B-Angabe war veraltet. Im Auflösungstest war **1024 × 1024 erfolgreich**, während **1280 × 1280 einen CUDA-OOM** auf der RTX 5080 auslöste. Höhere Auflösungen sind damit nicht freigegeben; Zwischenwerte wurden nicht getestet. Die produktive 1024-Begrenzung bleibt bestehen. Messwerte, Testbedingungen und die Korrektur früherer optimistischer Schätzungen stehen in [Auflösungstest vom 12. September](docs/FLUX_RESOLUTION_TEST_20260912.md). -## Installation – ein Befehl +## Installation des Repository-Stands + +Der Live-Stack enthält zusätzliche, noch nicht vollständig in Git übernommene +Anpassungen. Ein frischer Clone bildet daher nicht automatisch den kompletten +Live-Stand einschließlich Spezialdiensten ab. Vor Wiederherstellung den +gesicherten bereitgestellten Quellstand und [LIVE_STATE.md](docs/LIVE_STATE.md) berücksichtigen. ```bash cp config/install.env.example /root/mike-ai-install.env @@ -137,16 +149,9 @@ Unraid-DockerMan-Templates. Details stehen in ## 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). +Der Sicherungsumfang und die Grenzen eines Neuaufbaus aus dem Repository stehen +in [docs/RECOVERY.md](docs/RECOVERY.md). Der gesicherte Live-Quellstand enthält +zusätzliche Anpassungen und muss erhalten bleiben. ## Sicherheitsregeln @@ -156,7 +161,8 @@ Der genaue Sicherungsumfang steht in [docs/RECOVERY.md](docs/RECOVERY.md). [docs/REMOTE_HOST_RULES.md](docs/REMOTE_HOST_RULES.md)). - `config/install.env` ist lokal, Modus 0600, und wird ignoriert. - API-, Controller-, WebUI- und WireGuard-Schlüssel entstehen erst am Host. -- Nur der kleine Profile Controller sieht den Docker-Socket. +- Docker-Zugriff ist auf Verwaltungsdienste begrenzt; unter anderem benötigen + Profile Controller, Portainer und Backup Zugriff auf den Docker-Socket. - llama.cpp veröffentlicht weder Port noch WebUI. - Ein Blackhole-Fallback verhindert Traffic-Leaks bei WireGuard-Ausfall. - Das Uni-Netz und das Heimnetz dürfen diesen Host nicht als Transit benutzen. @@ -164,7 +170,9 @@ 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/LIVE_STATE.md](docs/LIVE_STATE.md) – tatsächlich bereitgestellte Profile und Versionen +- [docs/CONTAINER_INVENTORY.md](docs/CONTAINER_INVENTORY.md) – vorhandene Container +- [docs/STANDARD_PROFILE_MATRIX.md](docs/STANDARD_PROFILE_MATRIX.md) – Repository-Matrix, einschließlich nicht installiertem beta1 - [docs/MCP_SERVERS.md](docs/MCP_SERVERS.md) – produktive Werkzeuge - [docs/RECOVERY.md](docs/RECOVERY.md) – Backup und Neuaufbau - [docs/REMOTE_HOST_RULES.md](docs/REMOTE_HOST_RULES.md) – Regeln für den Remote-Host diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 6fdba27..578b3f4 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -6,9 +6,9 @@ flowchart LR H -->|OpenAI API| R[Profile Router
Athena :8081] R --> P[Profile Controller] P --> Q[genau ein llama.cpp-Profil
Qwen Fast / Medium / Large / Ultra / Uncensored] - R --> I[FLUX.2-klein-4B
RTX 5080, Text + Editing] - R --> T[XTTS RTX 3060
Piper CPU-Fallback] - R --> STT[Whisper.cpp large-v3-turbo
CPU, lokale Spracherkennung] + R --> I[FLUX.2 Klein 9B FP8 Beta
RTX 5080, Text + Editing] + R --> T[Qwen3-TTS 1.7B RTX 3060
TTS-Gateway] + R --> STT[Whisper.cpp small
CPU, lokale Spracherkennung] H --> U[MUA / Unraid MCP] H --> A[ARR-MCP] @@ -25,6 +25,13 @@ flowchart LR K[Backup alle 5 Stunden] --> DATA[/data und /etc/mike-ai] ``` +Stand: 12. 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. +Zusätzliche Musik-, Audio-, Voice- und 3D-Container stehen im +[Container-Inventar](CONTAINER_INVENTORY.md); ihre Anwesenheit ist kein neuer Funktionstest. + ## Verantwortung - **Unraid** hält Hermes, Chats, Skills, Fach-MCPs und deren Appdata. @@ -37,7 +44,7 @@ flowchart LR ## Dynamische Qwen-Profile Der Profile Router hält immer nur ein Qwen-Profil aktiv. Ein Wechsel lädt -dasselbe 27B-Modell mit der zum Profil gehörenden GPU-Aufteilung und +das zum Profil gehörende 27B-Modell mit der zum Profil gehörenden GPU-Aufteilung und Kontextgröße: | Profil | Kontextfenster | @@ -48,7 +55,6 @@ Kontextgröße: | Ultra | 262.144 Token | | Uncensored | 80.000 Token | -Die visuelle Fassung liegt als `athena-architecture-map.png` neben dieser Datei. -Eine zweite Detailkarte, `athena-gpu-allocation-map.png`, zeigt die -profilabhängige Layer-Verteilung auf RTX 5080 und RTX 3060 sowie die festen -GPU-Zuordnungen von FLUX.2, Vision-Projektor und XTTS. +Die PNG-Karten `athena-architecture-map.png` und `athena-gpu-allocation-map.png` +sind historische Darstellungen. Bei abweichenden Modell- oder Netzwerkangaben +gelten diese Textdokumentation und der geprüfte Live-Stand. diff --git a/docs/CONTAINER_INVENTORY.md b/docs/CONTAINER_INVENTORY.md new file mode 100644 index 0000000..0628a1d --- /dev/null +++ b/docs/CONTAINER_INVENTORY.md @@ -0,0 +1,51 @@ +# Container-Inventar auf Athena + +Stand: 12. September 2026 + +Athena besteht beim lesenden Abgleich aus 25 Docker-Containern. 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 +nicht automatisch ein ungenutzter Rest. + +| Container | Modell oder wesentliche Komponente | Aufgabe | +|---|---|---| +| `mike-ai-backup` | kein Modell; Offen Docker Volume Backup | Sichert `/data`, `/etc/mike-ai`, den Stack und die persistenten Docker-Volumes im Fünf-Stunden-Takt. | +| `mike-ai-applio-studio` | Applio/RVC; Stimmenmodelle werden nutzerseitig ergänzt | Vollständige RVC-Oberfläche für Inferenz, Modellverwaltung und Training auf der RTX 5080. Für eine Konvertierung ist ein importiertes oder trainiertes `.pth`-Modell nötig; eine Referenzaufnahme allein reicht nicht. | +| `mike-ai-image-worker` | FLUX.2 Klein 9B FP8, Qwen3-8B NF4 Textencoder und VAE | Erzeugt und bearbeitet Bilder transaktional; nutzt während eines Auftrags RTX 5080 und RTX 3060. | +| `mike-ai-llama-dashboard` | kein Modell | Zeigt Telemetrie, Profile, GPU-Nutzung und Betriebsarten an und bietet die Modusumschaltung. | +| `mike-ai-llama-fast` | Qwen3.8-27B `IQ4-MIX`, Qwen-MMProj BF16 | Schnelles Q4-Text-/Vision-Profil mit 76.800 Token Kontext. | +| `mike-ai-llama-large` | Qwen3.8-27B `IQ4_XS-pure`, Qwen-MMProj BF16 | Q4-Text-/Vision-Profil mit 192.000 Token Kontext und Verteilung auf beide GPUs. | +| `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-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-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. | +| `mike-ai-tts-gateway` | kein eigenes Modell | Normalisiert Text, konvertiert Ausgabeformate und stellt Qwen3-TTS sowie natives PCM-Streaming über eine stabile interne API bereit. | +| `mike-ai-voice-studio` | `k2-fsa/OmniVoice` 0.2.1 mit Whisper-ASR | Erzeugt Text-to-Speech mit einer Referenzstimme; kein Audio-to-Audio-Voice-Changer. | +| `mike-ai-whisper` | Whisper.cpp `ggml-small` | Lokale deutsche Spracherkennung auf der CPU über `/v1/audio/transcriptions`. | +| `mike-ai-wireguard-gateway` | kein Modell | Veröffentlicht Dashboard und Fachoberflächen ausschließlich über den privaten WireGuard-Pfad. | +| `mike-ai-xvc-studio` | `chenxie95/X-VC`, GLM-4-Voice-Tokenizer und optional Resemble Enhance | Wandelt eine vorhandene Sprachaufnahme anhand einer Referenzstimme in Audio zu Audio um; gibt das native 16-kHz-Ergebnis und optional eine neural restaurierte 44,1-kHz-Fassung aus. | +| `mike-ai-yue2-playground` | Image `mike-ai/yue2:3b-0.1.6` | Vorhandener, gestoppter Playground; in diesem Abgleich nicht funktional getestet. | +| `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 b10930. 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. +Die Detailbeschreibungen der Spezialmodelle stammen aus der bestehenden +Betriebsdokumentation; dieses Update prüfte deren Containerbestand, nicht +sämtliche Modellgewichte oder Funktionen neu. + +## Aufräumregel + +Gestoppte Container sind nicht automatisch Testreste. Vor einer Entfernung +Compose-Zuordnung, Mounts und Controller-Verweise prüfen. Die vorhandenen +Spezialcontainer wurden durch den FLUX-Auflösungstest weder angelegt noch entfernt. diff --git a/docs/CURRENT_RUNTIME_NOTES.md b/docs/CURRENT_RUNTIME_NOTES.md index 992506f..c64fc76 100644 --- a/docs/CURRENT_RUNTIME_NOTES.md +++ b/docs/CURRENT_RUNTIME_NOTES.md @@ -1,65 +1,20 @@ -# Aktueller produktiver Laufzustand +# Aktuelle Laufzeitnotizen -Stand: 3. September 2026 +Stand: 12. September 2026. -## Lokale Spracherkennung +Der verbindliche Abgleich steht im [geprüften Live-Stand](LIVE_STATE.md). +Produktiv läuft **llama.cpp b10930**, zuvor b10872. Die frühere Angabe b10781 +war veraltet. Alle fünf installierten Profile wurden aktualisiert; die +Startoption wurde auf `--load-mode none` migriert. -Athena betreibt Whisper.cpp v1.9.1 mit `large-v3-turbo` als CPU-Dienst. Der -Profile Router veröffentlicht ihn als OpenAI-kompatiblen Endpunkt -`/v1/audio/transcriptions`; Standardsprache ist Deutsch. Modell und Download -bleiben im persistenten Docker-Volume `whisper-data` erhalten. +[B10930-Updatebericht](LLAMA_B10930_UPDATE_20260912.md): Version, Image-ID, +Funktionsproben, Vergleichsmessungen und gesicherter Rückfallstand. -Ein lokaler Rundlauftest (Athena-TTS → WAV → Athena-STT) wurde erfolgreich -durchgeführt. OpenClaw ist ebenfalls auf diesen lokalen Endpunkt eingestellt -und wurde mit `openclaw infer audio transcribe` erfolgreich geprüft. Für den -lokalen Provider ist der Zugriff auf Athenas private IP ausdrücklich erlaubt; -andere private Ziele werden dadurch nicht freigeschaltet. +FLUX verwendet **9B FP8 Beta** mit Textencoder auf der RTX 3060. +[Auflösungstest](FLUX_RESOLUTION_TEST_20260912.md): 1024 erfolgreich, +1280 CUDA-OOM; produktive Begrenzung weiterhin 1024. +Sprachausgabe: Qwen3-TTS 1.7B ohne Piper. Spracherkennung: Whisper.cpp small auf CPU. -## Produktive llama.cpp-Runtime - -Aktualisiert am 12. September 2026: Alle fünf Textprofilcontainer verwenden -llama.cpp **Build 10930**, Commit -`56381e407c0ccfb3a6f71e668a27a901001d22ce`. - -Der tatsächliche vorherige Live-Build war 10872 -(`b31b71f3a076bfc4278daad442203a9c51c6e676`), nicht der hier zuvor -angegebene Build 10781. Er bleibt unter -`mike-ai/llama.cpp:b10872-pre-b10930` als Rückfallimage erhalten. - -Das Update enthält den Fix für die Drafter-Position nach Bildeingaben -[#28715](https://github.com/ggml-org/llama.cpp/pull/28715). Modellgewichte, -Profilkontexte, GPU-Aufteilung, Vision, Slots und MTP-Parameter bleiben -unverändert. Details und Testgrenzen stehen im -[Updateprotokoll](LLAMA_B10930_UPDATE_20260912.md). - -## Qwen Medium: Vision-Projektor wieder aktiviert - -`qwen-medium` läuft wieder mit dem Qwen-Vision-Projektor. Der Projektor wird -über `--mmproj-offload --mmproj-device CUDA1` gezielt auf der RTX 3060 geladen. -Der vorübergehende Text-only-Workaround ist damit auf ausdrücklichen Wunsch -beendet. - -Dabei gilt ausdrücklich: - -- Der Gesamtkontext bleibt bei **160.000 Tokens**. -- Das Profil verwendet wieder **einen Slot**. Die getestete Zwei-Slot-Variante - ist nicht produktiv. -- **MTP / Speculative Decoding bleibt aktiviert**; MTP wurde nicht entfernt. -- Modell, Quantisierung, GPU-Aufteilung und KV-Cache-Quantisierung bleiben - unverändert. -- Bildanalyse ist im Medium-Profil wieder verfügbar. -- Der bekannte llama.cpp-/MMProj-Cachefehler kann weiterhin vollständige - Prompt-Neuverarbeitung in späteren Turns auslösen. Diese Einschränkung wird - zugunsten der benötigten Vision-Funktion bewusst akzeptiert. - -Referenz: - -- https://github.com/ggml-org/llama.cpp/issues/19858 -- https://github.com/ggml-org/llama.cpp/issues/21133 - -## Separates bekanntes Problem - -Automatische Hermes-Hintergrundanfragen können weiterhin den einzigen aktiven -llama.cpp-Slot belegen und damit den Cache eines großen Chats verdrängen. Dieses -Slot-Eviction-Problem ist unabhängig vom MMProj-Workaround und muss separat in -der Hermes-Auxiliary-/Hintergrundverarbeitung geklärt werden. +Datierte ältere Testberichte beschreiben ihre damaligen Versuchsbedingungen, +keine automatische Freigabe für den heutigen Betrieb. Die Repository-Matrix +enthält zusätzlich beta1; auf Athena sind nur fünf Textprofile installiert. diff --git a/docs/LIVE_STATE.md b/docs/LIVE_STATE.md new file mode 100644 index 0000000..01e87cd --- /dev/null +++ b/docs/LIVE_STATE.md @@ -0,0 +1,68 @@ +# Geprüfter Live-Stand auf Athena + +Stand: 12. September 2026. Quelle: SSH-Abgleich von Containerbestand, +Startkonfiguration und den dokumentierten Laufzeittests auf Athena. + +## 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. + +| 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 | + +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. + +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. + +## Bild und Sprache + +- 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. + +## Git und bereitgestellte Dateien + +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. + +## Prüfumfang und Belege + +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. + +- [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) diff --git a/docs/LLAMA_B10930_UPDATE_20260912.md b/docs/LLAMA_B10930_UPDATE_20260912.md index 45b05f8..140ace0 100644 --- a/docs/LLAMA_B10930_UPDATE_20260912.md +++ b/docs/LLAMA_B10930_UPDATE_20260912.md @@ -71,6 +71,7 @@ Startoption `--no-mmap`; nur das Image umzuschalten reicht nicht. Die gesicherte Compose-Datei dient als Referenz. Spätere Änderungen dürfen beim Rückfall nicht durch blindes Überschreiben verloren gehen. -Nach der Prüfung ist wieder genau das zuvor aktive Profil **Uncensored** -aktiv. Die übrigen Profile bleiben bedarfsgesteuert gestoppt. Host, Treiber, +Zum Abschluss der Updateprüfung wurde das zuvor aktive Profil **Uncensored** +wiederhergestellt. Dies ist ein historischer Abschlusszustand; beim späteren +Dokumentationsabgleich war Medium aktiv. Die übrigen Profile bleiben bedarfsgesteuert gestoppt. Host, Treiber, SSH, LAN, Firewall und WireGuard wurden nicht verändert oder neu gestartet. diff --git a/docs/RECOVERY.md b/docs/RECOVERY.md index 4dea825..751c181 100644 --- a/docs/RECOVERY.md +++ b/docs/RECOVERY.md @@ -1,49 +1,39 @@ # Backup und Wiederherstellung -## Athena +## Athena – geprüfter Sicherungsstand vom 12. September 2026 -`mike-ai-backup` erzeugt alle fünf Stunden ein Archiv unter -`/data/docker-backups` und behält 14 Tage. Gesichert werden: +`mike-ai-backup` läuft und sichert im Fünf-Stunden-Takt nach +`/data/docker-backups` (14 Tage Aufbewahrung). Die aktuell geprüften Mounts sichern: -- `/etc/mike-ai` mit lokaler Konfiguration, -- Router-Zustand und erzeugte Bilder, -- Piper-Daten, -- der kanonische Stack als zusätzlicher Snapshot. +- `/etc/mike-ai` einschließlich lokaler Konfiguration und Secrets, +- `/opt/mike-ai` einschließlich des bereitgestellten, teilweise uncommitteten Stacks, +- die Volumes `router-images`, `router-state` und `portainer_data`. -Nicht in das Archiv gehören die großen Modellgewichte unter `/data/models`. -Sie bleiben auf der Daten-SSD oder werden anhand der gepinnten Angaben in -`config/install.env.example` erneut geladen. Die Dashboard-Historie liegt -dauerhaft unter `/data/llama-dashboard`. +Piper-Daten sind kein aktueller Sicherungsbestand. Modellgewichte unter +`/data/models` und das reproduzierbare Whisper-Volume gehören nicht zu diesen +Backup-Mounts. Ein Backup ausschließlich auf `/data` schützt nicht vor deren Ausfall. -Portainers lokale Konfiguration liegt im Docker-Volume `portainer_data` und -wird zusammen mit den übrigen nicht reproduzierbaren Volumes gesichert und -wiederhergestellt. +Zusätzlich existieren die externe Restic-Sicherung über +`athena-disaster-backup.timer` und verschlüsselte Notfallpakete über +`athena-export-backup.timer`. Bei beiden zugehörigen Services wurden +`Result=success` und `ExecMainStatus=0` gelesen. Das bestätigt den letzten +Dienstabschluss, keinen in diesem Auftrag geprüften vollständigen Restore. +Die Notfallpakete liegen unter `/data/emergency-backups`; Schutz vor +Datenplattenausfall setzt eine außerhalb Athenas aufbewahrte Kopie voraus. -### Neuaufbau +### Wiederherstellung und Versionsgrenze -1. Debian installieren und `/data` wieder am bisherigen Pfad einhängen. -2. Dieses Repository klonen. -3. Installationsdatei ausfüllen und Installation starten: +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 +Archivinhalt, Aktualität und Kompatibilität der zugehörigen Restore-Skripte +zu prüfen. Bestehende lokale Änderungen niemals blind überschreiben. - ```bash - sudo ./install.sh --config /root/mike-ai-install.env - ``` - -4. Letztes Datenarchiv einspielen: - - ```bash - 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 - ``` - -`--check` liest das komplette gzip-Archiv und prüft dessen sichere -`/backup`-Struktur sowie die benötigten Konfigurations- und Volume-Bäume, ohne -Container oder Dateien zu verändern. Der reguläre Restore extrahiert und -verwendet anschließend ausschließlich diesen einen geprüften Baum. - -Das Restore verändert weder SSH noch LAN, WireGuard, Kernel, Partitionen oder -Mounts. +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). ## Unraid