feat: manage custom providers within model settings#18550
feat: manage custom providers within model settings#18550neversaywanan wants to merge 29 commits into
Conversation
Replace patched provider configs instead of deep-merging stale model keys, and refresh model/settings dialogs from the latest backend state. Add regression tests for both json and jsonc global config updates to ensure deleted custom models stay deleted.
|
@adamdotdevin Hi! The CI shows “This workflow requires approval from a maintainer” (3 workflows awaiting approval). Could you please click Approve and run for this PR? I don’t have the permissions. |
|
@adamdotdevin hi , bro, I need ur help |
# Conflicts: # packages/opencode/src/config/config.ts
|
@thdxr @rekram1-node @adamdotdevin Hi! guys, The CI shows “This workflow requires approval from a maintainer” (3 workflows awaiting approval). Could ur guys please click Approve and run for this PR? I don’t have the permissions. |
# Conflicts: # packages/opencode/src/config/config.ts
# Conflicts: # packages/opencode/src/config/config.ts
|
Automated PR Cleanup Thank you for contributing to opencode. Due to the high volume of PRs from users and AI agents, we periodically close older PRs using automated criteria so maintainers can focus review time on the most active and community-supported contributions. This PR was closed because it matched the following cleanup criteria:
PRs created within the last month are not affected by this cleanup. If you believe this PR was closed incorrectly, or if you are still actively working on it, please leave a comment explaining why it should be reopened. A maintainer can review and reopen it if appropriate. Thanks again for taking the time to contribute. |
Issue for this PR
Closes #18224
Type of change
What does this PR do?
Adds an edit flow for custom providers from the model settings page.
Custom providers now show an
Editaction inSettings > Models, which opens the existing custom provider dialog in edit mode. The form is prefilled from the current provider config, keeps the provider ID locked while editing, and updates the saved config without failing duplicate ID validation for the provider being edited.When models are removed during editing, they are moved into the provider blacklist so hidden models stay hidden instead of reappearing when the provider is saved again.
How did you verify your code works?
bun test --preload ./happydom.ts ./src/components/dialog-custom-provider.test.tsfrompackages/appScreenshots / recordings
TODO: add before/after screenshots or a short recording of editing a custom provider from
Settings > Models2026-03-22.02.30.07.mov
Checklist