{ "$schema": "https://opencode.ai/config.json", "provider": { "aibox": { "npm": "@ai-sdk/openai-compatible", "name": "AI-Box ueber Governor (lokal)", "options": { "baseURL": "http://127.0.0.1:8100/v1", "apiKey": "local" }, "models": { "coder": { "name": "coder — Bauen + Planen (Qwen3-Coder-Next, 51,5 t/s)", "limit": { "context": 131072, "output": 16384 } }, "hermes": { "name": "hermes — Suchen (Qwen3.6-35B, immer warm, 69,6 t/s)", "limit": { "context": 65536, "output": 8192 } }, "kritiker": { "name": "kritiker — Gegenlesen (Devstral-2, Mistral, 15,0 t/s)", "limit": { "context": 65536, "output": 8192 } }, "heavy": { "name": "heavy — Nacht-Gutachter (gpt-oss-120b, verdraengt das warme Set!)", "limit": { "context": 32768, "output": 8192 } } } } }, "model": "aibox/coder", "small_model": "aibox/hermes", "agent": { "plan": { "model": "aibox/coder", "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. Laeuft bewusst auf einer FREMDEN Modellfamilie (Mistral/Devstral statt Qwen), damit er andere blinde Flecken hat als der Coder.", "model": "aibox/kritiker", "permission": { "edit": "deny", "bash": "deny" } } } }