-
-
Notifications
You must be signed in to change notification settings - Fork 84
feat(providers): add OrcaRouter provider #681
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -272,6 +272,7 @@ Set these to automatically register providers. No YAML configuration required. | |
| | `GEMINI_API_KEY` | Google Gemini | | ||
| | `DEEPSEEK_API_KEY` | DeepSeek | | ||
| | `OPENROUTER_API_KEY` | OpenRouter | | ||
| | `ORCAROUTER_API_KEY` | OrcaRouter | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Add OrcaRouter to the auto-discovery example. The table now documents Proposed documentation update export OPENROUTER_API_KEY="sk-or-..." # Registers "openrouter" provider
+export ORCAROUTER_API_KEY="sk-orca-..." # Registers "orcarouter" provider
export KILO_API_KEY="..." # Registers "kilo" providerAs per coding guidelines, documentation must update new configuration or API behavior. 🤖 Prompt for AI AgentsSource: Coding guidelines |
||
| | `KILO_API_KEY` | Kilo AI Gateway | | ||
| | `ZAI_API_KEY` | Z.ai | | ||
| | `XAI_API_KEY` | xAI (Grok) | | ||
|
|
@@ -284,10 +285,10 @@ Set these to automatically register providers. No YAML configuration required. | |
| | `VLLM_BASE_URL` | vLLM (no API key needed unless upstream requires) | | ||
| | `LLMD_BASE_URL` | llm-d Router/EPP (no API key needed unless its Gateway requires one) | | ||
|
|
||
| Most providers can use a custom base URL via `<PROVIDER>_BASE_URL` (for example `OPENAI_BASE_URL`). Chutes AI defaults to `https://llm.chutes.ai/v1` and can be overridden with `CHUTES_BASE_URL`. DeepSeek defaults to `https://api.deepseek.com`; set `DEEPSEEK_BASE_URL` only for a compatible proxy or alternate DeepSeek endpoint. OpenRouter defaults to `https://openrouter.ai/api/v1` and can be overridden with `OPENROUTER_BASE_URL`. Kilo AI defaults to `https://api.kilo.ai/api/gateway` and can be overridden with `KILO_BASE_URL`. Z.ai defaults to `https://api.z.ai/api/paas/v4`; set `ZAI_BASE_URL=https://api.z.ai/api/coding/paas/v4` for the GLM Coding Plan endpoint. SGLang defaults to `http://localhost:30000/v1` when `SGLANG_API_KEY` is set, but keyless deployments should set `SGLANG_BASE_URL` explicitly to register the provider. vLLM follows the same pattern at `http://localhost:8000/v1`. llm-d has no universal endpoint, so `LLMD_BASE_URL` is always required; `LLMD_API_KEY` is optional. Azure uses `AZURE_BASE_URL` for its deployment base URL and accepts an optional `AZURE_API_VERSION` override; otherwise it defaults to `2024-10-21`. Oracle requires `ORACLE_BASE_URL` because its OpenAI-compatible endpoint is region-specific. | ||
| Most providers can use a custom base URL via `<PROVIDER>_BASE_URL` (for example `OPENAI_BASE_URL`). Chutes AI defaults to `https://llm.chutes.ai/v1` and can be overridden with `CHUTES_BASE_URL`. DeepSeek defaults to `https://api.deepseek.com`; set `DEEPSEEK_BASE_URL` only for a compatible proxy or alternate DeepSeek endpoint. OpenRouter defaults to `https://openrouter.ai/api/v1` and can be overridden with `OPENROUTER_BASE_URL`. OrcaRouter defaults to `https://api.orcarouter.ai/v1` and can be overridden with `ORCAROUTER_BASE_URL`. Kilo AI defaults to `https://api.kilo.ai/api/gateway` and can be overridden with `KILO_BASE_URL`. Z.ai defaults to `https://api.z.ai/api/paas/v4`; set `ZAI_BASE_URL=https://api.z.ai/api/coding/paas/v4` for the GLM Coding Plan endpoint. SGLang defaults to `http://localhost:30000/v1` when `SGLANG_API_KEY` is set, but keyless deployments should set `SGLANG_BASE_URL` explicitly to register the provider. vLLM follows the same pattern at `http://localhost:8000/v1`. llm-d has no universal endpoint, so `LLMD_BASE_URL` is always required; `LLMD_API_KEY` is optional. Azure uses `AZURE_BASE_URL` for its deployment base URL and accepts an optional `AZURE_API_VERSION` override; otherwise it defaults to `2024-10-21`. Oracle requires `ORACLE_BASE_URL` because its OpenAI-compatible endpoint is region-specific. | ||
|
|
||
| Every provider type also accepts a comma-separated configured model list via | ||
| `<PROVIDER>_MODELS`, for example `OPENROUTER_MODELS`, `ORACLE_MODELS`, | ||
| `<PROVIDER>_MODELS`, for example `OPENROUTER_MODELS`, `ORCAROUTER_MODELS`, `ORACLE_MODELS`, | ||
| `AZURE_MODELS`, `SGLANG_MODELS`, `VLLM_MODELS`, or `LLMD_MODELS`. By default, | ||
| `CONFIGURED_PROVIDER_MODELS_MODE=fallback` uses configured lists only when | ||
| upstream `/models` fails, returns nil, or returns an empty list. Set | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Synchronize the passthrough provider lists.
The changed default comment omits
sglang, while the explicitENABLED_PASSTHROUGH_PROVIDERSvalue at Line 73 omitsorcarouterand addscoheredespite the preceding opt-in note.config/config.goLines 97-108 anddocs/features/passthrough-api.mdxLines 134-154 define a different default set.config/config_test.goLines 1213-1238 confirms that this environment variable replaces the YAML list. An operator who enables the template value can therefore disable OrcaRouter passthrough unintentionally.Proposed synchronization
📝 Committable suggestion
🤖 Prompt for AI Agents