mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-05-25 19:20:16 +00:00
e829fa50d5
When config has provider=openrouter and model=openrouter/free, resolve_model_provider() stripped the 'openrouter/' prefix because prefix == config_provider. This sent 'free' to OpenRouter's API, which returned 404 (model not found). OpenRouter always needs the full provider/model path (e.g. openrouter/free, anthropic/claude-sonnet-4.6). The prefix-stripping logic is only correct for direct-API providers. Fix: skip prefix stripping entirely when config_provider is 'openrouter'. Return the full model_id with provider='openrouter'. Added 7 unit tests for resolve_model_provider() covering: - openrouter/free keeps full path (the bug) - openrouter cross-provider models keep full path - direct API providers still strip prefix correctly - cross-provider routing to openrouter - bare model names use config provider - empty model returns defaults Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>