6.9 KiB
ÜBERGABE: Drei-Welten-Umbau (19.07.2026) — letzter Claude-Stand
Warning
UPDATE (August 2026): Der hier beschriebene "Zed + OpenCode CLI"-Workflow wurde durch das "Zero Middle-Layers"-Prinzip ersetzt. Coding passiert jetzt zu 100% in der OpenCode Desktop Agentic IDE via MCP. Die technischen Entscheidungen zur Box und zu Gitea bleiben jedoch gültig. Dieses Dokument ist die finale Übergabe der externen Claude-Sessions an die Box. Alles Wichtige aus dem Umbau vom 19.07. steht HIER (nicht nur im Claude-Gedächtnis, das mit dem Abo-Ende unlesbar wird). Bei Widerspruch zu älteren Dokumenten gilt dieses.
Die Architektur: Drei Welten, eine Brücke
| Welt | Rolle | Darf | Darf NICHT |
|---|---|---|---|
| AI-Box | Rechenzentrum: llama-swap, MC2 :9001, Gateway :9010, Gitea, Backups | bedient beide Welten | — |
| Lucy = Autonome Box | Chat/Stimme, mem0, Crons, Kanban-Fangnetz, Betrieb-Bahn | als EINZIGE Infra anfassen (SSH, Deploys, LXCs) | — |
| Agentic IDE (PC) | Vibe Coding: Zed (einziges Fenster) + OpenCode-CLI als unsichtbarer ACP-Motor | Code bauen in F:\Coding Stuff, Modelle via :9001/v1 | SSH/Infra (deny), mem0 (hat keins), Direkt-Push main |
Brücke: Gitea-Repos + Kanban-Karten. Deploy-Wünsche der IDE = geheimnisfreie
Playbook-Karte an betrieb. Beweis 19.07.: Homepage-Deploy auf LXC 106 in 92 s
(Karte t_36117427) — nach Nächten voller Schleifen davor.
Was am 19.07. gebaut wurde (MC2-Commits 903f3bc, a1d7a4b, 6b03a2c)
- No-Progress-Bremse (
deploy/agent-hooks/no-progress-bremse.py, pre+post_tool_call, registriert in Haupt-config + betrieb + werkstatt): 3× gleiches Ergebnismuster (Zahlen/Hex wegnormalisiert, KEINE hartkodierten Strings) → mechanischer Block mit Diagnose-Anweisung, Folgeversuch frei. terminal wird IMMER beobachtet (Fehler tarnen sich dort als Erfolg), andere Tools nur bei status=error. State:~/.hermes/state/no-progress/. Neue Fehlermuster landen inneue-signaturen.jsonl— Traum/Radar sollen daraus Playbook-Ergänzungen verdichten. - Schärfere native Guardrails:
max_turns200→40,hard_stop same_tool_failure8→4. - Betrieb-Playbook-Skill (
betrieb-playbook, in allen Profilen): Triage-Regel (Denken/Bauen/Betrieb) + SSH-Diagnose-Checkliste (Passphrase-Falle ZUERST:ssh-keygen -y -f <key> </dev/null) + Deploy-Checkliste. Triage-Zeile auch im Steckbrief-Hook. - mem0 entlastet: Lern-Extraktion gebündelt (4 Turns / 180 s idle = EIN Lauf statt
pro Turn — konkurrierte mit Lucys Hirn-Slots). Monatliche Konsolidierung
(
mem0-konsolidierung, 3. um 06:40): legt Ähnliches zusammen, Widersprüche → neuester gewinnt; Leitplanken hart im Code. Erster Lauf: 459→420 Fakten. - Gedächtnis-Bereiche statt zweitem mem0: neue Fakten tragen
bereich: alltag|projekt;GET /memory?bereich=filtert (Alt-Fakten laufen immer mit). Einmal-Crongedaechtnis-check(16.08. 09:10) prüft Schutt und legt bei Bedarf SELBST die Werkstatt-Karte an — Bauauftrag komplett in GEDAECHTNIS-BEREICHE.md. - Sicherheit: Gitea-Registrierung AUS (app.ini
[service]in CT 104 — Achtung:deploy/gitea_app.ini.examplesetzt den Key fälschlich in[security], Gitea ignoriert das stumm!). ~157 GB Müll von der Box (u. a. 103 GB HF-Cache), Hermes Desktop komplett vom PC (Persona-Backup:F:\Coding Stuff\BAK\hermes-desktop-backup-2026-07-19).
Verdikte 19.07. (nicht neu aufrollen)
- KEIN zweites mem0. Coding-Gedächtnis = Repo (AGENTS.md, Code, Git, Karten).
- EINE IDE-Umgebung = Zed. OpenCode-Desktop wurde bewusst wieder entfernt. Cline/Roo nur als Challenger nach Referenz-Messung (große Prompts = teuer auf Box-Physik). Antigravity RAUS (keine lokalen Modelle). Hermes Desktop RAUS (zweite regellose Welt).
- Phasen statt Modell-Ping-Pong: heavy (60 G) + coder (20 G) passen nicht gleichzeitig neben das warme Hirn; jeder Wechsel ~90–150 s. Erst planen (heavy), dann bauen (coder); Erkundung über @explore (hermes, immer warm, gratis).
- Zeit = Schleifen × Kontext. Token sind Kosten. Kleiner Kontext + erster Versuch sitzt schlägt jedes stärkere Modell.
IDE-Welt: Pfade & Nutzung (PC)
- OpenCode-Config:
C:\Users\TobisPC\.config\opencode\opencode.json(Provideraibox→http://192.168.178.151:9001/v1; Agenten:plan=heavy READ-ONLY,build=coder mitssh*: deny+git push: ask,explore=hermes Subagent). - Zed-Config:
%APPDATA%\Zed\settings.json(agent_servers.OpenCode→ voller Pfad zuopencode.exe acpunter%LOCALAPPDATA%\Microsoft\WinGet\Packages\SST.opencode_*; alterbosgame-Provider für Inline-Features bleibt). - Nutzung: Zed öffnen → Projekt → Agent-Panel → „OpenCode"-Thread. Planen im
plan-Agent, dann build. Jedes Projekt = Gitea-Repo +
AGENTS.md(Vorlage: homelab-radar-Repo, Branchdashboard/stand-2026-07-19).
Offene Fäden (Stand 19.07. abends)
- ‼️ sshd:
50-cloud-init.confüberstimmt50-no-password.conf(sortiert früher, erster Wert gewinnt). Fix (sudo): Datei zu00-no-password.confumbenennen + ssh restart; Beweis:sudo sshd -T | grep -i ^passwordauthentication→no. - Zed-Erststart ungetestet: Installation+Config verifiziert, aber der allererste
OpenCode-Thread in Zeds UI wurde nie geklickt. Falls er hakt:
opencodeläuft auch solo im Terminal des Projekts (gleiche Config). - Referenz-Messung IDE nach erster echter Nutzung: gleiche Aufgabe, Schleifen/ Wandzeit/Tokens notieren → endgültiges Werkzeug-Verdikt (vs. Zed-nativ, vs. Cline).
- heavy + OpenCode: einmalig „peg-native format"-Fehler (llama.cpp-Tool-Parser, transient, Retry half). Häuft es sich → Engine-Update über MC2 probieren.
- gedaechtnis-check feuert 16.08. — Ergebnis beachten (Telegram).
Abnahme bestanden (19.07. 14:55, Karte t_4dd12efb)
Der betrieb-Worker hat das komplette System in 168 s selbst auditiert: 6/6 technische
Blöcke PASS (Dienste, Modelle+Hirn 0,29 s, mem0-Roundtrip+Bereichs-Filter, Crons 14/14
gesund, Timer/Ressourcen) und die Drei-Welten-Regel korrekt wiedergegeben. Höhepunkt:
Die No-Progress-Bremse hat sich live am Worker selbst bewiesen — er wich vom
Ein-Aufruf-Muster ab, produzierte identische Ergebnisse, wurde mechanisch geblockt und
hat statt zu schleifen diagnostiziert, aufgeräumt und ehrlich berichtet. Zusammen mit dem
92-s-Deploy (t_36117427) ist die Kern-These des Umbaus doppelt belegt.
Merkposten: Karten-Texte mit $(…)/Variablen NIE per unquotiertem Heredoc einspielen
(Shell expandiert sie — Karte t_36ff1dab musste deshalb verworfen werden); Datei + scp
oder quotiertes Heredoc benutzen.
Historie (für Menschen, nicht für Worker)
Claude-Artifacts (nur solange Abo läuft): Stack-Audit
claude.ai/code/artifact/c510cf49-… · Finaler Plan claude.ai/code/artifact/5a9ee13e-….
Die Essenz beider steht in DIESEM Dokument; nichts davon ist für den Betrieb nötig.