Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/clawrouter_hermes/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@
"blockrun/moonshot/kimi-k3",
"blockrun/qwen/qwen3.7-max",
"blockrun/deepseek/deepseek-v4-pro",
"blockrun/free/deepseek-v4-flash",
"blockrun/deepseek/deepseek-chat",
"blockrun/deepseek/deepseek-reasoner",
"blockrun/free/mistral-large-3-675b",
"blockrun/free/deepseek-v4-flash",
"blockrun/free/seed-oss-36b",
"blockrun/free/nemotron-3-nano-omni-30b-a3b-reasoning",
"blockrun/free/mistral-nemotron",
Expand Down
2 changes: 1 addition & 1 deletion src/clawrouter_hermes/provider_template/init.py.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,10 @@ _STATIC_FALLBACKS = (
"blockrun/moonshot/kimi-k3",
"blockrun/qwen/qwen3.7-max",
"blockrun/deepseek/deepseek-v4-pro",
"blockrun/free/deepseek-v4-flash",
"blockrun/deepseek/deepseek-chat",
"blockrun/deepseek/deepseek-reasoner",
"blockrun/free/mistral-large-3-675b",
"blockrun/free/deepseek-v4-flash",
"blockrun/free/seed-oss-36b",
"blockrun/free/nemotron-3-nano-omni-30b-a3b-reasoning",
"blockrun/free/mistral-nemotron",
Expand Down
2 changes: 1 addition & 1 deletion src/clawrouter_hermes/skills/clawrouter/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ Rules handle ~80% of requests in <1ms. Only ambiguous queries hit the LLM classi

## Available Models

<!-- br:models.chatVisible -->66<!-- /br:models.chatVisible --> models including: claude-fable-5, claude-opus-5, claude-opus-4.8, claude-opus-4.7, claude-sonnet-5, claude-sonnet-4.6, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.4, gemini-3.1-pro, gemini-3.5-flash, grok-4.5, grok-4.3, grok-build-0.1, deepseek-v4-pro, deepseek-chat, glm-5.2, kimi-k3, minimax-m3, qwen3.7-max, and the curated free models (mistral-large-3-675b, deepseek-v4-flash, seed-oss-36b, nemotron-3-nano-omni-30b-a3b-reasoning [vision], mistral-nemotron, step-3.7-flash, nemotron-nano-9b-v2, nemotron-nano-12b-v2-vl [vision], qwen3-next-80b-a3b-instruct).
<!-- br:models.chatVisible -->66<!-- /br:models.chatVisible --> models including: claude-fable-5, claude-opus-5, claude-opus-4.8, claude-opus-4.7, claude-sonnet-5, claude-sonnet-4.6, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.4, gemini-3.1-pro, gemini-3.5-flash, grok-4.5, grok-4.3, grok-build-0.1, deepseek-v4-pro, deepseek-v4-flash, deepseek-chat, glm-5.2, kimi-k3, minimax-m3, qwen3.7-max, and the curated free models (mistral-large-3-675b, seed-oss-36b, nemotron-3-nano-omni-30b-a3b-reasoning [vision], mistral-nemotron, step-3.7-flash, nemotron-nano-9b-v2, nemotron-nano-12b-v2-vl [vision], qwen3-next-80b-a3b-instruct).

## Built-in Agent Tools

Expand Down
13 changes: 7 additions & 6 deletions tests/test_provider_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
"blockrun/moonshot/kimi-k3",
"blockrun/qwen/qwen3.7-max",
"blockrun/deepseek/deepseek-v4-pro",
"blockrun/free/mistral-large-3-675b",
"blockrun/free/deepseek-v4-flash",
"blockrun/free/mistral-large-3-675b",
)


Expand Down Expand Up @@ -127,6 +127,7 @@ def test_curated_picker_catalog_contains_free_models():
chat_models = models.chat_models()
free_models = [model for model in chat_models if models.is_free_model(model)]
assert "blockrun/free" in free_models
assert "blockrun/free/deepseek-v4-flash" in free_models
assert any(model.startswith("blockrun/free/") for model in free_models)


Expand All @@ -149,10 +150,12 @@ def test_curated_picker_catalog_orders_featured_models():
# and match the live free tier exactly (order mirrors top-models.json,
# with post-top-models catalog additions appended).
free_tail = [m for m in chat_models if m.startswith("blockrun/free/")]
assert chat_models[-len(free_tail):] == free_tail
assert chat_models[-(len(free_tail) - 1):] == [
model for model in free_tail if model != "blockrun/free/deepseek-v4-flash"
]
assert free_tail == [
"blockrun/free/mistral-large-3-675b",
"blockrun/free/deepseek-v4-flash",
"blockrun/free/mistral-large-3-675b",
"blockrun/free/seed-oss-36b",
"blockrun/free/nemotron-3-nano-omni-30b-a3b-reasoning",
"blockrun/free/mistral-nemotron",
Expand All @@ -165,9 +168,7 @@ def test_curated_picker_catalog_orders_featured_models():
# catalog retirement so a bad merge can't resurrect them.
retired_models = frozenset({
"blockrun/free/qwen3-coder-480b", # NVIDIA EOL 2026-06-14
# Never a real SKU: the gateway removed paid V4 Flash and kept only a
# legacy alias to deepseek/deepseek-chat, so this ID smoke-tests green
# while duplicating deepseek-chat. The free model is free/deepseek-v4-flash.
# Never a real SKU: keep the free route ID in the DeepSeek group instead.
"blockrun/deepseek/deepseek-v4-flash",
# Dropped from the live BlockRun catalog by 2026-07-17:
"blockrun/xai/grok-4-1-fast-reasoning",
Expand Down
Loading