hermes - 💡(How to fix) Fix [Bug]: v0.13.0 provider plugin systems do not fully integrate with runtime resolution and /model picker [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

The new plugins/model-providers/ plugin architecture (#20324) for custom endpoints has two gaps that prevent it from replacing custom_providers in v0.13.0.

Root Cause

Root cause: list_authenticated_providers Section 2b uses curated.get(_cp.slug, []) which pulls from _PROVIDER_MODELS and OPENROUTER_MODELS. Provider plugins cannot populate these curated lists through the current register_provider() API. The fallback_models field on ProviderProfile is not consulted for populating the model picker.

Fix Action

Fixed

RAW_BUFFERClick to expand / collapse

Summary

The new plugins/model-providers/ plugin architecture (#20324) for custom endpoints has two gaps that prevent it from replacing custom_providers in v0.13.0.

Issue 1 - Empty model list in /model picker

After dropping a plugins/model-providers/<name>/ directory and calling register_provider with a ProviderProfile that sets fallback_models, the provider appears in /model with the correct name (source=canonical), but the model list is empty (total_models=0).

Root cause: list_authenticated_providers Section 2b uses curated.get(_cp.slug, []) which pulls from _PROVIDER_MODELS and OPENROUTER_MODELS. Provider plugins cannot populate these curated lists through the current register_provider() API. The fallback_models field on ProviderProfile is not consulted for populating the model picker.

Issue 2 - Runtime resolution fails

The gateway and auxiliary tasks report Unknown provider '<name>' when the plugin provider is used in config (e.g. provider: ds2api).

Root cause: resolve_runtime_provider in hermes_cli/runtime_provider.py relies on auth.py's PROVIDER_REGISTRY which is populated via ProviderConfig entries. The new plugin registration path (providers/__init__.py register_provider()) does not feed into PROVIDER_REGISTRY, so runtime resolution never sees plugin-defined providers.

Expected behavior

  1. The /model picker should show models from the plugin's fallback_models field (or the /models endpoint) when no _PROVIDER_MODELS entry exists.
  2. resolve_runtime_provider should resolve plugin providers using the ProviderProfile data (base_url, api_key, api_mode) registered via providers/__init__.py.

Reproduction

  1. Create ~/.hermes/plugins/model-providers/ds2api/__init__.py with a valid ProviderProfile calling register_provider.
  2. Set model.provider: ds2api in config.yaml.
  3. Restart gateway, open hermes CLI, and run /model.
  4. Observe empty model list for the provider.
  5. Send a message to trigger an auxiliary task (compression, title) → gateway logs show Unknown provider.

Environment

  • Hermes Agent v0.13.0 (2026.5.7)
  • OS: Linux (WSL2 on Windows 11)
  • Local OpenAI-compatible custom endpoint (DeepSeek-V4 via DS2API)

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

  1. The /model picker should show models from the plugin's fallback_models field (or the /models endpoint) when no _PROVIDER_MODELS entry exists.
  2. resolve_runtime_provider should resolve plugin providers using the ProviderProfile data (base_url, api_key, api_mode) registered via providers/__init__.py.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix [Bug]: v0.13.0 provider plugin systems do not fully integrate with runtime resolution and /model picker [1 pull requests]