-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Settings v2 Add Model #1708
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Settings v2 Add Model #1708
Conversation
39a9bb2 to
bb33191
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noticed that if the list of configured providers is quite long, we the list gets cut off
Screen.Recording.2025-03-16.at.10.49.06.AM.mov
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| import Modal from '../../Modal'; | ||
| import { Button } from '../../ui/button'; | ||
| import { QUICKSTART_GUIDE_URL } from '../providers/modal/constants'; | ||
| import { useActiveKeys } from '../../settings/api_keys/ActiveKeysContext'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This useActiveKeys will be deprecated, but we could implement something similar in ConfigContext -- currently we return all providers in the getProviders method, which is a list of ProviderDetail objects
One attribute of ProviderDetails is isConfigured, we can always call getProviders here directly and filter out only the the ProviderDetail objects with isConfigured == true to create the drop-down list but maybe you might have an idea on how to handle the state more elegantly to avoid an API call
feel free to do this in a followup PR if easier :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
|
|
||
| <div className="w-full flex flex-col gap-4"> | ||
| <Select | ||
| options={providerOptions} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
idea: maybe last option in dropdown list is Add Other Provider which, when clicked takes you to the Configure Providers Page -- haven't discussed this with design though, but curious your thoughts about if that would feel more natural to you instead of or in addition to the Configure Providers button
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a super good idea, I'm all for it.
bb33191 to
57c286e
Compare
57c286e to
8394808
Compare
* origin/main: (74 commits) config: add optional extension description (#1743) docs: add deployment for install link generator (#1737) ui: new configure provider flow (#1736) Revert "Standardize Radio Button input" (#1758) Settings v2 Add Model (#1708) fix: use lowercase names for builtin external extensions (#1756) chore(release): release version 1.0.15 (#1749) docs: goosing around: langfuse blog (#1746) feat: update the deny call response (#1741) feat: refactor register eval (#1713) fix: Goose UI fix typos (#1744) feat(google_drive): comment read (#1732) feat: build cli workflow (#1697) fix: fix initial model configuration in cli when using toolshim (#1720) feat: add basic support for aws bedrock to desktop app (#1271) feat(google_drive): add image resizing logic from developer, and use Content::Image (#1735) Standardize Radio Button input (#1701) ui: tweaks to settings v2 (#1731) feat(google_drive): set read/write scope on all commands to use the same token (#1707) refactor: clean up log usage (#1704) ...
* main: fix: check if working directory has changed before asking (#1733) extensions: add a display name field (#1759) ui: add logs to app (#1760) docs: add stdin (#1769) config: add optional extension description (#1743) docs: add deployment for install link generator (#1737) ui: new configure provider flow (#1736) Revert "Standardize Radio Button input" (#1758) Settings v2 Add Model (#1708) fix: use lowercase names for builtin external extensions (#1756)

Add Model modal for Settings v2.
Providers taken from the providers with active keys.
Models is currently just a freeform text field (this is also how the current model input works on Settings v1).
Changing the model will
upsertto config.yaml, and then re-initialize the system in the same way Settings v1 does.This PR also adds a reusable
SelectUI component that is themed more like the Settings v2 Figma.Screen.Recording.2025-03-14.at.4.50.28.PM.mov