Fix: preserve Protocol in ModelConfig expansion and correct ConfigMap defaults

This commit is contained in:
stevef 2026-04-20 11:05:18 +02:00
parent 80b0abcd25
commit 0b732ac883
2 changed files with 69 additions and 52 deletions

View file

@ -22,15 +22,12 @@ data:
"/home/picoclaw/.picoclaw", "/home/picoclaw/.picoclaw",
"/tmp" "/tmp"
], ],
"provider": "openai", "provider": "nvidia",
"model_name": "google-gemma-2-9b-it:free", "model_name": "nvidia-nemotron-70b",
"model_fallbacks": [ "model_fallbacks": [
"google-gemma-2-9b-it:free", "meta-llama-llama-3.3-70b-instruct:free",
"qwen-qwen-2.5-72b-instruct:free", "qwen-qwen3-coder:free",
"nvidia-nemotron-4-340b-instruct:free", "openrouter-elephant-alpha"
"mistralai-pixtral-12b:free",
"openrouter-elephant-alpha",
"google-gemma-4-26b-a4b-it:free"
], ],
"max_tokens": 32768, "max_tokens": 32768,
"max_tool_iterations": 50, "max_tool_iterations": 50,
@ -502,33 +499,54 @@ data:
"request_timeout": 45 "request_timeout": 45
}, },
{ {
"model_name": "google-gemma-4-26b-a4b-it:free", "model_name": "nvidia-nemotron-70b",
"model": "google/gemma-4-26b-a4b-it:free", "model": "nvidia/llama-3.1-nemotron-70b-instruct",
"protocol": "openrouter", "protocol": "nvidia",
"enabled": true, "api_base": "https://integrate.api.nvidia.com/v1",
"api_keys": [
"env://OPENROUTER_API_KEY"
],
"request_timeout": 45
},
{
"model_name": "google-gemma-4-31b-it:free",
"model": "google/gemma-4-31b-it:free",
"protocol": "openrouter",
"enabled": true,
"api_keys": [
"env://OPENROUTER_API_KEY"
],
"request_timeout": 45
},
{
"model_name": "nvidia-nemotron-3-super-120b-a12b:free",
"model": "nvidia/nemotron-3-super-120b-a12b:free",
"protocol": "openrouter",
"enabled": true, "enabled": true,
"api_keys": [ "api_keys": [
"env://NVIDIA_API_KEY" "env://NVIDIA_API_KEY"
], ],
"request_timeout": 60
},
{
"model_name": "google-gemma-3-27b-it:free",
"model": "google/gemma-3-27b-it:free",
"protocol": "openrouter",
"enabled": true,
"api_keys": [
"env://OPENROUTER_API_KEY"
],
"request_timeout": 45
},
{
"model_name": "google-gemma-3-12b-it:free",
"model": "google/gemma-3-12b-it:free",
"protocol": "openrouter",
"enabled": true,
"api_keys": [
"env://OPENROUTER_API_KEY"
],
"request_timeout": 45
},
{
"model_name": "qwen-qwen3-coder:free",
"model": "qwen/qwen3-coder:free",
"protocol": "openrouter",
"enabled": true,
"api_keys": [
"env://OPENROUTER_API_KEY"
],
"request_timeout": 45
},
{
"model_name": "meta-llama-llama-3.3-70b-instruct:free",
"model": "meta-llama/llama-3.3-70b-instruct:free",
"protocol": "openrouter",
"enabled": true,
"api_keys": [
"env://OPENROUTER_API_KEY"
],
"request_timeout": 45 "request_timeout": 45
}, },
{ {
@ -541,13 +559,28 @@ data:
], ],
"request_timeout": 45 "request_timeout": 45
}, },
{
"model_name": "azure-gpt5",
"model": "azure/my-gpt5-deployment",
"api_base": "https://your-resource.openai.azure.com"
},
{
"model_name": "nvidia-nemotron-3-super-120b-a12b:free",
"model": "nvidia/nemotron-3-super-120b-a12b:free",
"protocol": "openrouter",
"enabled": true,
"api_keys": [
"env://OPENROUTER_API_KEY"
],
"request_timeout": 45
},
{ {
"model_name": "nvidia-nemotron-nano-9b-v2:free", "model_name": "nvidia-nemotron-nano-9b-v2:free",
"model": "nvidia/nemotron-nano-9b-v2:free", "model": "nvidia/nemotron-nano-9b-v2:free",
"protocol": "openrouter", "protocol": "openrouter",
"enabled": true, "enabled": true,
"api_keys": [ "api_keys": [
"env://NVIDIA_API_KEY" "env://OPENROUTER_API_KEY"
], ],
"request_timeout": 45 "request_timeout": 45
}, },
@ -581,26 +614,6 @@ data:
], ],
"request_timeout": 45 "request_timeout": 45
}, },
{
"model_name": "google-lyria-3-pro-preview",
"model": "google/lyria-3-pro-preview",
"protocol": "openrouter",
"enabled": true,
"api_keys": [
"env://OPENROUTER_API_KEY"
],
"request_timeout": 45
},
{
"model_name": "google-lyria-3-clip-preview",
"model": "google/lyria-3-clip-preview",
"protocol": "openrouter",
"enabled": true,
"api_keys": [
"env://OPENROUTER_API_KEY"
],
"request_timeout": 45
},
{ {
"model_name": "nvidia-nemotron-3-nano-30b-a3b:free", "model_name": "nvidia-nemotron-3-nano-30b-a3b:free",
"model": "nvidia/nemotron-3-nano-30b-a3b:free", "model": "nvidia/nemotron-3-nano-30b-a3b:free",

View file

@ -1413,6 +1413,7 @@ func expandMultiKeyModels(models []*ModelConfig) []*ModelConfig {
additionalEntry := &ModelConfig{ additionalEntry := &ModelConfig{
ModelName: expandedName, ModelName: expandedName,
Model: m.Model, Model: m.Model,
Protocol: m.Protocol,
APIBase: m.APIBase, APIBase: m.APIBase,
APIKeys: SimpleSecureStrings(keys[i]), APIKeys: SimpleSecureStrings(keys[i]),
Proxy: m.Proxy, Proxy: m.Proxy,
@ -1426,6 +1427,7 @@ func expandMultiKeyModels(models []*ModelConfig) []*ModelConfig {
ExtraBody: m.ExtraBody, ExtraBody: m.ExtraBody,
CustomHeaders: m.CustomHeaders, CustomHeaders: m.CustomHeaders,
UserAgent: m.UserAgent, UserAgent: m.UserAgent,
Enabled: m.Enabled,
isVirtual: true, isVirtual: true,
} }
expanded = append(expanded, additionalEntry) expanded = append(expanded, additionalEntry)
@ -1436,6 +1438,7 @@ func expandMultiKeyModels(models []*ModelConfig) []*ModelConfig {
primaryEntry := &ModelConfig{ primaryEntry := &ModelConfig{
ModelName: originalName, ModelName: originalName,
Model: m.Model, Model: m.Model,
Protocol: m.Protocol,
APIBase: m.APIBase, APIBase: m.APIBase,
Proxy: m.Proxy, Proxy: m.Proxy,
AuthMethod: m.AuthMethod, AuthMethod: m.AuthMethod,
@ -1449,6 +1452,7 @@ func expandMultiKeyModels(models []*ModelConfig) []*ModelConfig {
CustomHeaders: m.CustomHeaders, CustomHeaders: m.CustomHeaders,
UserAgent: m.UserAgent, UserAgent: m.UserAgent,
APIKeys: SimpleSecureStrings(keys[0]), APIKeys: SimpleSecureStrings(keys[0]),
Enabled: m.Enabled,
} }
// Prepend new fallbacks to existing ones // Prepend new fallbacks to existing ones