diff --git a/hermes_cli/doctor.py b/hermes_cli/doctor.py index 191535432..8247d2591 100644 --- a/hermes_cli/doctor.py +++ b/hermes_cli/doctor.py @@ -329,22 +329,29 @@ def run_doctor(args): "Either set model.provider to 'openrouter', or drop the vendor prefix." ) - # Check credentials for the configured provider - if canonical_provider and canonical_provider not in ("auto", "custom"): + # Check credentials for the configured provider. + # Limit to API-key providers in PROVIDER_REGISTRY — other provider + # types (OAuth, SDK, openrouter/anthropic/custom/auto) have their + # own env-var checks elsewhere in doctor, and get_auth_status() + # returns a bare {logged_in: False} for anything it doesn't + # explicitly dispatch, which would produce false positives. + if canonical_provider and canonical_provider not in ("auto", "custom", "openrouter"): try: - from hermes_cli.auth import get_auth_status - status = get_auth_status(canonical_provider) or {} - configured = bool(status.get("configured") or status.get("logged_in") or status.get("api_key")) - if not configured: - check_fail( - f"model.provider '{canonical_provider}' is set but not authenticated", - "(check ~/.hermes/.env or run 'hermes setup')", - ) - issues.append( - f"No credentials found for provider '{canonical_provider}'. " - f"Run 'hermes setup' or set the provider's API key in {_DHH}/.env, " - f"or switch providers with 'hermes config set model.provider '" - ) + from hermes_cli.auth import PROVIDER_REGISTRY, get_auth_status + pconfig = PROVIDER_REGISTRY.get(canonical_provider) + if pconfig and getattr(pconfig, "auth_type", "") == "api_key": + status = get_auth_status(canonical_provider) or {} + configured = bool(status.get("configured") or status.get("logged_in") or status.get("api_key")) + if not configured: + check_fail( + f"model.provider '{canonical_provider}' is set but no API key is configured", + "(check ~/.hermes/.env or run 'hermes setup')", + ) + issues.append( + f"No credentials found for provider '{canonical_provider}'. " + f"Run 'hermes setup' or set the provider's API key in {_DHH}/.env, " + f"or switch providers with 'hermes config set model.provider '" + ) except Exception: pass diff --git a/scripts/release.py b/scripts/release.py index b8dfbce03..6d4de561c 100755 --- a/scripts/release.py +++ b/scripts/release.py @@ -296,6 +296,7 @@ AUTHOR_MAP = { "jarvischer@gmail.com": "maxchernin", "levantam.98.2324@gmail.com": "LVT382009", "zhurongcheng@rcrai.com": "heykb", + "withapurpose37@gmail.com": "StefanIsMe", }