Skip to content

feat: add 15 LLM providers with categorized UI#15

Merged
jgarzik merged 2 commits intomainfrom
updates
Feb 8, 2026
Merged

feat: add 15 LLM providers with categorized UI#15
jgarzik merged 2 commits intomainfrom
updates

Conversation

@jgarzik
Copy link
Owner

@jgarzik jgarzik commented Feb 8, 2026

Add provider configs, proxy vendor entries, and API type mappings for DeepSeek, Mistral, Groq, Cerebras, Fireworks, Together AI, Deep Infra, Perplexity, NVIDIA, MiniMax, Moonshot, Scaleway, Nebius, OVHcloud, and Hugging Face. Organize all 22 providers into categories (Major, Fast Inference, Aggregators, Specialized, Regional, Local) with search in the wizard and grouped optgroups in the Add Key form.

Fixes #6

Add provider configs, proxy vendor entries, and API type mappings for
DeepSeek, Mistral, Groq, Cerebras, Fireworks, Together AI, Deep Infra,
Perplexity, NVIDIA, MiniMax, Moonshot, Scaleway, Nebius, OVHcloud, and
Hugging Face. Organize all 22 providers into categories (Major, Fast
Inference, Aggregators, Specialized, Regional, Local) with search in
the wizard and grouped optgroups in the Add Key form.

Fixes #6

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for 15 additional LLM providers across the dashboard UI, bot workspace template generation, and the proxy’s vendor registry—addressing the “keys can’t be saved for newly added providers” issue by ensuring backend vendor validation recognizes the new providers.

Changes:

  • Extend backend provider→API-type mapping and proxy vendor registry to include 15 new OpenAI-compatible providers.
  • Add categorized provider UX (wizard grouping + search) and grouped <optgroup> provider selection in the Add Key form.
  • Add/extend tests covering provider lists, category integrity, API type mapping, and new vendor auth behavior.

Reviewed changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/bots/templates.ts Adds new providers to getApiTypeForProvider mapping.
src/bots/templates.test.ts Adds unit coverage for getApiTypeForProvider across new providers.
proxy/src/types.ts Registers new vendor host/basePath/auth settings in VENDOR_CONFIGS.
proxy/src/types.test.ts Verifies new vendors exist and use expected Bearer auth formatting.
dashboard/src/wizard/pages/Page3Toggles.tsx Replaces “popular/other” provider UI with category grouping + provider search.
dashboard/src/wizard/pages/Page3Toggles.css Styles for provider search and category labels/sections.
dashboard/src/secrets/AddKeyForm.tsx Groups provider selection via categorized <optgroup> and hides no-auth providers (e.g., Ollama).
dashboard/src/config/providers/index.ts Imports/exports new provider configs and exports PROVIDER_CATEGORIES; expands PROVIDERS to 22 entries.
dashboard/src/config/providers/categories.ts Defines provider categories and assigns all providers to exactly one category.
dashboard/src/config/providers/providers.test.ts Updates provider registry expectations and adds category integrity tests.
dashboard/src/config/providers/deepseek.ts Adds DeepSeek provider config.
dashboard/src/config/providers/mistral.ts Adds Mistral provider config.
dashboard/src/config/providers/groq.ts Adds Groq provider config.
dashboard/src/config/providers/cerebras.ts Adds Cerebras provider config.
dashboard/src/config/providers/fireworks.ts Adds Fireworks provider config.
dashboard/src/config/providers/togetherai.ts Adds Together AI provider config.
dashboard/src/config/providers/deepinfra.ts Adds Deep Infra provider config.
dashboard/src/config/providers/perplexity.ts Adds Perplexity provider config.
dashboard/src/config/providers/nvidia.ts Adds NVIDIA provider config.
dashboard/src/config/providers/minimax.ts Adds MiniMax provider config.
dashboard/src/config/providers/moonshot.ts Adds Moonshot provider config.
dashboard/src/config/providers/scaleway.ts Adds Scaleway provider config.
dashboard/src/config/providers/nebius.ts Adds Nebius provider config.
dashboard/src/config/providers/ovhcloud.ts Adds OVHcloud provider config.
dashboard/src/config/providers/huggingface.ts Adds Hugging Face provider config.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

.filter((p) => !isSearching || p.label.toLowerCase().includes(searchLower) || p.id.toLowerCase().includes(searchLower));
return { ...cat, providers };
}).filter((cat) => cat.providers.length > 0);
}, [providerMap, isSearching, searchLower]);
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

filteredCategories useMemo references PROVIDER_CATEGORIES from outer scope but it isn’t listed in the dependency array, which will be flagged by react-hooks/exhaustive-deps. Add PROVIDER_CATEGORIES to the dependency list (or compute the categorized provider list outside the component if it’s static).

Suggested change
}, [providerMap, isSearching, searchLower]);
}, [providerMap, isSearching, searchLower, PROVIDER_CATEGORIES]);

Copilot uses AI. Check for mistakes.
Avoids useMemo with empty dependency array on a module-level constant,
which triggers react-hooks/exhaustive-deps and can cause stale values
under HMR.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jgarzik jgarzik merged commit 8580847 into main Feb 8, 2026
3 checks passed
@jgarzik jgarzik deleted the updates branch February 8, 2026 03:09
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.

Providers / Models list accepts new entries, but keys for those entries cannot be saved

1 participant