Skip to content

fix(settings): custom providers UI, URL detection, and fallback model - #414

Closed
sebuh-infsol wants to merge 2 commits into
outsourc-e:mainfrom
sebuh-infsol:fix/settings-custom-providers-ui
Closed

fix(settings): custom providers UI, URL detection, and fallback model#414
sebuh-infsol wants to merge 2 commits into
outsourc-e:mainfrom
sebuh-infsol:fix/settings-custom-providers-ui

Conversation

@sebuh-infsol

Copy link
Copy Markdown

Summary

This updates Settings → Model & Provider (src/routes/settings/index.tsx) so custom and OpenAI-compatible setups are visible, editable, and harder to confuse with unrelated providers. It addresses the behaviour described in #413.

Custom Providers

  • Endpoints table always lists rows from custom_providers with Apply and Remove.
  • Active (not in list) and Manifest block rows appear when a primary base_url or manifest URL is in use but not yet stored under custom_providers, with Apply / Add to list.
  • Configured state for the custom stack considers CUSTOM_API_KEY, manifest/custom blocks, custom_providers (case-insensitive name match), or top-level base_url.
  • Custom Base URL display and edit flow use the same resolution so remote/local endpoints (for example a named provider with a Tailscale base_url) show as configured when they are actually in use.

Model & Provider

  • Optional fallback model (provider, model id, base URL) with Save Model persisting or clearing fallback_model.
  • Manifest save merges into the existing nested model object instead of replacing it with only { provider: 'manifest' }.

Testing

  • Manual verification in the settings UI; no automated tests were added for this view.

Fixes #413.

Made with Cursor

sebuh-infsol and others added 2 commits May 11, 2026 08:55
…odel

- Render a persistent endpoints table for custom_providers with apply/remove.
- Show active primary and manifest URLs when missing from custom_providers,
  with apply and add-to-list actions.
- Resolve custom base URL from manifest, custom_providers (case-insensitive
  name match), or top-level base_url; align configured status with that.
- Add optional fallback model fields and persist fallback_model on save.
- Merge manifest saves into existing model config instead of replacing it.
- Add helpers for deduplication, manifest URL read, and named row persist.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add custom provider form: title (e.g. Model.Host), optional provider id,
  base URL, optional per-row api_key; slugify id when omitted.
- Endpoints table adds Title column; suggest title from model + URL for
  quick-save and active/manifest rows.
- Manifest base URL state reads providers.manifest only; primary URL no
  longer appears in that control. Clearer placeholders and save validation.
- Manifest CUSTOM_API_KEY row: optional copy, save empty clears env key.
- Helpers: suggestCustomProviderTitle, slugifyCustomProviderId; persist
  supports title and yamlApiKey options.
@sebuh-infsol

Copy link
Copy Markdown
Author

Additional commits on this branch:

  • Add custom provider form: required Title (e.g. Qwen3.6.Eclipse), optional Provider id (auto-slug from title if blank), Base URL, optional per-row api_key stored on the custom_providers entry (not .env).
  • Endpoints table adds a Title column; Suggest / Prefill from Model & Provider for titles.
  • Manifest: base URL vs Manifest: CUSTOM_API_KEY are separated from the old merged “custom” state so the manifest URL field no longer shows the primary base URL or a misleading placeholder. Empty manifest key save clears CUSTOM_API_KEY in ~/.hermes/.env.

@outsourc-e

Copy link
Copy Markdown
Owner

Closing as superseded by #432. The validated fix was folded into the consolidated batch branch fix/issue-sweep-batch-20260514 for one review/merge path.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Custom Provider list missing.

2 participants