diff --git a/docs/aufgaben/umbau-openchamber.md b/docs/aufgaben/umbau-openchamber.md index 466234b..261f78c 100644 --- a/docs/aufgaben/umbau-openchamber.md +++ b/docs/aufgaben/umbau-openchamber.md @@ -129,3 +129,82 @@ Stand: 5 von 17 Dateien erledigt (Hermes-Lauf A2, abgebrochen durch SSH-Fehl Damit lässt sich direkt vergleichen: **Wie lange braucht OpenChamber + `fast` für dieselben 17 Dateien?** Hermes + dichter Coder brauchte hochgerechnet ~80 Minuten; die Rechnung für `fast` sagt ~30. + +--- + +## Stand nach dem Aufbau (21.08.2026) + +**Beide Bahnen stehen. Der Aufbau ist erledigt, der Referenzlauf steht aus.** + +### Box (`192.168.178.151`) + +| Sache | Wert | +|---|---| +| OpenCode | **1.18.20**, `~/.opencode/bin/opencode` (eigenständiges Binary, kein Node nötig) | +| Dienst | `opencode-server.service` (systemd **user**, `enable`d, Linger=yes → reboot-fest) | +| Lauscht | `0.0.0.0:4096`, Arbeitsverzeichnis `~/projekte` | +| ufw | Regel 5: `4096/tcp ALLOW IN 192.168.178.0/24` | +| Provider | `box` → `http://127.0.0.1:9010/v1` (MC2-Gateway), `apiKey: local` | +| Modelle | `box/fast` (Standard) · `box/heavy` · `box/hermes` (small_model) · `box/coder` (nur Vergleich) | +| Autoupdate | `false` in `opencode.json` | + +Konfiguration: `~/.config/opencode/opencode.json`. +**Nur Rollen-Aliase**, keine Modell-Eigennamen — die Konsolidierung wirft Eigennamen sonst raus (Regel vom 20.08.). + +### Arbeitsanweisung — global verdrahtet + +Liegt als `~/.config/opencode/ARBEITSANWEISUNG.md` und ist über `instructions` in +`opencode.json` in **jeder** Sitzung aktiv, nicht nur in Projekten mit `AGENTS.md`. +Gegengeprüft: „Wie viele Dateien höchstens?" → `2`. `~` wird von OpenCode expandiert. + +### PC + +| Sache | Wert | +|---|---| +| OpenChamber | **v1.19.0** (18.08.), `%LOCALAPPDATA%\Programs\@openchamberelectron` | +| Signatur | `NotSigned` — erwartet, kein Alarm | +| `OPENCODE_HOST` | `http://192.168.178.151:4096` (User-Env, mit Port, ohne Pfad) | +| `OPENCODE_SKIP_START` | `true` (User-Env) | + +**Verifiziert:** OpenChamber hält 8 offene TCP-Verbindungen zur Box auf `:4096`, +startet **keinen** eigenen OpenCode (kein lokaler Prozess, kein lokaler Port). +Damit ist genau der Punkt genommen, an dem Hermes Desktop gescheitert ist. + +**Auto-Update:** kein Riegel nötig. Im Bundle steht `autoUpdater.autoDownload = false` und +`autoInstallOnAppQuit = false` — OpenChamber lädt nie von selbst, es meldet nur und wartet +auf einen Klick. Die Version ist damit faktisch gepinnt. + +### ‼️ Offene Sicherheitsentscheidung — bewusst so gewählt + +Der Server läuft **ohne Anmeldung** im LAN. Beim Start meldet er selbst: + +``` +Warning: OPENCODE_SERVER_PASSWORD is not set; server is unsecured. +``` + +Praktisch heißt das: jedes Gerät im `192.168.178.0/24` kann über die API beliebige +Befehle als `hitonabi` auf der Box ausführen — dieselbe Klasse Loch wie das passwortlose +Dashboard auf `:9119`, das am 20.08. zugemacht wurde. + +★★ **Ein Riegel wäre da und kostet nichts:** OpenChamber schickt HTTP-Basic-Auth mit, wenn +`OPENCODE_SERVER_PASSWORD` gesetzt ist (Benutzer aus `OPENCODE_SERVER_USERNAME`, +Standard `opencode`). Server-Variable in der systemd-Unit, gleiche Variable als User-Env +auf dem PC — **kein Tunnel, keine Umstellung, der Port bleibt offen im LAN.** + +Der User hat am 21.08. **bewusst dagegen entschieden** („so lassen"). Nicht neu aufrollen, +aber hier notiert, damit es kein stiller Defekt bleibt. + +### Nächster Schritt: der Referenzlauf + +Alles steht bereit, nichts wurde am Prüfstand angefasst: + +``` +Worktree: ~/projekte/mc2-referenz (Zweig referenz/mem0-ausbau) +Stand: 5 von 17 Dateien erledigt, referenz-check.sh sagt ROT +Prüfung: bash docs/aufgaben/referenz-check.sh +``` + +Die Arbeitsanweisung wirkt dort über die **globale** Instruktion — `AGENTS.md` im Worktree +wurde absichtlich **nicht** angefasst, damit der Vergleich zu Lauf A/A2 sauber bleibt. +Zu messen: **Wie lange braucht OpenChamber + `fast` für dieselben 17 Dateien?** +Hermes + dichter `coder` brauchte hochgerechnet ~80 Minuten; die Rechnung für `fast` sagt ~30.