fix(cli): raise model picker cap from 50 to 200 to surface all provider models#42496
Closed
liuhao1024 wants to merge 1 commit into
Closed
fix(cli): raise model picker cap from 50 to 200 to surface all provider models#42496liuhao1024 wants to merge 1 commit into
liuhao1024 wants to merge 1 commit into
Conversation
…er models Providers like NVIDIA NIM expose 100+ models but the picker hard-capped at 50 entries via max_models=50 in three call sites. Users could only see the first 50 (alphabetical) models, hiding the rest. Raise the cap to 200 across all picker entry points: - list_authenticated_providers() default: 8 → 200 - list_picker_providers() default: 8 → 200 - build_models_payload() default: 50 → 200 - prewarm_picker_cache_async(): 50 → 200 - web_server /api/model/options: 50 → 200 - web_server build_models_payload: 50 → 200 The total_models field already reports the real count so the UI can show 'showing 200 of N' when a provider has more models. Fixes NousResearch#42270
tonydwb
approved these changes
Jun 9, 2026
tonydwb
left a comment
There was a problem hiding this comment.
Code Review Summary
Verdict: Approved
Configuration
- Raises the model picker cap from 50 to 200 across all call sites:
build_models_payload(),list_authenticated_providers(),list_picker_providers(), andget_recommended_default_model().
Reason
- Some providers now offer 100+ models. A cap of 50 was too restrictive and was preventing all available models from appearing in the picker.
Looks Good
- Simple config change, no risk.
Reviewed by Hermes Agent
Contributor
|
Fixed on This was one of several PRs targeting the same picker cap. We merged @islam666's #48297 as the implementation (cleanest scope — it correctly keeps the Telegram/Discord inline-keyboard cap, which genuinely needs a bound) plus a follow-up tightening |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Raises the model picker cap from 50 to 200 across all picker entry points, so providers with 100+ models (like NVIDIA NIM) surface all available models instead of only the first 50 alphabetically.
Related Issue
Fixes #42270
Type of Change
Changes Made
hermes_cli/model_switch.py: Raisedmax_modelsdefault from 8 to 200 inlist_authenticated_providers()andlist_picker_providers(); updated prewarm caller from 50 to 200hermes_cli/inventory.py: Raisedbuild_models_payload()default from 50 to 200hermes_cli/web_server.py: Updated both/api/model/optionscallers from 50 to 200How to Test
hermes --tuiand type/modelto open the pickertotal_modelscount in the API response matches the actual model countChecklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/ACode Intelligence
model_switch.py::list_authenticated_providers,inventory.py::build_models_payloadcached_provider_model_ids()provides the full model list;total_modelsfield already reports real count