diff --git a/hermes_cli/doctor.py b/hermes_cli/doctor.py index 529433902d5..a551d4d204e 100644 --- a/hermes_cli/doctor.py +++ b/hermes_cli/doctor.py @@ -287,7 +287,8 @@ def _build_apikey_providers_list() -> list: (_pp.models_url or (_pp.base_url.rstrip("/") + "/models")) if _pp.base_url else None ) - _static.append((_label, _key_vars, _models_url, _base_var, True)) + _hc = getattr(_pp, "supports_health_check", True) + _static.append((_label, _key_vars, _models_url, _base_var, _hc)) except Exception: pass return _static diff --git a/plugins/model-providers/xiaomi/__init__.py b/plugins/model-providers/xiaomi/__init__.py index 2e0c8db7dbc..aed0d8424f8 100644 --- a/plugins/model-providers/xiaomi/__init__.py +++ b/plugins/model-providers/xiaomi/__init__.py @@ -8,6 +8,7 @@ xiaomi = ProviderProfile( aliases=("mimo", "xiaomi-mimo"), env_vars=("XIAOMI_API_KEY",), base_url="https://api.xiaomimimo.com/v1", + supports_health_check=False, # /v1/models returns 401 even with valid key ) register_provider(xiaomi) diff --git a/providers/base.py b/providers/base.py index 2c685f9b815..a9e76823bb2 100644 --- a/providers/base.py +++ b/providers/base.py @@ -40,6 +40,7 @@ class ProviderProfile: base_url: str = "" models_url: str = "" # explicit models endpoint; falls back to {base_url}/models auth_type: str = "api_key" # api_key|oauth_device_code|oauth_external|copilot|aws_sdk + supports_health_check: bool = True # False → doctor skips /models probe for this provider # ── Model catalog ───────────────────────────────────────── # fallback_models: curated list shown in /model picker when live fetch fails.