Skip to content

feat(dashboard): include custom (BYOK) provider models in combo/alias picker - #1

Open
uberbyte1805 wants to merge 1 commit into
risunCode:mainfrom
uberbyte1805:feat/custom-providers-in-combos
Open

feat(dashboard): include custom (BYOK) provider models in combo/alias picker#1
uberbyte1805 wants to merge 1 commit into
risunCode:mainfrom
uberbyte1805:feat/custom-providers-in-combos

Conversation

@uberbyte1805

Copy link
Copy Markdown

Problem

Custom (BYOK) providers — added via Providers → Add OpenAI/Anthropic Compatible — were missing from the model picker in the Combos & Alias page. Their models could not be selected when building combos or aliases, even though the providers were configured and working.

Additionally, model names with nested prefixes (e.g. gnrt/cb/claude-opus-4.6) were truncated to just the first segment (cb) in the picker UI.

Changes

dashboard/src/components/model-picker.tsx

  1. useModelCatalog now also fetches /custom-providers and merges their models into the flat catalog. This uses the same pattern as 9router's ModelSelectModal, which fetches custom models in parallel with built-in providers.
  2. Model display fix: changed entry.qualified.split("/")[1]entry.qualified.split("/").slice(1).join("/") so that models with nested path segments (e.g. provider/subprefix/model) display their full sub-path instead of just the first segment after the provider prefix.

dashboard/src/features/providers/page.tsx

  • Added a copy-to-clipboard button next to the base URL on each custom provider card, matching the pattern already used on the Endpoints page.

Testing

  • ✅ Custom provider models (atmo: 65 models, gnrt: 53 models) now appear in combo/alias picker
  • ✅ Model names display correctly (e.g. cb/claude-opus-4.7-1m instead of cb)
  • ✅ Combo with BYOK models routes correctly (tested test-byok combo → gnrt/cb/claude-opus-4.7-1m → 200 OK)
  • ✅ Fallback strategy works (atmo exhausted → fallback to gnrt → 200 OK)
  • ✅ Copy base URL button works on Providers page

Reference

Model picker approach inspired by 9router's ModelSelectModal, which fetches /api/models/custom in parallel and merges with built-in provider models.

… picker

Previously, the model picker in the Combos & Alias page only fetched
built-in providers via /providers/:id. Custom (BYOK) providers added
through the Providers page (OpenAI/Anthropic compatible endpoints) were
not included in the catalog, so their models could not be selected when
building combos or aliases.

Changes:
- model-picker.tsx: useModelCatalog now also fetches /custom-providers
  and merges their models into the flat catalog (9router-style parallel
  fetch). Model display names use split('/').slice(1).join('/') so that
  models with nested prefixes (e.g. gnrt/cb/claude-opus-4.6) show their
  full sub-path instead of just the first segment.
- providers/page.tsx: add a copy-to-clipboard button next to the base
  URL on each custom provider card.
@risunCode

Copy link
Copy Markdown
Owner

Already fixed in v1.0.5-alpha, thank you

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.

2 participants