feat(models): swap Gemini catalog entries to 3.1 Pro + 3.6 Flash; drop retired Qwen models

- openrouter + nous curated lists: replace google/gemini-3-pro-preview with
  google/gemini-3.1-pro-preview as the sole Pro entry, and
  google/gemini-3.5-flash with google/gemini-3.6-flash
- remove qwen/qwen3.7-plus and qwen/qwen3.6-35b-a3b from both lists
- regenerate website/static/api/model-catalog.json
- test fixture: swap qwen3.7-plus catalog-label fixture to qwen3.7-max
  (must be a model present in the nous curated list)

Both new Gemini ids verified live on OpenRouter /api/v1/models and the
Nous portal /v1/models (1,048,576 ctx — covered by the existing 'gemini'
prefix in DEFAULT_CONTEXT_LENGTHS).
This commit is contained in:
Teknium 2026-07-28 09:40:51 -07:00
parent c7dd9e5670
commit fbc878ee2e
3 changed files with 9 additions and 36 deletions

View file

@ -58,9 +58,8 @@ OPENROUTER_MODELS: list[tuple[str, str]] = [
("openai/gpt-5.5-pro", ""),
("openai/gpt-5.4-mini", ""),
# Google
("google/gemini-3-pro-preview", ""),
("google/gemini-3.1-pro-preview", ""),
("google/gemini-3.5-flash", ""),
("google/gemini-3.6-flash", ""),
# xAI
("x-ai/grok-4.5", ""),
# DeepSeek
@ -68,8 +67,6 @@ OPENROUTER_MODELS: list[tuple[str, str]] = [
("deepseek/deepseek-v4-flash", ""),
# Qwen
("qwen/qwen3.7-max", ""),
("qwen/qwen3.7-plus", ""),
("qwen/qwen3.6-35b-a3b", ""),
# MoonshotAI
("moonshotai/kimi-k3", "recommended"),
# MiniMax
@ -209,9 +206,8 @@ _PROVIDER_MODELS: dict[str, list[str]] = {
"openai/gpt-5.5-pro",
"openai/gpt-5.4-mini",
# Google
"google/gemini-3-pro-preview",
"google/gemini-3.1-pro-preview",
"google/gemini-3.5-flash",
"google/gemini-3.6-flash",
# xAI
"x-ai/grok-4.5",
# DeepSeek
@ -219,8 +215,6 @@ _PROVIDER_MODELS: dict[str, list[str]] = {
"deepseek/deepseek-v4-flash",
# Qwen
"qwen/qwen3.7-max",
"qwen/qwen3.7-plus",
"qwen/qwen3.6-35b-a3b",
# MoonshotAI
"moonshotai/kimi-k3",
# MiniMax

View file

@ -74,16 +74,16 @@ class TestGetDefaultModelForProvider:
with patch(
"hermes_cli.model_catalog.get_default_model_from_cache",
return_value="qwen/qwen3.7-plus",
return_value="qwen/qwen3.7-max",
):
assert (
models_mod.get_preferred_silent_default_model("nous")
== "qwen/qwen3.7-plus"
== "qwen/qwen3.7-max"
)
# nous catalog carries qwen3.7-plus, so the full resolver follows.
# nous catalog carries qwen3.7-max, so the full resolver follows.
assert (
models_mod.get_default_model_for_provider("nous")
== "qwen/qwen3.7-plus"
== "qwen/qwen3.7-max"
)
def test_no_catalog_cache_falls_back_to_constant(self):

View file

@ -1,6 +1,6 @@
{
"version": 1,
"updated_at": "2026-07-24T19:06:06Z",
"updated_at": "2026-07-28T16:38:40Z",
"metadata": {
"source": "hermes-agent repo",
"docs": "https://hermes-agent.nousresearch.com/docs/reference/model-catalog"
@ -76,16 +76,12 @@
"id": "openai/gpt-5.4-mini",
"description": ""
},
{
"id": "google/gemini-3-pro-preview",
"description": ""
},
{
"id": "google/gemini-3.1-pro-preview",
"description": ""
},
{
"id": "google/gemini-3.5-flash",
"id": "google/gemini-3.6-flash",
"description": ""
},
{
@ -104,14 +100,6 @@
"id": "qwen/qwen3.7-max",
"description": ""
},
{
"id": "qwen/qwen3.7-plus",
"description": ""
},
{
"id": "qwen/qwen3.6-35b-a3b",
"description": ""
},
{
"id": "moonshotai/kimi-k3",
"description": "recommended"
@ -227,14 +215,11 @@
{
"id": "openai/gpt-5.4-mini"
},
{
"id": "google/gemini-3-pro-preview"
},
{
"id": "google/gemini-3.1-pro-preview"
},
{
"id": "google/gemini-3.5-flash"
"id": "google/gemini-3.6-flash"
},
{
"id": "x-ai/grok-4.5"
@ -248,12 +233,6 @@
{
"id": "qwen/qwen3.7-max"
},
{
"id": "qwen/qwen3.7-plus"
},
{
"id": "qwen/qwen3.6-35b-a3b"
},
{
"id": "moonshotai/kimi-k3"
},