Skip to content

fix: include Nous Portal free-tier models in /model picker - #26910

Closed
pinguarmy wants to merge 1 commit into
NousResearch:mainfrom
pinguarmy:fix/nous-gateway-free-tier-models
Closed

fix: include Nous Portal free-tier models in /model picker#26910
pinguarmy wants to merge 1 commit into
NousResearch:mainfrom
pinguarmy:fix/nous-gateway-free-tier-models

Conversation

@pinguarmy

Copy link
Copy Markdown

Problem

The gateway /model picker (used in TUI and messaging platforms) doesn't show Nous Portal free-tier models like deepseek-v4-flash and stepfun/step-3.5-flash. Only the curated paid models appear.

The CLI hermes model command shows them correctly at the bottom under "Available free models", but the gateway picker omits them entirely.

Root Cause

list_authenticated_providers() in hermes_cli/model_switch.py loads the curated Nous model list from the remote catalog but never augments it with the Portal's freeRecommendedModels (or paidRecommendations for paid users).

The CLI hermes model (in hermes_cli/main.py) already handles this via:

  • check_nous_free_tier() — detect user tier
  • union_with_portal_free_recommendations() — add free models
  • union_with_portal_paid_recommendations() — add paid models

But list_authenticated_providers() — which the gateway's /model command uses — doesn't call any of these.

Fix

Augment the Nous model list in list_authenticated_providers() with the Portal's recommended models, mirroring the CLI logic:

  • Free-tier users: prepend freeRecommendedModels (so newly-launched free models show up even if the curated list is stale)
  • Paid-tier users: prepend paidRecommendations

The augmentation is wrapped in a try/except so network failures or auth issues degrade gracefully to the curated list.

Testing

  • All existing model_switch tests pass (71/71)
  • 1 pre-existing failure (missing prompt_toolkit in test env, unrelated)

list_authenticated_providers() only loaded the curated (paid) model
list for Nous Portal, so the gateway /model picker never showed free
models like deepseek-v4-flash and stepfun/step-3.5-flash.

The CLI hermes model command already handled this via
union_with_portal_free_recommendations() + check_nous_free_tier(),
but the shared list_authenticated_providers() used by the gateway
did not.

Augment the Nous model list in list_authenticated_providers() with
the Portal's freeRecommendedModels (for free-tier users) or
paidRecommendedModels (for paid-tier users), mirroring the CLI logic.
@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/cli CLI entry point, hermes_cli/, setup wizard comp/gateway Gateway runner, session dispatch, delivery provider/nous Nous Research API (OAuth) labels May 16, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Related to merged #24082 (Portal-flagged free models in picker) and open #26130 (add deepseek-v4-flash to curated list). This PR takes the approach of augmenting list_authenticated_providers() with the Portal recommended-models endpoint, similar to the existing CLI logic.

@pinguarmy

Copy link
Copy Markdown
Author

Closing — this fix is already present in the current codebase. model_switch.py lines 1534-1548 import and use and for the Nous provider in the /model picker.

@pinguarmy pinguarmy closed this Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard comp/gateway Gateway runner, session dispatch, delivery P2 Medium — degraded but workaround exists provider/nous Nous Research API (OAuth) type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants