Doku 2026-07-20: Nachtplan-Snapshot (v7, konsolidiert) + Projekt-Ueberblick fuer fremde Claude-Code-Clients
This commit is contained in:
parent
99926aaf69
commit
4bb7b1b925
76
PROJEKT-UEBERBLICK.md
Normal file
76
PROJEKT-UEBERBLICK.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# 🎯 Barby KI Studio — Projekt-Überblick
|
||||
|
||||
*Für fremde Claude-Code-Clients: in 5 Minuten verstehen, was das hier ist. Stand 2026-07-20, gespiegelt aus `nachtplan.md` (Desktop, Bärs Windows-Client).*
|
||||
|
||||
## Was ist das Barby KI Studio?
|
||||
|
||||
Eine komplette lokale Kreativ-Suite für KI-generierte Bild-/Video-/Audio-Inhalte, Ziel: so nah an Google Veo wie möglich, komplett steuerbar über das Web-Portal **cp.go-ki.eu**.
|
||||
|
||||
**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" bedienbar.
|
||||
|
||||
Der Studio-Charakter tritt nach außen **immer als „Christina Fischer"** auf (nie als „Barbie"/„Barby" — das ist nur der interne Name für die Assistenz-Persona, wenn Bär und Assistenz unter sich reden).
|
||||
|
||||
## Wer/Was arbeitet daran
|
||||
|
||||
- **Bär** (Matthias) — menschlicher Firewall, Legal-Owner, trifft alle Tool-/Use-Case-Entscheidungen.
|
||||
- **Mehrere Claude-Code-Agenten parallel** (Multi-Agent-Pflicht, per Hook erzwungen): Asset-Stack, Textmodelle/GPU-Management, Portal, Netzwerk/Infra, und dieser **Dokumentar-Agent** (dokumentiert nur, baut/repariert/generiert nichts selbst).
|
||||
|
||||
## Maschinen
|
||||
|
||||
| Maschine | Adresse | Rolle |
|
||||
|---|---|---|
|
||||
| **VM302** (rdp-go-ki-eu) | 173.208.162.43 · Tailscale 100.104.5.57 · LAN 10.10.10.102 | A40-GPU-Workstation, 200 GB/32 Cores. Läuft: Studio-GUI :8502, ComfyUI :8188, LiteLLM :4000, Ollama :11434, pyautogui-Fernsteuerung :3336 |
|
||||
| **gpu1** | 173.208.162.26 · TS 100.108.247.79 | Proxmox-Host, ZFS-Dataset mit Modellen, per Samba als `R:` (`\\10.10.10.1\vm302-modelle`) auf VM302 gemountet. Storagebox-Mount |
|
||||
| **pm1** | 176.9.23.27 · TS 100.71.32.93 | Proxmox, im selben Cluster wie gpu1 (`consoro-cluster`, Quorum 2) — **`/etc/pve` ist clusterweit geteilt**, vor Firewall-Änderungen immer `pvecm status` prüfen |
|
||||
| **Virginia** | 159.195.19.76 · TS 100.123.216.107 | DERP-US + KASM (`kasm.consoro.eu`, RDP-Gateway) + 300 GB Storagebox-Cache (liefert Hetzner-DE-Storage in 36 ms statt 111+ ms an Kansas City) |
|
||||
| **Mailserver / DERP-DE** | 27.123.245.70 | DERP-Relay Deutschland |
|
||||
| **Portal (VM201)** | TS 100.114.24.89:9090 | **cp.go-ki.eu** — FastAPI-SPA, `/opt/gpu1-status/app.py`, dahinter npm-Reverse-Proxy |
|
||||
| **nas2** (Bär zuhause) | TS 100.111.0.111 | Synology, hält u.a. Obsidian-Vault `/volume1/Obsidian/Wissen/`. DS-Lite/CGNAT → Jitter nicht fixbar |
|
||||
| **Hub** | 100.87.20.94 | Zentraler Orchestrierungs-/MCP-Knoten, von dem aus SSH/Doku-Verteilung läuft |
|
||||
|
||||
Wichtig: VM302 selbst hat **keine großen Modelle lokal auf `M:`** (das ist eine lokale 599-GB-Platte) — die Modelle liegen auf gpu1 und kommen über `R:` (Samba) sowie `Z:\ki-modelle-backup\comfyui-models\` (Storagebox) rein.
|
||||
|
||||
## Dienste auf VM302 (Kernstück des Studios)
|
||||
|
||||
- **ComfyUI** :8188 — Bild-/Video-Pipeline (text2img, Undress, Masken/Inpaint, Wan2.2-Video, RMBG-Freistellen)
|
||||
- **Studio-GUI** :8502 — eigenes Web-Frontend, `/health` prüfbar
|
||||
- **LiteLLM** :4000, **Ollama** :11434 — Text-/Chat-Modelle (aktuell nur 3 kleine Modelle geladen, Ausbau auf Coding-/Uncensored-/Groß-Modelle offen)
|
||||
- **pyautogui** :3336 — Fernsteuerung/Screenshot-Automatisierung für Verifikation
|
||||
|
||||
Alle Dienste, die im Benutzerkontext laufen sollen, müssen als Windows-Benutzer **`mcp`** laufen (nicht SYSTEM, nicht ad-hoc unter `matthias`) — Bär-Regel vom 2026-07-20, damit sie Neustarts überleben und `matthias` sie trotzdem nutzen kann (API + Dateizugriff).
|
||||
|
||||
## Regeln (bindend, siehe `nachtplan.md` für Volltext)
|
||||
|
||||
1. Jedes Ergebnis **dreifach**: inline im Chat + `B:\` (Bild/Video/Audio-Ablage, goldene Regel) + Matrix-Raum „Barby Studio Ergebnisse".
|
||||
2. Nichts als „fertig" markieren ohne **getesteten Beweis** (Video ansehen, `ls -la`, `git log`, Health-Check).
|
||||
3. Keine Talking-Heads, immer Ganzkörper, keine Anomalien, echte Bewegung.
|
||||
4. Deutsche Stimme akzentfrei ohne Dialekt, Lip-Sync synchron, konsistente Charaktere.
|
||||
5. Christina-Fischer-Regel (s.o.) in allen Voice-Scripts/Overlays.
|
||||
6. Lokal-first, günstigstes Modell das reicht, max. 3 Tasks parallel.
|
||||
7. Klare Fixes selbst umsetzen statt als Blocker zu melden — nur echte Blocker (Bär-Credentials, irreversible Aktionen) melden.
|
||||
8. Modelle nie über VM302 kopieren (gpu1 bleibt Quelle), kein Reboot ohne Bär-OK.
|
||||
9. Vor jedem Proxmox-Firewall-Eingriff `pvecm status` (Cluster-Falle).
|
||||
10. Dokumentation nach jedem Meilenstein: Forgejo + Obsidian + docs.consoro.it, Nachtplan alle 30 Minuten aktualisieren.
|
||||
|
||||
## Wo steht was (Doku-Landkarte)
|
||||
|
||||
| Was | Wo |
|
||||
|---|---|
|
||||
| Zentrale Live-Planung, Tagesstand | `C:\Users\matthias\Desktop\nachtplan.md` (Bärs Windows-Client, dieser Überblick wird daraus gespiegelt) |
|
||||
| Erkenntnisse/Archiv | Forgejo `git.consoro.eu/barby/hermes-erkenntnisse` |
|
||||
| Claude-Config, Skills, Hooks | Forgejo `git.consoro.eu/barby/claude-config` |
|
||||
| Langfrist-Wissen, Vault | Obsidian `/volume1/Obsidian/Wissen/` auf nas2 |
|
||||
| Zusätzliche Doku | docs.consoro.it |
|
||||
| Ergebnis-Abwurf (Bilder/Videos/Audio) | `B:\` auf VM302 (bilder/videos/audio/characters/screenshots/archive) |
|
||||
| Fertige Ergebnisse an Bär | Matrix-Raum `!wRgSkVkLNpGzehtWie:matrix.koerners.org`, Poster-Skript `B:\barby\Post-ToMatrix.ps1` |
|
||||
| Skills (tailscale-admin, berlin-time, doku-verteilen, comfyui-vm302, gpu1-zugang, ...) | verteilt via `/opt/claude-deploy/sync-to-gitlab.sh` → Forgejo `barby/claude-config` |
|
||||
|
||||
## Aktueller Grobstand (siehe nachtplan.md für Details/Beweise)
|
||||
|
||||
- **Erledigt & verifiziert:** Charakter-Konsistenz (IPAdapter), text2img, Undress-Pipeline, Masken/Inpaint-Stack, Wan2.2-Video, deutsche Stimme (edge-tts), Studio-GUI, RMBG-Freistellen (Alpha-PNG, A1), Netzwerk-/Sicherheits-Härtung (Firewall, Tailscale direkt, RSC-Tuning, fail2ban).
|
||||
- **In Arbeit:** Lip-Sync bei Ganzkörper-Videos (Crop→LipSync→Composite-Ansatz), Portal-Integration des Studio-Tabs, Turnaround-Asset-Erzeugung (A2, ControlNet-OpenPose-Unterbau steht).
|
||||
- **Größtes offenes Kern-Deliverable:** Portal `cp.go-ki.eu` — „Veo3-einfach"-Bedienung (ein Prompt-Feld, Anhänge, One-Click), Whitelisting VM302, Tab-Anbindung Barby Studio/GPU-Stack/KI-Chat/Ton & Musik.
|
||||
- **Bekannte Fallen (aus eigenen Fehlern gelernt):** Bär läuft über Starlink, nicht über Tailscale (Anmeldeprotokoll prüfen, nicht raten). Immer erst prüfen, welcher Prozess einen Port besitzt, bevor dessen Config gelesen wird. Nie eine Einzel-Messung als Gesamtstrecke ausgeben.
|
||||
|
||||
---
|
||||
*Dieser Überblick wird vom Dokumentar-Agent gepflegt und gespiegelt (Forgejo + Obsidian). Quelle der Wahrheit für den Tagesstand bleibt `nachtplan.md` auf dem Desktop.*
|
||||
292
nachtplan-2026-07-20.md
Normal file
292
nachtplan-2026-07-20.md
Normal file
|
|
@ -0,0 +1,292 @@
|
|||
# 🌙 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.
|
||||
|
||||
## 🔑 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.**
|
||||
|
||||
## 📝 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. 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/`.
|
||||
Loading…
Reference in a new issue