fix: correct OpenRouter model slugs from live catalog verification

- google/gemini-3.1-pro -> google/gemini-3.1-pro-preview (not GA yet)
- google/gemini-3-flash -> google/gemini-3-flash-preview (not GA yet)
- x-ai/grok-4-20 -> x-ai/grok-4.20 (dot not dash in slug)
- Fix stale label: 'Gemini 2.5 Pro (via Nous)' -> 'Gemini 3.1 Pro Preview (via Nous)'
This commit is contained in:
Hermes Agent
2026-04-15 23:00:29 +00:00
parent f5c4e110a4
commit 9d4c075e2b

View File

@@ -415,8 +415,8 @@ _FALLBACK_MODELS = [
{"provider": "Anthropic", "id": "anthropic/claude-sonnet-4-5", "label": "Claude Sonnet 4.5"}, {"provider": "Anthropic", "id": "anthropic/claude-sonnet-4-5", "label": "Claude Sonnet 4.5"},
{"provider": "Anthropic", "id": "anthropic/claude-haiku-4-5", "label": "Claude Haiku 4.5"}, {"provider": "Anthropic", "id": "anthropic/claude-haiku-4-5", "label": "Claude Haiku 4.5"},
# Google # Google
{"provider": "Google", "id": "google/gemini-3.1-pro", "label": "Gemini 3.1 Pro"}, {"provider": "Google", "id": "google/gemini-3.1-pro-preview", "label": "Gemini 3.1 Pro Preview"},
{"provider": "Google", "id": "google/gemini-3-flash", "label": "Gemini 3 Flash"}, {"provider": "Google", "id": "google/gemini-3-flash-preview", "label": "Gemini 3 Flash Preview"},
# DeepSeek # DeepSeek
{"provider": "DeepSeek", "id": "deepseek/deepseek-chat-v3-0324", "label": "DeepSeek V3"}, {"provider": "DeepSeek", "id": "deepseek/deepseek-chat-v3-0324", "label": "DeepSeek V3"},
{"provider": "DeepSeek", "id": "deepseek/deepseek-r1", "label": "DeepSeek R1"}, {"provider": "DeepSeek", "id": "deepseek/deepseek-r1", "label": "DeepSeek R1"},
@@ -424,7 +424,7 @@ _FALLBACK_MODELS = [
{"provider": "Qwen", "id": "qwen/qwen3-coder", "label": "Qwen3 Coder"}, {"provider": "Qwen", "id": "qwen/qwen3-coder", "label": "Qwen3 Coder"},
{"provider": "Qwen", "id": "qwen/qwen3.6-plus", "label": "Qwen3.6 Plus"}, {"provider": "Qwen", "id": "qwen/qwen3.6-plus", "label": "Qwen3.6 Plus"},
# xAI # xAI
{"provider": "xAI", "id": "x-ai/grok-4-20", "label": "Grok 4.20"}, {"provider": "xAI", "id": "x-ai/grok-4.20", "label": "Grok 4.20"},
# Mistral # Mistral
{"provider": "Mistral", "id": "mistralai/mistral-large-latest", "label": "Mistral Large"}, {"provider": "Mistral", "id": "mistralai/mistral-large-latest", "label": "Mistral Large"},
] ]
@@ -476,8 +476,8 @@ _PROVIDER_MODELS = {
{"id": "codex-mini-latest", "label": "Codex Mini (latest)"}, {"id": "codex-mini-latest", "label": "Codex Mini (latest)"},
], ],
"google": [ "google": [
{"id": "gemini-3.1-pro", "label": "Gemini 3.1 Pro"}, {"id": "gemini-3.1-pro-preview", "label": "Gemini 3.1 Pro Preview"},
{"id": "gemini-3-flash", "label": "Gemini 3 Flash"}, {"id": "gemini-3-flash-preview", "label": "Gemini 3 Flash Preview"},
], ],
"deepseek": [ "deepseek": [
{"id": "deepseek-chat-v3-0324", "label": "DeepSeek V3"}, {"id": "deepseek-chat-v3-0324", "label": "DeepSeek V3"},
@@ -487,7 +487,7 @@ _PROVIDER_MODELS = {
{"id": "claude-opus-4.6", "label": "Claude Opus 4.6 (via Nous)"}, {"id": "claude-opus-4.6", "label": "Claude Opus 4.6 (via Nous)"},
{"id": "claude-sonnet-4.6", "label": "Claude Sonnet 4.6 (via Nous)"}, {"id": "claude-sonnet-4.6", "label": "Claude Sonnet 4.6 (via Nous)"},
{"id": "gpt-5.4-mini", "label": "GPT-5.4 Mini (via Nous)"}, {"id": "gpt-5.4-mini", "label": "GPT-5.4 Mini (via Nous)"},
{"id": "gemini-3.1-pro", "label": "Gemini 2.5 Pro (via Nous)"}, {"id": "gemini-3.1-pro-preview", "label": "Gemini 3.1 Pro Preview (via Nous)"},
], ],
"zai": [ "zai": [
{"id": "glm-5.1", "label": "GLM-5.1"}, {"id": "glm-5.1", "label": "GLM-5.1"},
@@ -517,7 +517,7 @@ _PROVIDER_MODELS = {
{"id": "gpt-4o", "label": "GPT-4o"}, {"id": "gpt-4o", "label": "GPT-4o"},
{"id": "claude-opus-4.6", "label": "Claude Opus 4.6"}, {"id": "claude-opus-4.6", "label": "Claude Opus 4.6"},
{"id": "claude-sonnet-4.6", "label": "Claude Sonnet 4.6"}, {"id": "claude-sonnet-4.6", "label": "Claude Sonnet 4.6"},
{"id": "gemini-3.1-pro", "label": "Gemini 3.1 Pro"}, {"id": "gemini-3.1-pro-preview", "label": "Gemini 3.1 Pro Preview"},
], ],
# OpenCode Zen — curated models via opencode.ai/zen (pay-as-you-go credits) # OpenCode Zen — curated models via opencode.ai/zen (pay-as-you-go credits)
"opencode-zen": [ "opencode-zen": [
@@ -544,8 +544,8 @@ _PROVIDER_MODELS = {
{"id": "claude-sonnet-4", "label": "Claude Sonnet 4"}, {"id": "claude-sonnet-4", "label": "Claude Sonnet 4"},
{"id": "claude-haiku-4-5", "label": "Claude Haiku 4.5"}, {"id": "claude-haiku-4-5", "label": "Claude Haiku 4.5"},
{"id": "claude-3-5-haiku", "label": "Claude 3.5 Haiku"}, {"id": "claude-3-5-haiku", "label": "Claude 3.5 Haiku"},
{"id": "gemini-3.1-pro", "label": "Gemini 3.1 Pro"}, {"id": "gemini-3.1-pro-preview", "label": "Gemini 3.1 Pro Preview"},
{"id": "gemini-3-flash", "label": "Gemini 3 Flash"}, {"id": "gemini-3-flash-preview", "label": "Gemini 3 Flash Preview"},
{"id": "glm-5.1", "label": "GLM-5.1"}, {"id": "glm-5.1", "label": "GLM-5.1"},
{"id": "glm-5", "label": "GLM-5"}, {"id": "glm-5", "label": "GLM-5"},
{"id": "kimi-k2.5", "label": "Kimi K2.5"}, {"id": "kimi-k2.5", "label": "Kimi K2.5"},
@@ -566,8 +566,8 @@ _PROVIDER_MODELS = {
], ],
# 'gemini' is the hermes_cli provider ID for Google AI Studio # 'gemini' is the hermes_cli provider ID for Google AI Studio
"gemini": [ "gemini": [
{"id": "gemini-3.1-pro", "label": "Gemini 3.1 Pro"}, {"id": "gemini-3.1-pro-preview", "label": "Gemini 3.1 Pro Preview"},
{"id": "gemini-3-flash", "label": "Gemini 3 Flash"}, {"id": "gemini-3-flash-preview", "label": "Gemini 3 Flash Preview"},
], ],
# Mistral — prefix used in OpenRouter model IDs (mistralai/mistral-large-latest) # Mistral — prefix used in OpenRouter model IDs (mistralai/mistral-large-latest)
"mistralai": [ "mistralai": [
@@ -581,7 +581,7 @@ _PROVIDER_MODELS = {
], ],
# xAI — prefix used in OpenRouter model IDs (x-ai/grok-4-20) # xAI — prefix used in OpenRouter model IDs (x-ai/grok-4-20)
"x-ai": [ "x-ai": [
{"id": "grok-4-20", "label": "Grok 4.20"}, {"id": "grok-4.20", "label": "Grok 4.20"},
], ],
} }