diff --git a/hermes_cli/models.py b/hermes_cli/models.py index 2e011ef924..e589174910 100644 --- a/hermes_cli/models.py +++ b/hermes_cli/models.py @@ -46,6 +46,7 @@ OPENROUTER_MODELS: list[tuple[str, str]] = [ ("xiaomi/mimo-v2.5-pro", ""), ("xiaomi/mimo-v2.5", ""), ("tencent/hy3-preview:free", "free"), + ("tencent/hy3-preview", ""), ("openai/gpt-5.3-codex", ""), ("google/gemini-3-pro-image-preview", ""), ("google/gemini-3-flash-preview", ""), diff --git a/tests/hermes_cli/test_tencent_tokenhub_provider.py b/tests/hermes_cli/test_tencent_tokenhub_provider.py index b84666e83f..62cecaeb0c 100644 --- a/tests/hermes_cli/test_tencent_tokenhub_provider.py +++ b/tests/hermes_cli/test_tencent_tokenhub_provider.py @@ -192,13 +192,19 @@ class TestTencentTokenhubCanonicalProvider: class TestTencentInOpenRouterAndNous: - """tencent/hy3-preview:free should appear in OpenRouter and Nous curated lists.""" + """tencent/hy3-preview:free and tencent/hy3-preview should appear in OpenRouter and Nous curated lists.""" def test_in_openrouter_fallback(self): from hermes_cli.models import OPENROUTER_MODELS ids = [mid for mid, _ in OPENROUTER_MODELS] assert "tencent/hy3-preview:free" in ids + def test_paid_in_openrouter_fallback(self): + """tencent/hy3-preview (paid, no :free suffix) should also be in OpenRouter list.""" + from hermes_cli.models import OPENROUTER_MODELS + ids = [mid for mid, _ in OPENROUTER_MODELS] + assert "tencent/hy3-preview" in ids + def test_in_nous_provider_models(self): from hermes_cli.models import _PROVIDER_MODELS assert "tencent/hy3-preview" in _PROVIDER_MODELS["nous"] @@ -420,7 +426,7 @@ class TestTencentTokenhubCLIDispatch: class TestTencentTokenhubModelCatalogJSON: - """Verify tencent/hy3-preview:free is present in the website model-catalog.json.""" + """Verify tencent/hy3-preview:free and tencent/hy3-preview are present in the website model-catalog.json.""" def test_in_model_catalog_json(self): catalog_path = os.path.join( @@ -445,6 +451,7 @@ class TestTencentTokenhubModelCatalogJSON: for model in provider_entry.get("models", []): all_ids.add(model.get("id", "")) assert "tencent/hy3-preview:free" in all_ids + assert "tencent/hy3-preview" in all_ids # ============================================================================= diff --git a/website/static/api/model-catalog.json b/website/static/api/model-catalog.json index 18aefdd89b..61235075af 100644 --- a/website/static/api/model-catalog.json +++ b/website/static/api/model-catalog.json @@ -68,6 +68,10 @@ "id": "tencent/hy3-preview:free", "description": "free" }, + { + "id": "tencent/hy3-preview", + "description": "" + }, { "id": "openai/gpt-5.3-codex", "description": ""