openai-compatible-provider-registry
v0.1.0-beta.0
Published
Registry metadata and fetch helper for OpenAI-compatible provider model list APIs.
Readme
openai-compatible-provider-registry
openai-compatible-provider-registry is a dependency-free runtime library for
OpenAI-compatible provider discovery.
It provides a curated provider registry, lookup helpers, and a fetchModels()
helper for calling /models with native fetch.
It does not cover non-standard listing APIs, provider-specific adapters, or model invocation features such as chat, completions, embeddings, retries, caching, or credential management.
Installation
pnpm add openai-compatible-provider-registrySupported Providers
PRs are welcome to correct or add OpenAI-compatible provider information.
| Provider | Provider ID | BaseUrl | Source |
| ------------------- | ---------------- | ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Bailian / DashScope | dashscope | https://dashscope.aliyuncs.com/compatible-mode/v1/ | Bailian / DashScope |
| DeepSeek | deepseek | https://api.deepseek.com | DeepSeek |
| Doubao | doubao | https://ark.cn-beijing.volces.com/api/v3/ | Doubao |
| Groq | groq | https://api.groq.com/openai | Groq |
| MiniMax | minimax | https://api.minimaxi.com/v1/ | MiniMax |
| MiniMax Global | minimax-global | https://api.minimax.io/v1/ | MiniMax Global |
| Mistral | mistral | https://api.mistral.ai | Mistral |
| ModelScope | modelscope | https://api-inference.modelscope.cn/v1/ | ModelScope |
| Moonshot AI | moonshot | https://api.moonshot.cn | Moonshot AI |
| OpenAI | openai | https://api.openai.com | OpenAI |
| Silicon | silicon | https://api.siliconflow.cn | Silicon |
| Z.ai | zai | https://api.z.ai/api/paas/v4/ | Z.ai |
| ZhiPu | zhipu | https://open.bigmodel.cn/api/paas/v4/ | ZhiPu |
Only providers with public OpenAI-compatible model list APIs are included.
Usage
| Export | Description | Type | Default | Version |
| ----------------- | ------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | ------- |
| PROVIDERS | Alphabetically sorted provider registry. | readonly ProviderRegistryEntry[] | Built-in provider metadata. | v0 |
| PROVIDER_IDS | Reusable provider ID constants such as PROVIDER_IDS.OPENAI. | const object | Built-in provider IDs. | v0 |
| listProviders() | Returns PROVIDERS as-is. | () => readonly ProviderRegistryEntry[] | Returns the built-in registry. | v0 |
| getProvider() | Looks up one provider by ID. | (id: ProviderId) => ProviderRegistryEntry \| undefined | Returns undefined when not found. | v0 |
| fetchModels() | Fetches /models with Authorization: Bearer {apiKey}. Supports baseUrl, fetch, and signal overrides. | (provider: ProviderId, options: FetchProviderModelsOptions) => Promise<FetchProviderModelsResult> | Uses the provider's built-in baseUrl and native globalThis.fetch. | v0 |
Callers are responsible for supplying valid API keys for the providers they use.
