{ inputs, lib, ... }: { coding.agents.opencode = { enable = true; agentsInput = inputs.agents; }; coding.opencode = { enable = true; ohMyOpencodeSettings = { agents = { sisyphus.model = "litellm/claude-opus-4-6"; oracle.model = "litellm/claude-sonnet-4-6"; librarian.model = "litellm/claude-sonnet-4-6"; explore.model = "litellm/claude-haiku-4-5"; multimodal-looker.model = "litellm/gpt-5.3-codex"; prometheus.model = "litellm/claude-opus-4-6"; metis.model = "litellm/claude-opus-4-6"; momus.model = "litellm/claude-opus-4-6"; atlas.model = "litellm/claude-sonnet-4-6"; }; categories = { visual-engineering.model = "zai-coding-plan/glm-5.1"; ultrabrain.model = "litellm/claude-opus-4-6"; deep.model = "litellm/claude-sonnet-4-6"; artistry.model = "zai-coding-plan/glm-5.1"; quick.model = "litellm/claude-haiku-4-5"; unspecified-low.model = "litellm/claude-sonnet-4-6"; unspecified-high.model = "litellm/claude-opus-4-6"; writing.model = "zai-coding-plan/glm-5.1"; }; }; }; # Keep TUI settings in programs.opencode.tui to satisfy OpenCode v1.2.15+. programs.opencode.tui.theme = "opencode"; # Override legacy default settings to avoid deprecated TUI keys in settings. programs.opencode.settings = lib.mkForce { plugin = ["oh-my-openagent"]; formatter = { alejandra = { command = ["alejandra" "-q" "-"]; extensions = [".nix"]; }; }; # AZ-Gruppe LiteLLM endpoint + available models provider = { litellm = { npm = "@ai-sdk/openai-compatible"; name = "LiteLLM (AZ-Gruppe)"; options.baseURL = "https://llm.az-gruppe.com/v1"; models = { "gpt-5.2" = { name = "GPT-5.2"; limit = { context = 400000; output = 128000; }; }; "gpt-5.3-codex" = { name = "GPT-5.3 Codex"; limit = { context = 400000; output = 128000; }; }; "claude-haiku-4-5" = { name = "Claude Haiku 4.5"; options = { thinking = { type = "enabled"; budget_tokens = 16000; }; }; limit = { context = 200000; output = 64000; }; }; "claude-sonnet-4-6" = { name = "Claude Sonnet 4.6"; options = { thinking = { type = "enabled"; budget_tokens = 16000; }; }; limit = { context = 200000; output = 64000; }; }; "claude-opus-4-6" = { name = "Claude Opus 4.6"; options = { thinking = { type = "enabled"; budget_tokens = 16000; }; }; limit = { context = 200000; output = 128000; }; }; }; }; }; }; }