fix(cli): honor config base_url mirror for explicit openrouter provider
When config.yaml sets `model.provider: openrouter` together with a `model.base_url` mirror/proxy, an explicit `--provider openrouter` request ignored the mirror and sent traffic to the public OpenRouter endpoint: the config base_url was only trusted for auto/custom, the credential pool was still consulted (so a pooled key won over the mirror), and even when the mirror URL was used its host failed the openrouter.ai match so OPENROUTER_API_KEY was not selected for it. Trust the config base_url for the explicit openrouter case, treat that mirror as an OpenRouter context for key selection, and bypass the pool like the other custom-endpoint cases already do. Fixes #10622
This commit is contained in:
@@ -491,7 +491,8 @@ def _openrouter_should_use_pool(requested_provider, model_cfg, explicit_api_key,
|
||||
"""OpenRouter pool only for a plain openrouter/auto request with no custom endpoint or override."""
|
||||
cfg_base_url = str(model_cfg.get("base_url") or "").strip()
|
||||
env_base_urls = _getenv("OPENAI_BASE_URL", "").strip() or _getenv("OPENROUTER_BASE_URL", "").strip()
|
||||
has_custom_endpoint = bool(explicit_base_url or env_base_urls or (cfg_base_url and _cfg_provider(model_cfg) in {"auto", "custom"}))
|
||||
has_custom_endpoint = bool(explicit_base_url or env_base_urls
|
||||
or (cfg_base_url and _cfg_provider(model_cfg) in {"auto", "custom", "openrouter"}))
|
||||
return requested_provider in {"openrouter", "auto"} and not has_custom_endpoint and not bool(explicit_api_key or explicit_base_url)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user