feat(models): OpenRouter, Nous Portal, and Alibaba Token Plan pickers carry Qwen3.8-Max-0902
Alibaba shipped qwen3.8-max-0902 (alias qwen3.8-max-2026-09-02), the upgraded snapshot of Qwen3.8-Max: 1M context / 131K output, $2 in / $6 out. Both aggregators now serve it and dropped the bare slug from their catalogs (verified 2026-09-02: OpenRouter /v1/models + a 200 completion echoing the slug; Nous Portal /v1/models). - OPENROUTER_MODELS (feeds the nous list too): qwen/qwen3.8-max -> qwen/qwen3.8-max-0902 - _ALIBABA_TOKEN_PLAN_MODELS: qwen3.8-max-preview -> qwen3.8-max-0902 - test_empty_model_fallback fixture follows the nous catalog slug - model-catalog.json regenerated No new metadata: DEFAULT_CONTEXT_LENGTHS substring-matches qwen3.8-max (1M), reasoning floor prefix fires (180s), both aggregator routes bill via official_models_api. alibaba/alibaba-cn/opencode-go/setup.py left unchanged (out of scope).
This commit is contained in:
@@ -36,7 +36,7 @@ OPENROUTER_MODELS: list[tuple[str, str]] = [
|
||||
"openai/gpt-5.5", "openai/gpt-5.5-pro", "openai/gpt-5.4-mini", "google/gemini-3.1-pro-preview",
|
||||
"google/gemini-3.8-flash", "google/gemini-3.7-flash", "x-ai/grok-4.6", "deepseek/deepseek-v4-pro",
|
||||
"deepseek/deepseek-v4-pro-0813", "deepseek/deepseek-v4-flash", "deepseek/deepseek-v4-flash-0731",
|
||||
"qwen/qwen3.8-max", "qwen/qwen3.8-flash", "moonshotai/kimi-k3", "minimax/minimax-m3", "z-ai/glm-5.3",
|
||||
"qwen/qwen3.8-max-0902", "qwen/qwen3.8-flash", "moonshotai/kimi-k3", "minimax/minimax-m3", "z-ai/glm-5.3",
|
||||
"z-ai/glm-5.3-flash", "z-ai/glm-5.2", "xiaomi/mimo-v2.5-pro", "tencent/hy4-preview", "tencent/hy3",
|
||||
"stepfun/step-3.7-flash", "nvidia/nemotron-3-super-120b-a12b", "meta/muse-spark-1.2",
|
||||
"meta/muse-spark-1.2-contributor", "meta/muse-spark-1.3", "meta/muse-spark-1.3-contributor", "sakana/fugu-ultra",
|
||||
@@ -146,7 +146,7 @@ _ALIBABA_CODING_PLAN_MODELS = [
|
||||
]
|
||||
# Verified against a live Token Plan subscription (key tier ``sk-sp-...``).
|
||||
_ALIBABA_TOKEN_PLAN_MODELS = [
|
||||
"qwen3.8-max-preview", "qwen3.7-max", "qwen3.7-plus", "qwen3.6-plus", "qwen3.6-flash", "deepseek-v4-pro",
|
||||
"qwen3.8-max-0902", "qwen3.7-max", "qwen3.7-plus", "qwen3.6-plus", "qwen3.6-flash", "deepseek-v4-pro",
|
||||
"deepseek-v4-flash", "deepseek-v3.2", "kimi-k2.7-code", "kimi-k2.6", "kimi-k2.5", "glm-5.2", "glm-5.1", "glm-5",
|
||||
]
|
||||
_XAI_MODELS = _xai_curated_models()
|
||||
|
||||
@@ -27,16 +27,16 @@ class TestGetDefaultModelForProvider:
|
||||
|
||||
with patch(
|
||||
"hermes_cli.model_catalog.get_default_model_from_cache",
|
||||
return_value="qwen/qwen3.8-max",
|
||||
return_value="qwen/qwen3.8-max-0902",
|
||||
):
|
||||
assert (
|
||||
models_mod.get_preferred_silent_default_model("nous")
|
||||
== "qwen/qwen3.8-max"
|
||||
== "qwen/qwen3.8-max-0902"
|
||||
)
|
||||
# nous catalog carries qwen3.8-max, so the full resolver follows.
|
||||
# nous catalog carries qwen3.8-max-0902, so the full resolver follows.
|
||||
assert (
|
||||
models_mod.get_default_model_for_provider("nous")
|
||||
== "qwen/qwen3.8-max"
|
||||
== "qwen/qwen3.8-max-0902"
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 1,
|
||||
"updated_at": "2026-09-04T22:47:22Z",
|
||||
"updated_at": "2026-09-05T06:42:02Z",
|
||||
"metadata": {
|
||||
"source": "hermes-agent repo",
|
||||
"docs": "https://hermes-agent.nousresearch.com/docs/reference/model-catalog"
|
||||
@@ -137,7 +137,7 @@
|
||||
"description": "dated snapshot of v4-flash"
|
||||
},
|
||||
{
|
||||
"id": "qwen/qwen3.8-max",
|
||||
"id": "qwen/qwen3.8-max-0902",
|
||||
"description": ""
|
||||
},
|
||||
{
|
||||
@@ -341,7 +341,7 @@
|
||||
"id": "deepseek/deepseek-v4-flash-0731"
|
||||
},
|
||||
{
|
||||
"id": "qwen/qwen3.8-max"
|
||||
"id": "qwen/qwen3.8-max-0902"
|
||||
},
|
||||
{
|
||||
"id": "qwen/qwen3.8-flash"
|
||||
|
||||
Reference in New Issue
Block a user