diff --git a/deploy/opencode-config/ARBEITSANWEISUNG.md b/deploy/opencode-config/ARBEITSANWEISUNG.md new file mode 100644 index 0000000..12f2995 --- /dev/null +++ b/deploy/opencode-config/ARBEITSANWEISUNG.md @@ -0,0 +1,10 @@ +# Arbeitsanweisung (gilt fuer jeden Auftrag) + +Arbeite Datei fuer Datei. Lies HOECHSTENS zwei Dateien, bevor du die erste aenderst. +Kein Gesamtplan, keine Vollinventur. Eine halbfertige Aenderung ist wertvoller als +eine vollstaendige Analyse ohne Aenderung. + +- Nach jeder geaenderten Datei: kurz sagen, was geaendert wurde, dann zur naechsten. +- Nicht erst das ganze Projekt kartieren. Nicht auf Vollstaendigkeit warten. +- Wenn du unsicher bist, aendere die wahrscheinlichste Datei und pruefe danach. +- Schreiben schlaegt Lesen. diff --git a/deploy/opencode-config/README.md b/deploy/opencode-config/README.md new file mode 100644 index 0000000..484aca6 --- /dev/null +++ b/deploy/opencode-config/README.md @@ -0,0 +1,51 @@ +# OpenCode-Konfiguration des PCs + +**Hier liegt die Quelle. `%USERPROFILE%\.config\opencode\` ist die Kopie.** + +Am 21.08.2026 habe ich die dortige `opencode.json` ueberschrieben, ohne sie +vorher zu lesen — sie existierte nur an dieser einen Stelle, ohne Sicherung und +ohne Historie. Rekonstruiert aus einer Juli-Sicherung. Damit das nicht nochmal +passiert, liegt sie jetzt hier. + +```powershell +Copy-Item "deploy\opencode-config\*" "$env:USERPROFILE\.config\opencode\" -Force +``` + +## Modellwahl (Stand 22.08.2026) + +| Rolle | Modell | warum | +|---|---|---| +| **build** | `aibox/coder` — Qwen3.8-27B (dicht) | macht die eigentliche Arbeit | +| **plan** | `aibox/heavy` — gpt-oss-120b | denkt vor, aendert nichts | +| **explore** | `aibox/hermes` — Qwen3.6-35B-A3B | liest und sucht, immer warm | +| `small_model` | `aibox/hermes` | Titel, Zusammenfassungen | + +★★ **Korrektur einer falschen Empfehlung.** Bis zum 22.08. stand hier `fast` +(Qwen3.6-35B-A3B, MoE) als Standard, mit der Begruendung, es schlage den `coder` +„in Tempo und Qualitaet". **Das Tempo war gemessen, die Qualitaet nie** — in der +Notiz vom 20.08. steht fuer den Coder woertlich „keine agentische Messung". + +Die veroeffentlichten Zahlen sagen etwas anderes: + +| | `fast` (3.6-35B-A3B) | `coder` (3.8-27B) | +|---|---|---| +| SWE-bench Verified | ~73,4 | 73,4 | +| Terminal-Bench 2.1 | — | **73,0** | +| DeepSWE 1.1 | — | **42,2** (Vorgaenger 3.6-27B: 13,3) | +| OSWorld-Verified | — | **84,3** | + +**Einzelschuss gleichauf, agentisch ueber viele Schritte zieht der Coder davon** — +und genau das ist der Betrieb hier. Alle Zahlen stammen von Qwen selbst, teils +aus eigenen Benchmark-Fassungen; sie sind ein Indiz, kein Beweis. + +**Der Preis, gemessen:** dieselbe Leseaufgabe brauchte mit `fast` **24,3 s**, +mit `coder` **89,3 s** — 3,7× laenger in der Wanduhr. Der Coder ist dicht und +bandbreitenlimitiert (17 GB / 215 GB/s ≈ 12,6 t/s, Hardware-Grenze, kein +Konfigfehler). Er hat ausserdem `ttl=5400`, faellt also nach 90 Minuten aus dem +Speicher und muss neu laden. + +**Was noch aussteht:** der echte Vergleich an einer echten Aufgabe. +`F:\Coding Stuff\mc2-referenz` liegt genau dafuer bereit — 17 Dateien, davon 5 +erledigt, mit objektivem Pruefbefehl `docs/aufgaben/referenz-check.sh`. +Erst dieser Lauf entscheidet die Frage; bis dahin ist die Modellwahl begruendet, +aber nicht bewiesen. diff --git a/deploy/opencode-config/opencode.json b/deploy/opencode-config/opencode.json new file mode 100644 index 0000000..aa59410 --- /dev/null +++ b/deploy/opencode-config/opencode.json @@ -0,0 +1,96 @@ +{ + "$schema": "https://opencode.ai/config.json", + "provider": { + "aibox": { + "npm": "@ai-sdk/openai-compatible", + "name": "AI-Box (ueber MC2 :9001)", + "options": { + "baseURL": "http://192.168.178.151:9001/v1", + "apiKey": "local" + }, + "models": { + "fast": { + "name": "fast - Qwen3.6-35B-A3B (MoE) - schnell, fuer Erkunden und Kleinkram", + "tool_call": true, + "limit": { + "context": 131072, + "output": 16384 + } + }, + "heavy": { + "name": "heavy - Planen / Review", + "tool_call": true, + "limit": { + "context": 32768, + "output": 8192 + } + }, + "hermes": { + "name": "hermes - Erkunden (immer warm)", + "tool_call": true, + "limit": { + "context": 65536, + "output": 8192 + } + }, + "coder": { + "name": "coder - Qwen3.8-27B (dicht) - Standard fuers Bauen, agentisch am staerksten", + "tool_call": true, + "limit": { + "context": 131072, + "output": 16384 + } + } + } + } + }, + "model": "aibox/coder", + "small_model": "aibox/hermes", + "instructions": [ + "C:/Users/TobisPC/.config/opencode/ARBEITSANWEISUNG.md" + ], + "autoupdate": false, + "agent": { + "plan": { + "model": "aibox/heavy", + "permission": { + "edit": "deny", + "bash": "deny" + } + }, + "build": { + "model": "aibox/coder", + "permission": { + "edit": "allow", + "webfetch": "allow", + "bash": { + "*": "allow", + "ssh *": "deny", + "scp *": "deny", + "sftp *": "deny", + "ssh arcane@192.168.178.162 *": "allow", + "ssh -o StrictHostKeyChecking=no arcane@192.168.178.162 *": "allow", + "scp *arcane@192.168.178.162*": "allow" + } + } + }, + "explore": { + "mode": "subagent", + "description": "Codebase schnell durchsuchen, Dateien finden, Fragen zum Code beantworten - nur lesen, laeuft auf dem immer warmen Hirn", + "model": "aibox/hermes", + "permission": { + "edit": "deny", + "bash": "deny" + } + }, + "review": { + "mode": "subagent", + "description": "Kritischer Code-Review nach jeder Etappe (Pflicht laut AGENTS.md): sucht erfundene APIs/CLI-Flags, stille Abweichungen vom KONZEPT, fehlende Tests, toten Code - meldet Befunde, aendert nichts", + "model": "aibox/heavy", + "permission": { + "edit": "deny", + "bash": "deny" + } + } + } +}