From 828dbe13b706880e08a26c6486c22685627c9921 Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Mon, 20 Jul 2026 22:39:59 +0200 Subject: [PATCH] Infrastruktur: AI-Box vs Proxmox-Host klar trennen (Blindfleck) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die IDE-Planer kannten den Proxmox-Host gar nicht — der Worker laeuft AUF der AI-Box und nahm an, 'hier' sei auch das Ziel (User musste das muehsam erklaeren). Steckbrief + IDE-Auftrag nennen jetzt beide Maschinen explizit: AI-Box 192.168.178.151 = Werkbank (nie Deployment-Ziel), Proxmox 'pve' 192.168.178.108 = separates Ziel-System mit den LXCs (100 adguard, 101 npmplus, 102 netbird, 103 pve-scripts-local, 104 gitea/.153, 105 PBS), per 'ssh pve' erreichbar, pct. Live verifiziert (pct list, gitea-IP). Co-Authored-By: Claude Fable 5 --- backend/services/ideen.py | 17 ++++++++++++----- deploy/agent-hooks/box-steckbrief-inject.sh | 1 + 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/backend/services/ideen.py b/backend/services/ideen.py index 3aec910..42fb9fb 100644 --- a/backend/services/ideen.py +++ b/backend/services/ideen.py @@ -289,11 +289,18 @@ _AUFWAND = { # Infrastruktur des Commanders — ohne das plant jedes Modell nach Industrie-Default # (Docker/Cloud) statt für die reale Umgebung. -_INFRA = ("UMFELD des Commanders (Kontext — richte dich aber nach der gewaehlten ZIEL-PLATTFORM, " - "nicht nach dem Industrie-Default): Heimlabor mit Proxmox (pve) und LXC-Containern; ein " - "Proxmox Backup Server sichert die LXCs automatisch; Dienste laufen als systemd-Units, " - "moeglichst sudo-frei; Gitea ist self-hosted (CI-Pipelines moeglich). Alles laeuft lokal " - "im Heimnetz — KEINE Cloud, kein fremder Hoster, keine Bezahl-Dienste.") +_INFRA = ( + "UMFELD des Commanders — WICHTIG, WO WAS LAEUFT (nicht raten, das sind zwei Maschinen!):\n" + "· AI-Box 192.168.178.151: hier laeufst DU (Agent/Lucy/MC2/Modelle). Das ist nur die WERKBANK " + "— NICHT das Ziel-System. Projekt-Dienste werden hier NIEMALS installiert.\n" + "· Proxmox-Host 'pve' 192.168.178.108: DAS Ziel-System fuers Deployment, ein SEPARATER Rechner. " + "Dort leben die LXC-Container. Von der Box aus per 'ssh pve' erreichbar (root, Key), " + "Container-Steuerung mit 'pct'.\n" + "· Bestehende LXCs auf pve: 100 adguard · 101 npmplus (Reverse-Proxy) · 102 netbird · " + "103 pve-scripts-local · 104 gitea (192.168.178.153, self-hosted Git inkl. CI) · " + "105 proxmox-backup-server (sichert die LXCs automatisch).\n" + "· Alles laeuft lokal im Heimnetz — KEINE Cloud, kein fremder Hoster, keine Bezahl-Dienste.\n" + "Richte den Tech-Vorschlag an der gewaehlten ZIEL-PLATTFORM aus, nicht am Industrie-Default.") # Ziel-Plattform je Projekt (vom Commander gewaehlt) — ueberstimmt die Annahmen des Modells. _ZIEL = { diff --git a/deploy/agent-hooks/box-steckbrief-inject.sh b/deploy/agent-hooks/box-steckbrief-inject.sh index dc1b69c..8c1a9b5 100644 --- a/deploy/agent-hooks/box-steckbrief-inject.sh +++ b/deploy/agent-hooks/box-steckbrief-inject.sh @@ -33,6 +33,7 @@ TRIAGE (19.07. — Drei-Bahnen-Regel): Ordne deine Karte ZUERST einer Bahn zu un PROTOKOLL-PFLICHT (15.07.): Beende deine Aufgabe IMMER mit dem Tool-Aufruf kanban_complete (fertig) oder kanban_block (Frage/Sackgasse). Eine Text-Zusammenfassung OHNE diesen Aufruf zaehlt als Absturz (Protokollverstoss) und blockiert die Karte — genau so ging am 14.07. eine fertige Arbeit verloren. REPO-WEGWEISER mission-control-v2 (NICHT raten/suchen — so liegt es): backend/app.py = Einstieg + Router-Mounting · backend/routers/*.py = REST-Endpunkte · backend/services/*.py = Logik · backend/gateway_app.py = /v1-Gateway-Prozess (:9010) · frontend/src/views/*.tsx = Ansichten · frontend/src/lib/api.ts = Typen+Fetch · frontend/src/lib/queries.ts = TanStack-Query-Hooks (Polling) · frontend/src/nav.ts = Sidebar · deploy/ = Skripte/Units/Hooks/Skills · Projekt-Regeln: AGENTS.md (Wurzel) + docs/wissen/. FRONTEND-BAUEN (seit 15.07. abends): Node LTS liegt sudo-frei unter ~/.local (node/npm im Worker-PATH). Bei Frontend-Aenderungen baust DU das dist MIT: cd frontend && npm ci --no-audit --no-fund && npm run build — und committest frontend/dist im selben Branch (die Box zeigt sonst nach Annahme den alten Stand; Bau-Beweis 15.07.: kompletter Build in ~4 s). +WO WAS LAEUFT (20.07. — zwei getrennte Maschinen, NICHT verwechseln): Du laeufst auf der AI-Box (192.168.178.151) — das ist die WERKBANK (Agent/Lucy/MC2/Modelle), NICHT das Ziel-System fuer Projekt-Deployments. Der Proxmox-Host 'pve' (192.168.178.108) ist ein SEPARATER Rechner; dort leben die LXC-Container: 100 adguard · 101 npmplus (Reverse-Proxy) · 102 netbird · 103 pve-scripts-local · 104 gitea (192.168.178.153) · 105 proxmox-backup-server (sichert die LXCs). Von hier aus per 'ssh pve' erreichbar (root, Key), Container-Steuerung mit 'pct'. Soll etwas dauerhaft laufen, gehoert es in einen LXC auf pve — nicht auf die Box. REPO FEHLT? (20.07.): Soll dein Ergebnis in ein Gitea-Repo, das noch NICHT existiert (eigenes/neues Projekt), dann lege es SELBST an — NICHT den Commander fragen, NICHT git init: bash ~/.hermes/scripts/gitea-repo-create.sh "" (immer privat, letzte Ausgabezeile = CLONE ), dann voll klonen und darin arbeiten. NUR mission-control-v2 und das Lucy-Repo NIE neu anlegen/veraendern. KONTEXT-BUDGET & ETAPPEN-REGEL (15.07./20.07. — Worker starben an finish_reason=length UND an vollgelaufenem Kontext): Dein Kontext ist ENDLICH und fuellt sich vor allem durch GROSSE Datei- und Terminal-Ausgaben. Lies NIE eine grosse Datei am Stueck — nutze grep und Zeilenbereiche (read mit offset/limit); Datei-Reads sind auf 50k Zeichen gedeckelt, aber auch viele mittlere summieren sich. Lies gezielt ueber den Wegweiser statt ls-Ketten und Volltexte. Merkst du, dass die Aufgabe mehr als ~5 Dateien oder mehrere Baustellen umfasst: NICHT durchziehen — schneide Etappen (eine Etappe = ein Worker-Lauf): lege Teil-Karten an (kanban_create, falls verfuegbar) und schliesse deine Karte per kanban_complete mit dem Etappen-Plan ab; alternativ kanban_block mit dem Etappen-Vorschlag als Frage. EOF