feat: litellm provider for opncode
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
{ inputs, ... }: {
|
{inputs, ...}: {
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"opencode/commands" = {
|
"opencode/commands" = {
|
||||||
source = "${inputs.agents}/commands";
|
source = "${inputs.agents}/commands";
|
||||||
@@ -26,13 +26,14 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
theme = "opencode";
|
theme = "opencode";
|
||||||
plugin = [ "oh-my-opencode" "opencode-antigravity-auth@beta" ];
|
plugin = ["oh-my-opencode" "opencode-antigravity-auth@beta"];
|
||||||
agent = builtins.fromJSON
|
agent =
|
||||||
|
builtins.fromJSON
|
||||||
(builtins.readFile "${inputs.agents}/agents/agents.json");
|
(builtins.readFile "${inputs.agents}/agents/agents.json");
|
||||||
formatter = {
|
formatter = {
|
||||||
alejandra = {
|
alejandra = {
|
||||||
command = [ "alejandra" "-q" "-" ];
|
command = ["alejandra" "-q" "-"];
|
||||||
extensions = [ ".nix" ];
|
extensions = [".nix"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
mcp = {
|
mcp = {
|
||||||
@@ -87,123 +88,42 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
provider = {
|
provider = {
|
||||||
google = {
|
litellm = {
|
||||||
|
npm = "@ai-sdk/openai-compatible";
|
||||||
|
name = "LiteLLM (AZ-Gruppe)";
|
||||||
|
options.baseURL = "https://llm.az-gruppe.com/v1";
|
||||||
models = {
|
models = {
|
||||||
antigravity-gemini-3-pro = {
|
"gpt-5.2" = {
|
||||||
name = "Gemini 3 Pro (Antigravity)";
|
name = "GPT-5.2";
|
||||||
limit = {
|
|
||||||
context = 1048576;
|
|
||||||
output = 65535;
|
|
||||||
};
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" "pdf" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
variants = {
|
|
||||||
low = { thinkingLevel = "low"; };
|
|
||||||
high = { thinkingLevel = "high"; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
antigravity-gemini-3-flash = {
|
|
||||||
name = "Gemini 3 Flash (Antigravity)";
|
|
||||||
limit = {
|
|
||||||
context = 1048576;
|
|
||||||
output = 65536;
|
|
||||||
};
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" "pdf" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
variants = {
|
|
||||||
minimal = { thinkingLevel = "minimal"; };
|
|
||||||
low = { thinkingLevel = "low"; };
|
|
||||||
medium = { thinkingLevel = "medium"; };
|
|
||||||
high = { thinkingLevel = "high"; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
antigravity-claude-sonnet-4-5 = {
|
|
||||||
name = "Claude Sonnet 4.5 (Antigravity)";
|
|
||||||
limit = {
|
limit = {
|
||||||
context = 200000;
|
context = 200000;
|
||||||
output = 64000;
|
output = 16384;
|
||||||
};
|
};
|
||||||
modalities = {
|
modalities = {
|
||||||
input = [ "text" "image" "pdf" ];
|
input = ["text" "image"];
|
||||||
output = [ "text" ];
|
output = ["text"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
antigravity-claude-sonnet-4-5-thinking = {
|
"claude-sonnet-4-6" = {
|
||||||
name = "Claude Sonnet 4.5 Thinking (Antigravity)";
|
name = "Claude Sonnet 4.6";
|
||||||
limit = {
|
limit = {
|
||||||
context = 200000;
|
context = 200000;
|
||||||
output = 64000;
|
output = 16000;
|
||||||
};
|
};
|
||||||
modalities = {
|
modalities = {
|
||||||
input = [ "text" "image" "pdf" ];
|
input = ["text" "image"];
|
||||||
output = [ "text" ];
|
output = ["text"];
|
||||||
};
|
|
||||||
variants = {
|
|
||||||
low = { thinkingConfig = { thinkingBudget = 8192; }; };
|
|
||||||
max = { thinkingConfig = { thinkingBudget = 32768; }; };
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
antigravity-claude-opus-4-6-thinking = {
|
"claude-opus-4-6" = {
|
||||||
name = "Claude Opus 4.6 Thinking (Antigravity)";
|
name = "Claude Opus 4.6";
|
||||||
limit = {
|
limit = {
|
||||||
context = 200000;
|
context = 200000;
|
||||||
output = 64000;
|
output = 32000;
|
||||||
};
|
};
|
||||||
modalities = {
|
modalities = {
|
||||||
input = [ "text" "image" "pdf" ];
|
input = ["text" "image"];
|
||||||
output = [ "text" ];
|
output = ["text"];
|
||||||
};
|
|
||||||
variants = {
|
|
||||||
low = { thinkingConfig = { thinkingBudget = 8192; }; };
|
|
||||||
max = { thinkingConfig = { thinkingBudget = 32768; }; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"gemini-2.5-flash" = {
|
|
||||||
name = "Gemini 2.5 Flash (Gemini CLI)";
|
|
||||||
limit = {
|
|
||||||
context = 1048576;
|
|
||||||
output = 65536;
|
|
||||||
};
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" "pdf" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"gemini-2.5-pro" = {
|
|
||||||
name = "Gemini 2.5 Pro (Gemini CLI)";
|
|
||||||
limit = {
|
|
||||||
context = 1048576;
|
|
||||||
output = 65536;
|
|
||||||
};
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" "pdf" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"gemini-3-flash-preview" = {
|
|
||||||
name = "Gemini 3 Flash Preview (Gemini CLI)";
|
|
||||||
limit = {
|
|
||||||
context = 1048576;
|
|
||||||
output = 65536;
|
|
||||||
};
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" "pdf" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"gemini-3-pro-preview" = {
|
|
||||||
name = "Gemini 3 Pro Preview (Gemini CLI)";
|
|
||||||
limit = {
|
|
||||||
context = 1048576;
|
|
||||||
output = 65535;
|
|
||||||
};
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" "pdf" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -213,31 +133,30 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home.file.".config/opencode/oh-my-opencode.json".text = builtins.toJSON {
|
home.file.".config/opencode/oh-my-opencode.json".text = builtins.toJSON {
|
||||||
"$schema" =
|
"$schema" = "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json";
|
||||||
"https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json";
|
|
||||||
# google_auth removed - use opencode-antigravity-auth plugin instead (already in plugin array)
|
# google_auth removed - use opencode-antigravity-auth plugin instead (already in plugin array)
|
||||||
agents = {
|
agents = {
|
||||||
sisyphus = { model = "zai-coding-plan/glm-5"; };
|
sisyphus = {model = "zai-coding-plan/glm-5";};
|
||||||
oracle = { model = "zai-coding-plan/glm-5"; };
|
oracle = {model = "zai-coding-plan/glm-5";};
|
||||||
librarian = { model = "zai-coding-plan/glm-5"; };
|
librarian = {model = "zai-coding-plan/glm-5";};
|
||||||
explore = { model = "zai-coding-plan/glm-4.5-air"; };
|
explore = {model = "zai-coding-plan/glm-4.5-air";};
|
||||||
multimodal-looker = { model = "zai-coding-plan/glm-4.6v"; };
|
multimodal-looker = {model = "zai-coding-plan/glm-4.6v";};
|
||||||
prometheus = { model = "zai-coding-plan/glm-5"; };
|
prometheus = {model = "zai-coding-plan/glm-5";};
|
||||||
metis = { model = "zai-coding-plan/glm-5"; };
|
metis = {model = "zai-coding-plan/glm-5";};
|
||||||
momus = { model = "zai-coding-plan/glm-5"; };
|
momus = {model = "zai-coding-plan/glm-5";};
|
||||||
atlas = { model = "zai-coding-plan/glm-5"; };
|
atlas = {model = "zai-coding-plan/glm-5";};
|
||||||
};
|
};
|
||||||
categories = {
|
categories = {
|
||||||
visual-engineering = { model = "zai-coding-plan/glm-5"; };
|
visual-engineering = {model = "zai-coding-plan/glm-5";};
|
||||||
ultrabrain = { model = "zai-coding-plan/glm-5"; };
|
ultrabrain = {model = "zai-coding-plan/glm-5";};
|
||||||
artistry = { model = "zai-coding-plan/glm-5"; };
|
artistry = {model = "zai-coding-plan/glm-5";};
|
||||||
quick = { model = "zai-coding-plan/glm-5"; };
|
quick = {model = "zai-coding-plan/glm-5";};
|
||||||
unspecified-low = { model = "zai-coding-plan/glm-5"; };
|
unspecified-low = {model = "zai-coding-plan/glm-5";};
|
||||||
unspecified-high = { model = "zai-coding-plan/glm-5"; };
|
unspecified-high = {model = "zai-coding-plan/glm-5";};
|
||||||
writing = { model = "zai-coding-plan/glm-5"; };
|
writing = {model = "zai-coding-plan/glm-5";};
|
||||||
};
|
};
|
||||||
disabled_mcps = [ "context7" "websearch" ];
|
disabled_mcps = ["context7" "websearch"];
|
||||||
disabled_hooks = [ "comment-checker" ];
|
disabled_hooks = ["comment-checker"];
|
||||||
git_master = {
|
git_master = {
|
||||||
commit_footer = false;
|
commit_footer = false;
|
||||||
include_co_authored_by = false;
|
include_co_authored_by = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user