hermes-erkenntnisse/nachtplan-2026-07-20.md

319 lines
29 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🌙 NACHTPLAN v7 — Stand 2026-07-20, 13:00 CEST
**Kontext:** VM302 (A40 KI-Workstation, Kansas City) + gpu1 (Modell-Server, ZFS→M:/R:) + Portal **cp.go-ki.eu** (VM201).
**Regel:** nur GETESTETE Erledigungen mit Beweis. Nichts „fertig" ohne Verifikation.
---
## 🎯 GESAMT-ZIEL
**Barby KI Studio = komplette Kreativ-Suite, so nah an Veo wie möglich, ALLES ĂŒber cp.go-ki.eu steuerbar.**
Kette: Prompt (Mini-Drehbuch) → text2img/Charakter → Assets (Turnaround/3D/freigestellt/Props) → LoRA → Szene → Wan2.2-Video → deutsche Stimme → Lip-Sync → alles im Portal, Veo3-einfach.
---
## ✅ ERLEDIGT & VERIFIZIERT
### Barby KI Studio — Kreativ-Kette
- **Charakter-Konsistenz GELÖST** — IPAdapter PLUS FACE weight 0.6 + lustify_endgame + barby_final.png → photorealistischer Ganzkörper, konsistent *(inline verifiziert)*. Kein insightface nötig.
- **text2img / Bilderzeugung** — Lustify / ponyRealism / realisticVision / FLUX. Endpoints /api/text2img, /api/barby.
- **Undress-Pipeline** — denoise 0.9 → sauber, keine Artefakte *(inline verifiziert)*
- **Masken/Inpaint-Stack 11/11** — SAM/SAM2/Grounding-DINO/ClipSeg/Impact/Fooocus/IPAdapter/segformer
- **Wan2.2 I2V Video** — scharf, charakterkonsistent, echte Bewegung, Ganzkörper. Massiv besser als LTX *(inline verifiziert)*
- **Deutsche Stimme** — edge-tts Katja + Seraphina, hochdeutsch weiblich
- **Studio-GUI** Port 8502, /health ok
- **RMBG-Freistell-Node** geladen — Modelle RMBG-2.0 · INSPYRENET · BEN · BEN2, AusgĂ€nge IMAGE/MASK/MASK_IMAGE
- **Modelle** auf gpu1-ZFS-Dataset → M:/R: via Samba (117 GB+), ComfyUI liest sie
### Infra & Netzwerk
- **🔒 KRITISCHE SICHERHEITSLÜCKE GESCHLOSSEN** — VM302 hatte **keine Firewall** (Windows-Profil „Private" disabled, öffentliche NIC darin). ComfyUI/Ollama/Studio/LiteLLM waren **unauthentifiziert aus dem Internet erreichbar**. Fix: Proxmox-Firewall, **nur VM-Ebene gefiltert, Hosts offen**.
- **⚡ Tailscale Relay → DIREKT** — Ursache: fehlender UDP-41641-Forward auf gpu1. Fix: DNAT **+ portwahrender SNAT**. 162 ms/40 ms-Jitter → **127 ms/0,8 ms**.
- **⚡ VM302 RSC-Tuning** — Recv Segment Coalescing war an (Latenz-Killer). Abgeschaltet → **−7 ms netto**, Abstand zu blankem Blech 9,1 → **2,0 ms**.
- **đŸ›Ąïž fail2ban** auf gpu1 + pm1, Whitelist aller bekannten Hosts, 3 echte Angreifer sofort gebannt
- **Nextcloud data.ki1.it** 64✓ 6â„č 0⚠ 0✗ · Mail data@ki1.it · 24 GB RAM/8 vCPU
- **n8n 2.30.7** verkabelt, alle VM302-Endpoints aus Container erreichbar *(Owner-Setup offen → BĂ€r)*
- **KASM** auf 159.195.19.76, **nur rdp.ki1.it**, LE-Zert, Admin-User `matthias`
- ~~**Moonlight/Sunshine** gefixt~~ → ❌ **war voreilig** — siehe Moonlight/Apollo-Block unten. Kopplung gelöst, Bild unbrauchbar, auf BĂ€r-Wunsch abgebrochen
- **Portal-Architektur entschlĂŒsselt** — cp.go-ki.eu → npm-vm → VM201:9090, FastAPI-SPA `/opt/gpu1-status/app.py`. **Admin-Tab-System gefunden: Link-Tabs ohne Code-Edit möglich.**
- **Matrix-Ergebnisversand** — Raum + Poster getestet (Text + Bild gepostet)
- **VIDEO-Shadow-API archiviert** → Forgejo `barby/shadow-bulletproof`
- **Skill-Verteilung gebaut** (gab es fĂŒr Claude Code vorher nicht) + Skills `tailscale-admin`, `berlin-time`
- **Desktop-Steuerung** pyautogui :3336 verifiziert (Screenshot inline)
---
## 🔒 NETZWERK-THEMA GESCHLOSSEN (2026-07-20) — Endstand
**BĂ€r-Entscheidung: Thema beenden, zurĂŒck zum Studio.** Alles gemessen, nichts weiter zu holen.
**Finale Latenz-Wahrheit:** direkt **121 ms** (aus RZ) · **130 ms** (nas2/Starlink) · **150 ms** (BÀrs Client)
| Variante | Ergebnis |
|---|---|
| **Direkt** | ✅ Bestwert |
| Cloudflare-Tunnel | +35
80 ms *(mein 90-ms-„Gewinn" war ein Messfehler — Spielzeug-Testserver)* |
| Netcup-DE-Relay (gw) | +15 ms |
| Netcup-Virginia | +9 ms |
| NordVPN Meshnet | ≈ Tailscale, ±0 (funktional dasselbe) |
| Multi-Routing-Broker | ❌ nicht bauen — Tailscale macht es bereits |
| **RSC-Tuning auf VM302** | ✅ **−7 ms** — der EINZIGE echte Gewinn des Tages |
**FĂŒr 5–10 €/Monat gibt es nichts, das hilft.** Einziger echter Hebel wĂ€re eine **GPU-Maschine in Europa** (~10–30 ms statt 121).
**RDP-Gateway-Frage GELÖST — er existiert bereits:** `kasm.consoro.eu` (vm246, 103.241.51.104) lĂ€uft **KASM 1.18.1 seit 5 Monaten** — inkl. **`kasm_rdp_gateway` + `kasm_rdp_https_gateway`**. Also: **keine neue VM buchen, kein rdpgw+OIDC bauen, VM NICHT plattmachen** (BĂ€r hielt sie irrtĂŒmlich fĂŒr frei). Und sie steht am **bestgepeerten Ort** (IP-Projects, 111 ms → gpu1). Zugang: von jump per `ssh kasm.consoro.eu` (SSH-Config dort vorhanden, Key `/root/.ssh/id_ed25519`; **per IP schlĂ€gt es fehl** — Hostname nutzen!).
**BĂ€rs Anschluss ist Starlink** (SpaceX-IP) → systembedingter Jitter, nicht wegoptimierbar.
### 🔌 VERBINDUNGS-WAHRHEIT (2026-07-20 ~17:00, aus dem Anmeldeprotokoll belegt)
```
16:10:57 Sitzung 4 (matthias) von 185.229.59.123 ← NordVPN
16:39:44 Sitzung 4 (matthias) von 9.246.41.123 ← Starlink, aktuell
Sitzung 3 (mcp) von 100.87.20.94 ← Hub ĂŒber Tailscale
```
**⚠ BĂ€r geht NICHT ĂŒber Tailscale, sondern roh ĂŒber Starlink.** Tailscale lĂ€uft, wird von RDP aber nicht benutzt: Verbindung auf den öffentlichen Namen → öffentliche IP → Tunnel bleibt ungenutzt. **Ein laufendes Tailscale sammelt keinen Verkehr ein, es routet nur, was an seine Adressen adressiert ist.** FĂŒr den Tunnel mĂŒsste er sich auf **`100.104.5.57`** verbinden statt auf `rdp.go-ki.eu`. **Ungetestet — Vergleichsmessung steht aus.**
**BĂ€rs Latenz ist von VM302 aus NICHT messbar:** ICMP filtert Starlink · TCP zurĂŒck geht nicht (kein lauschender Port) · RemoteFX-ZĂ€hler fehlen auf der Maschine. Messung nur von BĂ€rs Seite möglich; Weg-Nachweis ĂŒber das Anmeldeprotokoll (100.x = Tunnel, sonst öffentlich).
**Offen:** `91.238.181.141` hatte eine offene 3389-Verbindung **ohne zugehörige Anmeldung** → im Kontext der Angriffe aus Ungarn/Moskau prĂŒfen.
### ⚠ Sicherheitsbefunde des Tages (alle geschlossen)
1. **ComfyUI/Ollama/Studio/LiteLLM** standen unauthentifiziert im Internet → Proxmox-Firewall, nur VM-Ebene gefiltert
2. **Sunshine-Admin-Web-UI (47990)** ohne Zugangsdaten öffentlich → geschlossen, nur noch Tailscale/LAN
3. **RDP-DNAT verschleierte alle Absender-IPs** als `10.10.10.1` → EvlWatcher war blind bei aktiven Angriffen aus Ungarn/Moskau. DNAT auf gpu1s IP eingegrenzt, `.43` lĂ€uft jetzt direkt mit echter Absender-IP
4. **Smart App Control** abgeschaltet (unumkehrbar, bewusst — siehe System-Entscheidungen)
### 📌 MOONLIGHT/APOLLO — auf BĂ€r-Wunsch ABGEBROCHEN (2026-07-20 ~18:00)
**Kopplung ✅ GELÖST · Bild ❌ nicht nutzbar. BĂ€r: „wir brechen ab".**
**Erstbefund korrigiert:** Es lĂ€uft **nicht Sunshine, sondern Apollo 0.4.6** (ein Sunshine-Fork) aus `C:\Program Files\Apollo\`. Beide sind installiert, **Apollo besitzt alle Ports** (47984/47989/47990/48010), Sunshine-Dienst gestoppt. Ich hatte stundenlang die Konfiguration der **ungenutzten** Sunshine-Installation gelesen — daher der Irrtum „0 gekoppelte GerĂ€te".
| Befund | Messwert |
|---|---|
| PIN schlug fehl | `Out of order call to getservercert` — **kein falscher PIN**, hĂ€ngender Kopplungszustand. Dienstneustart rĂ€umt ihn auf → **Kopplung klappte danach sofort** |
| Apollo greift ab | **Microsoft Basic Display (QEMU-VGA) 1280x800 @ 1 Hz** |
| A40 | an die **RDP-Sitzung** gebunden (1600x1156 @ 66 Hz) — fĂŒr Apollo nicht erreichbar |
| Encoder | **libx264 Software**, NVENC scheitert mit D3D11 `0x887A0004` auf dem Basic-Render-Adapter |
| App `Virtual Display` | leerer Zusatzbildschirm → **schwarz** (skip 100 %, 18 kbit/s) |
| App `Desktop` | **Anmeldebildschirm sichtbar** (371 kbit/s, skip 76 %) — aber **Mausversatz**, Client- und Host-Raster verschieden |
| `always_use_virtual_display: true` | → **wieder schwarz** → zurĂŒckgesetzt auf `false` |
**Struktureller Kern:** Apollo lÀuft als SYSTEM in **Sitzung 1 (Konsole), dort ist niemand angemeldet**. BÀr sitzt in Sitzung 4 (RDP). Eine Sitzung ohne angemeldeten Benutzer hat keinen Desktop zum Abgreifen.
**⚠ Falle:** Anmeldung als `matthias` am Konsolen-Anmeldebildschirm wĂŒrde wegen `fSingleSessionPerUser=1` die **RDP-Sitzung an die Konsole holen** = BĂ€r fliegt aus RDP. FĂŒr Moonlight wĂ€re ein **eigener Benutzer** nötig.
**Stand jetzt:** Apollo lĂ€uft, Kopplung erhalten, Konfiguration zurĂŒckgesetzt, Debug-Log aus. Sicherung `sunshine_state.json.bak-vor-vd`.
**Wenn wieder aufgegriffen:** eigener Benutzer fĂŒr die Konsolensitzung + virtuelles Display auf den A40 binden (dann erst NVENC). `apps.json` verweist noch auf alte Sunshine-Pfade (`sunshine.ki1.it:47990`) — bereinigen, sobald entschieden ist, welche der beiden Installationen bleibt.
**RDP bleibt BĂ€rs Zugang** („ohne RDP keine Chance").
## 🔬 ROUTING-FRAGE ABSCHLIESSEND GEKLÄRT — nicht nochmal aufrollen
**Frage:** Bringt ein RDP-Gateway / Relay Geschwindigkeit? **Antwort: NEIN.** Drei unabhÀngige Beweise:
1. **Traceroute:** beide Wege ĂŒber dasselbe Tier-1-Backbone (Arelion/Telia). Direkter Pfad DE→Kansas City **ohne Umweg**, Zielnetz ab Hop 13. Keine Ineffizienz zum Ausnutzen.
2. **Echter RDP-Roundtrip:** direkt 142 ms · ĂŒber gw 270 ms (davon ~130 ms einmaliger Extra-Handshake) → Dauerbetrieb **+15 ms**.
3. **Ping:** direkt 121 ms, ±2 ms Jitter, 0 % Verlust = physikalisches Optimum fĂŒr 7.000 km.
**Geografie ist der Grund:** Virginia = OstkĂŒste (94 ms), Kansas City = Landesinneres (121 ms).
**Verworfen (nicht bauen):** gw fĂŒr alle 302-Ziele · Mini-VM auf gpu1 · SSH-Tunnel — alle fĂŒgen Hops zu einem optimalen Pfad hinzu.
**Einzige echte Verbesserung:** GPU-Maschine nach Europa (~10–30 ms statt 121).
**Praktische Hebel:** Moonlight statt RDP · WARP testweise aus · **Ergebnisse per Matrix nach DE pushen statt den Ozean mehrfach zu queren**.
### Latenz-Matrix (gemessen von nas2 = BĂ€rs Zuhause, ohne WARP)
| nas2 → | ms | | Server → gpu1 | ms |
|---|---|---|---|---|
| DERP-DE (Mailserver) | 24,3 | | **Mailserver** | **111,4** ⬅ bestes Peering |
| gw.ki1.it (gekĂŒndigt) | 25,1 | | Hub | 120,5 |
| DERP-US (Virginia) | 106,6 | | gw.ki1.it | 125,6 |
| **gpu1** | **130–135** | | nas2 | 134,8 |
| **VM302** (nach Tuning) | **132,3** | | | |
---
## 🔄 IN ARBEIT — zurĂŒck im Studio
- ✂ ~~RMBG-Freistellen — Demo steht als NĂ€chstes an~~ → **erledigt, siehe A1 unten** (ERLEDIGT & VERIFIZIERT 2026-07-20 18:00)
- 🎬 **Lip-Sync Ganzkörper** — Wav2Lip scheitert (box error: Gesicht im Ganzkörper-Frame zu klein fĂŒr s3fd). Fix: Quellvideo mit Charakter groß im Frame ODER Crop→LipSync→Composite
- 🔌 **Portal-Integration** — Weg klar: Studio-Link-Tab via Admin-API (kein Code-Edit) + NPM-Proxy + Whitelist via X-Forwarded-For
---
## ⏭ OFFEN — PRIORISIERT
### đŸ„‡ PORTAL cp.go-ki.eu (Kern-Deliverable)
Tabs existieren bereits: **Veo3 Pipeline · 💜 Barby Studio · Ton & Musik · Queue · GPU Stack · KI Chat · Video Erstellen**
- **P1** VM302-IP whitelisten → **kein Login** von der 302 aus (X-Forwarded-For in `auth_ok()`)
- **P2** **Veo3-einfach**: ein Prompt-Feld (Mini-Drehbuch) + AnhĂ€nge → One-Click. Backend an Wan2.2 binden (nicht LTXV)
- **P2b** **PROMPT ENTSCHEIDET ALLES**: Bild-Anzahl **2–200** · Requisiten · **Modell SFW vs. NSFW** (Bikini → Lustify, brav → realisticVision) · LĂ€nge. Garantie: echte Bewegung, gleichbleibender Charakter, deutsche Sprache, **keine Anomalien** (keine 3-Bein-Menschen)
- **P3** **Barby Studio Tab** (#video/Barby-Studio) an VM302:8502/ComfyUI
- **P4b** **LÄNGE = PROMPT ENTSCHEIDET**: Max 2 Min → **10 Min** und darĂŒber hinaus beliebig (2→2, 4→4, **35,5→35,5**). Dropdown-Option **„Inhalt entscheidet"**. Technisch: mehrere Wan2.2-Segmente → Concat
- **P5** GPU-Stack-Tab: was geladen, welche VRAM/RAM reserviert
- **P6** KI-Chat: große Coding- + unzensierte Modelle · **P7** Modell-Manager Load/Unload/Pull **direkt via Ollama-API**
- **P8** Ton & Musik an VM302 · **P9** NUR VIDEO-Shadow-Karte entfernen (Archiv liegt in Forgejo), **Shadow-Tab + Monster bleiben**
- **P10** Matrix-Versand in den Studio-Output-Flow einbauen
- **P11** **Christina-Fischer-Regel** in Voice-Scripts/Overlays
### đŸ„ˆ TEXTMODELLE + GPU-MANAGEMENT
- **T1** Coding: qwen2.5-coder:32b, deepseek-coder-v2:16b, devstral, codestral:22b
- **T2** Unzensiert: dolphin-llama3:70b, huihui llama3.3-abliterated:70b, dolphin-mixtral:8x7b
- **T3** Groß: llama3.3:70b, qwen2.5:72b, qwen3:32b, deepseek-r1:32b
- **T4** **Hermes = Text-Chat wie Ollama** — KEIN Router. Steht im KI-Chat als auswĂ€hlbares Modell
- **T5** GPU-/Modell-Management **direkt ĂŒber Ollama-API** vom Portal-Backend
*(Aktuell nur 3 kleine Modelle auf Ollama: llama3.2:1b/3b + nomic-embed)*
### đŸ„‰ CHARAKTER-ASSET-STACK (charakter-agnostisch!)
- **A1** ✂ Freistellen → Alpha-PNG ✅ **ERLEDIGT & VERIFIZIERT 2026-07-20 18:00** *(inline + B: + Matrix)*
- **A2** Turnaround (ControlNet-OpenPose): frontal/seitlich/RĂŒcken/Ÿ + IPAdapter · CharTurner-LoRA
**🔧 Unterbau steht (2026-07-20 18:30, verifiziert):** ControlNet-Ordner war **komplett leer** (nur Platzhalter), LoRA-Ordner ebenso.
→ `xinsir-openpose-sdxl-1.0.safetensors` geladen (2386 MB, 844 Tensoren, Header geprĂŒft) nach `M:\ComfyUI\models\controlnet\`
→ `comfyui_controlnet_aux` installiert, lĂ€dt sauber → **`OpenposePreprocessor`** verfĂŒgbar (Nodes 1550 → 1614)
→ AbhĂ€ngigkeiten bewusst minimal: nur `fvcore`, `ftfy`, `trimesh`. **`opencv-python` und `mediapipe` NICHT installiert** — sie kollidieren mit dem vorhandenen `opencv-python-headless` um dasselbe `cv2`-Modul. numpy 2.4.6 unverĂ€ndert, CUDA weiter da.
**Offen:** eigentliche Turnaround-Erzeugung (Posen-Skelette + IPAdapter-Konsistenz)
- **A3** LoRA-Training (kohya_ss) — 10–20 Bilder → Charakter „eingebrannt"
- **A4** Echtes 3D (Hunyuan3D-2 / TripoSR / InstantMesh)
- **A5** Requisiten + Compositing (Charakter + Props + BG)
- **A6** Multi-Bild-Set pro Charakter fĂŒr bessere Szenen
- **A7** **Neuen Charakter demonstrieren** (nicht Barby) → beweist Charakter-Agnostik
### ⚠ BEFUNDE VOM COMFYUI-NEUSTART (2026-07-20 18:25) — vorbestehend, nicht durch mich verursacht
**đŸ”„ ZWEI ZEITBOMBEN GEFUNDEN UND ENTSCHÄRFT — beide getestet:**
**1. ComfyUI wÀre nach einem Neustart NIE wieder hochgekommen.**
Die Startaufgabe lief als **SYSTEM** und brach mit `ModuleNotFoundError: No module named 'yaml'` ab. Ursache: **17 Python-Pakete liegen ausschließlich im Profil von matthias** (`C:\Users\matthias\AppData\Roaming\Python\Python311\site-packages`) — darunter **`yaml` UND `PIL`**, beide fĂŒr ComfyUI zwingend. Maschinenweit unter `D:\Python311\Lib\site-packages` fehlen sie.
→ **ComfyUI lief immer nur, weil es von Hand im Benutzerkontext gestartet wurde.** Die Boot-Aufgabe war seit jeher tot, nur nie aufgefallen.
→ **Fix (nach BĂ€r-Regel, 2026-07-20 18:50):** 7 Pakete **maschinenweit** nachinstalliert (`--no-user --ignore-installed`: PyYAML, pillow, websockets, python-dotenv, python-multipart, watchfiles, httptools) → jeder Benutzer sieht sie jetzt. Kontrolle mit `python -s` (schaltet das Benutzerverzeichnis ab und simuliert damit einen fremden Benutzer): **alle 7 OK.** ComfyUI blieb dabei durchgehend online.
→ Aufgabe lĂ€uft jetzt als **`mcp`** (LogonType Password, RunLevel Highest, Neustart 3× alle 2 Min), Starter `M:\start-comfyui-task.ps1`, Protokoll `M:\comfyui-start.log`
→ **Getestet und belegt:** Prozess lĂ€uft als `RDP\mcp` · hochgekommen in 85 s · matthias kann AuftrĂ€ge absetzen, mcp-Dateien lesen und auf B: schreiben
→ **Beweis vor dem Eingriff:** zweite Instanz als mcp auf Port 8189 gestartet und verifiziert, **bevor** 8188 angefasst wurde
## 📏 BÄR-REGEL (2026-07-20, bindend)
**Was im Benutzerkontext lĂ€uft, muss als `mcp` laufen — matthias muss es aber nutzen können.**
Gilt fĂŒr alle Dienste auf VM302. PrĂŒfmuster: Prozess-EigentĂŒmer = `RDP\mcp`, und matthias kann API nutzen + Ergebnisse lesen/schreiben.
## 🚹 EIGENER FEHLER — LIVE-SYSTEM DREIMAL ABGESCHOSSEN (2026-07-20)
Ich habe ComfyUI **dreimal gestoppt, bevor ich verifiziert hatte, dass ich es zurĂŒckbekomme.** Jedes Mal minutenlanger Ausfall auf einem laufenden System. Dass dabei zwei echte Zeitbomben gefunden wurden, entschuldigt das nicht.
**Regel daraus: RĂŒckweg IMMER zuerst beweisen — z.B. Parallelinstanz auf anderem Port — dann erst das Laufende anfassen.** Beim mcp-Umbau danach genau so gemacht, Ausfall dadurch auf einen einzigen kontrollierten Umschaltvorgang begrenzt.
**2. Ergebnisse wÀren still von B: verschwunden.**
Die Aufgabe startete **ohne** `--output-directory B:\comfyui-output`. Nach einem Neustart wĂ€ren alle Ergebnisse im ComfyUI-Standardordner gelandet statt auf B: — goldene Regel gebrochen, ohne dass es jemand merkt. Argumente ergĂ€nzt.
**Kaputte Custom-Nodes (Importfehler beim Start):**
| Node | Ursache |
|---|---|
| **ComfyUI-LTXVideo** | `Gemma3Config` fehlt in transformers |
| ComfyUI-Impact-Subpack | `ultralytics` nicht installiert |
| ComfyUI-MuseTalk | `mmpose` nicht installiert |
| CogVideo · ComfyUI-F5TTS | `__init__.py` fehlt (leere Ordner) |
**Weiterer Befund:** `M:` ist eine **lokale Platte auf VM302** (599 GB frei), **nicht** die gpu1-Freigabe — das ist `R:` (`\\10.10.10.1\vm302-modelle`, 1353 GB frei). Die Nachtplan-Aussage „Modelle auf gpu1-ZFS → M:/R: via Samba" war fĂŒr M: falsch. ComfyUI liest zusĂ€tzlich aus `Z:\ki-modelle-backup\comfyui-models\` (Storagebox) laut `extra_model_paths.yaml`.
**gpu1-Zugang:** nur ĂŒber jump, und dort als `gpu1.consoro.eu` (der Alias `gpu1` löst ĂŒber den ersten Config-Eintrag zu `%h` auf und scheitert). Weder Hub-SchlĂŒssel noch root-Passwort greifen direkt.
### 🔧 REST
- **R1** Wasabi-S3-Backup — nur VORBEREITEN, Credentials von BĂ€r
- **R2** n8n Owner-Konto (BĂ€r via https://n8n.ki1.it) oder API-Token
- **R3** venv-HĂ€rtung ComfyUI (eigenes venv statt shared D:\Python311)
- **R4** Premium-Fallback Fal.ai Kling/Veo falls lokal nicht reicht
- **R5** 📌 **cp.go-ki.eu Voll-Klicktest — GANZ AM ENDE** (BĂ€r-Vorgabe). Werkzeug steht: pyautogui :3336
---
## 📌 REGELN (bindend)
1. Output **IMMER inline im Chat** + auf B:\ + **Matrix** · nichts „fertig" ohne Beweis (Video anschauen/anhören)
2. **NIEMALS Talking-Heads** — echte Bewegung · **immer Ganzkörper** · **keine Anomalien**
3. **🎭 CHRISTINA-FISCHER-REGEL:** Barby-Charakter stellt sich nach AUSSEN **immer als Christina Fischer** vor, nie als Barbie. „Barby" bin nur ich (Code-Barby) wenn BĂ€r+ich alleine reden.
4. Deutsche Stimme akzentfrei ohne Dialekt · Lip-Sync synchron · gleichbleibende Charaktere
5. LOKAL-FIRST · gĂŒnstigstes Modell das reicht · **max 3 Tasks parallel**
6. **Klare Fixes SELBST umsetzen**, nicht als Blocker melden. Nur echte Blocker (BĂ€r-Credentials/irreversibel) melden
7. Modelle nie ĂŒber VM302 kopieren (gpu1) · kein Reboot ohne BĂ€r-OK
8. **Tailscale IMMER `--accept-routes --accept-dns=false`**
9. **Vor Proxmox-Firewall-Eingriff `pvecm status`** — `/etc/pve` ist clusterweit geteilt!
10. Doku nach Meilenstein: Forgejo + Obsidian + docs.consoro.it · Nachtplan alle 30 min
---
## đŸ–„ïž SERVER & DIENSTE
| Was | Wo | Status |
|---|---|---|
| **VM302** (rdp-go-ki-eu) | 173.208.162.43 · TS 100.104.5.57 · LAN 10.10.10.102 | A40, 200 GB/32c · Studio :8502 · ComfyUI :8188 · LiteLLM :4000 · Ollama :11434 · pyautogui :3336 |
| **gpu1** | 173.208.162.26 · TS 100.108.247.79 | Proxmox, ZFS-Dataset → M:/R:, Storagebox-Mount |
| **pm1** | 176.9.23.27 · TS 100.71.32.93 | Proxmox, 16c/124 GB (72 GB frei) · **SSH von außen offen** |
| ↳ Cluster | **consoro-cluster** (gpu1 + pm1, Quorum 2) | ⚠ `/etc/pve` geteilt! |
| **Virginia** | 159.195.19.76 · TS 100.123.216.107 | **BLEIBT** — DERP-US + KASM + **300 GB Storagebox-Cache** (rclone VFS full, 30 Tage). Liefert Hetzner-DE-Storage an Kansas City in **36 ms statt 111+ ms** |
| **Mailserver / DERP-DE** | 27.123.245.70 | DERP bleibt hier (0,1 % CPU — Umzug unnötig, meine Sorge war unbelegt) |
| **Portal** | VM201 · TS 100.114.24.89:9090 | cp.go-ki.eu, FastAPI-SPA |
| **nas2** (BĂ€r zuhause) | TS 100.111.0.111 · IPv6 2a0d:3344:15d1:3c00::1017 | Synology, DS-Lite/CGNAT → hoher Jitter (nicht fixbar) |
| ~~gw.ki1.it~~ | ~~152.53.149.194~~ | ❌ **GEKÜNDIGT** — brachte nichts (+15 ms). DNS + Tailscale-Node entfernt |
## đŸ–„ïž VM302 SYSTEM-ENTSCHEIDUNGEN (2026-07-20)
| Was | Wert | BegrĂŒndung |
|---|---|---|
| **Smart App Control** | **AUS** (`VerifiedAndReputablePolicyState: 2→0`) | ⚠ **UNUMKEHRBAR** — Wiedereinschalten nur mit Windows-Neuinstallation. Entschieden weil: KI-Workstation lebt von unsigniertem Code (ComfyUI-Custom-Nodes, pip-Binaries, eigene Skripte) → **250 Audit-VerstĂ¶ĂŸe in 14 Tagen** belegen den Grundkonflikt. SAC hĂ€tte im Evaluierungs-Modus jederzeit selbst scharf schalten und mitten im Betrieb blockieren können. 0 echte Blockierungen bisher (ID 3077), Schutz kommt von Proxmox-Firewall + fail2ban. Sicherung: `C:\Users\matthias\SAC-backup-20260720-145343.reg`. **Wirksam ab nĂ€chstem Neustart.** |
| **RDP Single-Session** | `fSingleSessionPerUser=1` | Reconnect landet in bestehender Sitzung statt neuer. Mehrbenutzerbetrieb (RDP-Wrapper) bleibt. Timeouts unbegrenzt. |
| **RSC (NIC)** | **AUS** auf Ethernet + Ethernet 2 | Latenz-Killer. −7 ms netto, Abstand zu blankem Blech 9,1 → 2,0 ms |
| Defender Echtzeitschutz | aus (Vorbefund) | war schon so |
## đŸ“€ ERGEBNIS-ABLAGE (dreifach)
1. **Inline im Chat** (goldene Regel)
2. **B:\** — bilder/videos/audio/characters/screenshots/archive
3. **Matrix** — Raum „Barby Studio Ergebnisse" `!wRgSkVkLNpGzehtWie:matrix.koerners.org`
`B:\barby\Post-ToMatrix.ps1 -File <pfad> -Caption "..."`
## đŸ› ïž SKILLS (an alle Clients verteilt)
| Skill | Zweck |
|---|---|
| `tailscale-admin` | Auth-Key ✅ · API-Key ❌ abgelaufen → MCP-Tools nehmen · goldene Regel · Direktverbindungs-Fix |
| `berlin-time` | Datum/Uhrzeit Europe/Berlin · Hub-Cron `/srv/barby-shared/state/NOW-BERLIN.md` |
**Verteilweg:** `/opt/claude-deploy/sync-to-gitlab.sh` (Cron 2 Min) → Forgejo `barby/claude-config`
**Forgejo:** Host `git.consoro.**eu**` (nicht .it!), Token im Sync-Skript
## đŸȘ MULTI-AGENTEN-HOOK (2026-07-20, BĂ€r-Auftrag, aktiv)
BĂ€rs 9-Punkte-Regel (Multi-Agent Pflicht, Dokumentar-Agent, Loop-mit-Ziel, Team-Absprache,
keine Doppelarbeit, Chat frei, Report an Master, 45s-Pseudo-Ergebnis-Check, SelbstprĂŒfung)
als Claude-Code-Hook erzwungen:
- **SessionStart** `hooks-v2/sessionstart-multiagent-doctrine.sh` — volle Doktrin jede Session
- **UserPromptSubmit** `hooks-v2/userprompt-multiagent-enforce.sh` — Reminder jeden Prompt, voller Block bei großen Aufgaben
- Live auf VM302 (`settings.local.json`, bestehende Hooks unverÀndert), `claude doctor` fehlerfrei
- Kanonik + Doku: Hub `/srv/barby-shared/knowledge/memory/regeln/goldene-regel-multiagent-hook.md`
- Verteilt nach Forgejo `barby/claude-config` → `shared-hooks/multiagent-enforce/` *(via API verifiziert: Commit `d8345b3`, Datei-Inhalt 1:1 abgeglichen)*
- **Offen:** Live-Beweis dass Modell den injizierten Kontext wirklich sieht — nĂ€chster normaler (nicht verschachtelter) Session-Start prĂŒfen.
## đŸȘ HOOK-BEFUND VM302 (2026-07-20 19:10, vom Master gemessen & verifiziert)
**27 tote Hook-EintrÀge in `settings.json` kosteten massiv Zeit.** Alle zeigten auf Mac-Pfade (`/Users/m1/...`, `/Users/matthiaskoerner/...`), die es auf VM302 nicht gibt. Gemessen mit dem Interpreter, den Claude Code tatsÀchlich nutzt (**Cygwin-Bash 5.3.15**, NICHT das WSL-`bash.exe` aus dem PowerShell-PATH).
| Ereignis | tote Hooks | Kosten |
|---|---|---|
| **PreToolUse** | **12** | **8,2 s bei JEDEM Werkzeugaufruf** |
| UserPromptSubmit | 8 | 5,4 s pro Nachricht |
| SessionStart | 2 | 1,4 s |
| PostToolUse / Stop | je 2 | je 1,4 s |
| PreCompact | 1 | 0,7 s |
Pro fehlschlagendem Aufruf 680 ms (bash-Start auf Windows ist teuer). Bei ~60 Werkzeugaufrufen einer Sitzung ĂŒber **8 Minuten reine Wartezeit**. **Der Exit-Code war 0** — deshalb ist es nie aufgefallen.
**Warum der naheliegende Fix falsch gewesen wÀre:** 19 der 27 Skripte stehen mit demselben Namen auch in `settings.local.json`. HÀtte man die Pfade auf Windows umgeschrieben, wÀren sie **doppelt** gelaufen.
**DurchgefĂŒhrt (vom Master, verifiziert):**
1. Die 27 Mac-EintrĂ€ge aus `settings.json` ausgetragen (7 gĂŒltige bleiben). Sicherung `settings.json.bak-macpfade-20260720-190946`. JSON gegengeprĂŒft, 0 Mac-Pfade ĂŒbrig.
2. Sicher, weil `settings.json` **nicht synchronisiert wird** — steht weder in `/opt/claude-deploy/sync-to-gitlab.sh` noch im Forgejo-Repo `barby/claude-config`. Der Mac-Master liegt separat unter `/srv/barby-shared/memory/infra/mac-host/claude/settings.json` und bleibt unberĂŒhrt.
3. **SicherheitslĂŒcke geschlossen:** Unter den toten EintrĂ€gen war `prompt-injection-defender` — ein PostToolUse-Hook gegen Prompt-Injection, fĂŒr den `settings.local.json` **kein GegenstĂŒck** hatte. Skript lokal vorhanden (`hooks-v2\prompt-injection-defender\post-tool-defender.py`). Getestet: harmlose Ausgabe → still; Injection-Versuch → erkennt „Instruction Override" und „DAN-Jailbreak" und warnt korrekt; 581 ms; lĂ€uft mit `python -s`, also fĂŒr jeden Benutzer. In `settings.local.json` als PostToolUse eingetragen (Sicherung `settings.local.json.bak-defender-20260720-191103`).
**Merksatz fĂŒr die Doku:** `bash` löst in PowerShell nach `C:\WINDOWS\system32\bash.exe` (WSL ohne Distribution) auf, Claude Code nutzt aber Cygwin/Git-Bash. Wer Hook-Kosten in PowerShell misst, misst das Falsche.
**Offen fĂŒr BĂ€r (Entscheidung, keine Reparatur):** 11 der ausgetragenen Hooks gab es nur auf dem Mac (u.a. `sessionstart-hub-live.sh`, `discipline-hub-redirect.sh`, `persona-pulse.sh`, `obsidian-session-sync.sh`). Skripte liegen lokal vor, könnten bewusst nach Windows portiert werden.
## 🔑 QUICK-REF
- VM302/gpu1/pm1/Virginia root: `ymALqp!?` · **KASM `matthias` / `ymALqp1!?`** (mit 1! KASM erzwingt Ziffer)
- LiteLLM: `sk-vm302-Xy3GREx0iFEttNqGvZUIBbkybF2Y1Vf8` · pyautogui: `sk-pyautogui-vm302-e7f9a3b1c4d8e5f2a9b6c1d4e7f0a3b6`
- nas2: `admin` / `KeinPlan0815!` (ping braucht sudo)
- Details: `~/.claude/projects/D--claude/memory/credentials.md`
## 📊 UPDATE-LOG
**2026-07-20 v7** — Konsolidiert. Netzwerk-Block abgeschlossen: SicherheitslĂŒcke geschlossen · Tailscale direkt · RSC-Tuning (−7 ms) · fail2ban · gw gekĂŒndigt+aufgerĂ€umt · Virginia bleibt (Storagebox-Cache) · Routing endgĂŒltig geklĂ€rt. Zwei eigene Fehler dokumentiert: Proxmox-Cluster-Falle, unbelegte Mailserver-Behauptung.
**2026-07-20 v7.1 (~18:00)** — Moonlight/Apollo durchgearbeitet und **auf BĂ€r-Wunsch abgebrochen**. Kopplung gelöst (Ursache: hĂ€ngender Zustand, nicht falscher PIN), Bild unbrauchbar (Apollo greift QEMU-VGA mit 1 Hz ab, kein NVENC, Mausversatz). Apollo-Konfiguration zurĂŒckgesetzt. Verbindungs-Wahrheit belegt: **BĂ€r lĂ€uft roh ĂŒber Starlink, nicht ĂŒber Tailscale.**
### ⚠ EIGENE FEHLER 2026-07-20 (Teil 2) — Muster: Endpunkt nicht geprĂŒft
1. **Falsche Installation gelesen** — stundenlang `C:\Program Files\Sunshine\config\` ausgewertet, wĂ€hrend **Apollo** lief. Alle SchlĂŒsse daraus (u. a. „0 gekoppelte GerĂ€te") waren wertlos. → **Erst prĂŒfen welcher Prozess die Ports besitzt, dann dessen Konfiguration lesen.**
2. **„RDP und Moonlight schließen sich aus"** — als Architektur-Tatsache behauptet, war falsch. BĂ€r widersprach aus Erfahrung und hatte recht. Parallelbetrieb ist ĂŒber ein separates virtuelles Display vorgesehen.
3. **„Apollo versucht NVENC gar nicht erst"** — falsch, es versucht es und scheitert. Ich hatte das Log zu eng gefiltert und die Zeilen nicht gesehen.
4. **Leerlaufwert als Dauerzustand verkauft** — der Encoder-Test beim Dienststart sagt nichts ĂŒber den Streaming-Betrieb.
5. **Fremde Verbindung als BĂ€rs gemessen** — drei offene 3389-Verbindungen, die erstbeste gemessen (144 ms / 0,18 ms Jitter) und als „deine Verbindung" prĂ€sentiert. Sie gehörte zu keiner Anmeldung. → **Immer erst Sitzung↔IP zuordnen (Anmeldeprotokoll), dann messen.**
6. **ZeitĂŒberschreitungen als Messwerte** — TCP-Test lieferte 8× ~2013 ms = mein Zeitlimit, kein Ergebnis.
**Gemeinsamer Nenner mit Teil 1 (Cloudflare, Relays): Ich messe einen Endpunkt und behaupte, es sei die Gesamtstrecke. BĂ€r hat es jedes Mal gerochen.**
**NĂ€chster Schritt (RMBG/A1 erledigt): Lip-Sync-Fix (Crop→LipSync→Composite) ODER A2 Turnaround-Erzeugung (Posen-Skelette + IPAdapter-Konsistenz) — beide offen, siehe „IN ARBEIT" bzw. A2.**
**2026-07-20 v7.2 (~19:10)** — Hook-Befund vom Master ergĂ€nzt: 27 tote Mac-Hook-EintrĂ€ge in `settings.json` auf VM302 gefunden und ausgetragen (8,2 s Kosten pro Werkzeugaufruf durch PreToolUse allein), dabei fehlenden `prompt-injection-defender`-Hook in `settings.local.json` nachgetragen und getestet. Offen fĂŒr BĂ€r: 11 Mac-only-Hooks ggf. bewusst nach Windows portieren.
## 📝 KONSOLIDIERUNG (Dokumentar-Agent, 2026-07-20)
Redundanz zwischen „IN ARBEIT: RMBG-Freistellen" und „A1 ERLEDIGT" aufgelöst (A1 ist die aktuelle Wahrheit, IN-ARBEIT-Zeile durchgestrichen/verwiesen). Veraltete „NĂ€chster Schritt"-Zeile am Dateiende (verwies noch auf die bereits erledigte RMBG-Demo) auf die tatsĂ€chlich offenen Punkte korrigiert. Hook-Befund des Masters (19:10) als eigener Block unter Multi-Agenten-Hook ergĂ€nzt. Struktur und alle Inhalte sonst unverĂ€ndert — nichts inhaltlich gestrichen, nur Status synchronisiert. Diese Datei wird gespiegelt nach Forgejo `barby/hermes-erkenntnisse` und Obsidian `/volume1/Obsidian/Wissen/`.