feat(settings): support named model profiles with /model integration (#204) - #282
Open
innocarpe wants to merge 1 commit into
Open
feat(settings): support named model profiles with /model integration (#204)#282innocarpe wants to merge 1 commit into
innocarpe wants to merge 1 commit into
Conversation
…essweb#204) Add a profiles map (model, baseUrl, apiKey, thinkingEnabled, reasoningEffort, temperature) and an optional defaultProfile to settings.json. The /model dropdown lists saved profiles for one-click switching via writeProfileSelection, and the default profile is applied as a fallback when resolving settings. (cherry picked from commit 5ee6ca63f187d0545a966f7e0037a978adf39161)
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
profilesmap (model, baseUrl, apiKey, thinkingEnabled, reasoningEffort, temperature) and an optionaldefaultProfiletosettings.json./modeldropdown lists saved profiles for one-click switching viawriteProfileSelection.Why
Switching between different model configurations (e.g.
deepseek-v4-prowith max reasoning for complex tasks,deepseek-v4-flashfor quick edits, or third-party endpoints) required re-entering model, thinking mode, effort, and temperature every time. Named profiles make this one click.Changes
packages/core/src/settings.ts:ModelProfiletype,profiles/defaultProfileparsing,getModelProfiles(),writeProfileSelection(), default-profile fallback in resolution.packages/core/src/index.ts: export the new helpers.packages/cli/src/ui/components/ModelsDropdown/index.tsx: list profiles in the model step and apply them directly.packages/cli/src/ui/views/PromptInput.tsx+App.tsx: threadmodelProfiles/onProfileSelect.settings-and-notify.test.ts(parsing, fallback, write),exec-runner.test.ts(resolved type).Validation
npm run typecheck✅npm test— new profile tests pass ✅Closes #204