[Feat] Apply provider-recommended model defaults in setup and settings#390
Merged
Conversation
Each inference provider in the setup catalog can now declare recommended default models per role (helper, vision, code review, explore, planning) alongside its default coding model. Connecting a provider during setup applies the full recommended split instead of only setting the coding model, and a "Use recommended" action on the Default Models card in Settings > Models re-applies a connected provider's recommendations as an apply-once macro through the existing draft/save flow. Recommendations are constrained to each provider's suggested task models (enforced by a catalog test), roles without a recommendation fall back to "same as coding", and env-managed roles are left untouched.
Contributor
|
No new code issues found. See task
Reviewed 2c393ac |
… explicit vision for multimodal coding models - Requesty is hidden from new connections (setup wizard and settings) via a new `hidden` catalog flag; existing connections stay listed and functional since the catalog entry remains registered for model-id resolution and env-var forwarding. The setup wizard provider picker now renders from the server-filtered status list instead of the raw catalog. - Google Vertex AI mirrors the Anthropic/Bedrock split: Claude Sonnet 5 coding default, Haiku 4.5 for helper/explore, Opus 4.8 for review/planning. - OpenRouter and Vercel drop their explicit vision recommendation: their recommended coding model is multimodal, so vision follows "same as coding". OpenCode keeps an explicit vision model because its default coding model's vision support is unknown.
Flash moves to the explicit helper/explore recommendation; code review and planning follow the coding model, so they land on Pro without being pinned.
…ider Google Vertex AI now carries credential help pointing at Model Garden enablement and location availability, since its recommended defaults select Claude models. The setup wizard also renders provider credentialHelp below the credential input (previously it only rendered in Settings > Models), so this guidance — and Bedrock's existing region note — now shows during onboarding where the defaults are applied.
Contributor
Author
|
Addressed the Vertex Claude prerequisite finding in c0387ee:
Two parts of the finding we're deliberately not taking:
|
…mmended-model-defaults # Conflicts: # apps/web/src/components/settings/ModelSettingsSection.tsx # packages/types/src/model-provider-config.test.ts
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.
Summary
Replaces the single generic model default with provider-specific recommended defaults per model role. Each inference provider in the setup catalog can now declare recommended models for the non-coding roles (helper, vision, code review, explore, planning); the coding recommendation is always the provider's existing
defaultRoomoteModel, so there is one source of truth per slot.recommendedRoleModelsmap on eachSETUP_MODEL_PROVIDER_CATALOGentry, plus a sharedbuildRecommendedDeploymentModelConfig()resolver. Roles left unset mean "same as coding", so single-model providers get a valid recommendation by omitting the field entirely. A catalog test enforces that every recommended id is in that provider'ssuggestedTaskModels.The recommendations follow one pattern: a fast low-cost model for helper + explore, the provider's default coder for coding, and a strong reasoning model for code review + planning. Vision is only set explicitly when the recommended coding model is not known to be multimodal (currently just OpenCode). Google Vertex AI now mirrors the Anthropic/Bedrock split (Claude Sonnet 5 coding default, Haiku 4.5 helper/explore, Opus 4.8 review/planning). Mappings are deliberately easy to edit in code.
Requesty is hidden from new connections via a new
hiddencatalog flag: it no longer appears in the setup wizard or settings connect surfaces unless already connected. The catalog entry stays registered, so existing Requesty deployments keep working (model-id resolution, credential env-var forwarding, labels, and managing/deleting the saved key). The setup wizard's provider picker now renders from the server-filtered status list instead of the raw catalog to support this.Intentionally not built (future preset system can layer on top of
RecommendedRoleModels): saved user presets, a preset picker at task start, or any multi-level preset management UX. This behaves as an apply-once macro.Test plan
buildSetupModelStatus(excluded when unconnected, listed when connected).packages/types(556), settings components + setup step + task-models and setup-new commands (450),model-runtime-config(20).pnpm lint,pnpm check-types, andpnpm knipall pass.Note:
saveSetupNewModelConfigCommand's wiring has no direct test — the command isn't covered by the existing setup-new test harness and the change is a one-line delegation to the unit-tested resolver.Docs: added a "Recommended default models" section to
apps/docs/models.mdx; removed Requesty from the provider lists inmodels.mdxand the README.