{ "$schema": "https://opencode.ai/config.json", "provider": { "aibox": { "npm": "@ai-sdk/openai-compatible", "name": "AI-Box ueber Governor (192.168.178.151:8100)", "options": { "baseURL": "http://192.168.178.151:8100/v1", "apiKey": "local" }, "models": { "heavy": { "name": "heavy — Planer (gpt-oss-120b, 32k)", "limit": { "context": 32768, "output": 8192 } }, "coder": { "name": "coder — Bauen (Qwen3-Coder-Next, 131k)", "limit": { "context": 131072, "output": 16384 } }, "hermes": { "name": "hermes — Erkunden (Qwen3.6, immer warm, 69,6 t/s)", "limit": { "context": 65536, "output": 8192 } }, "kritiker": { "name": "kritiker — Gegenlesen (Devstral-2, Mistral, 16k gedeckelt)", "limit": { "context": 16384, "output": 4096 } } } } }, "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, läuft 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, ändert nichts. Läuft 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" } } } }