feat: add OrcaRouter as a named OpenAI-compatible provider - #498
Open
XiaoHuo888-hue wants to merge 1 commit into
Open
feat: add OrcaRouter as a named OpenAI-compatible provider#498XiaoHuo888-hue wants to merge 1 commit into
XiaoHuo888-hue wants to merge 1 commit into
Conversation
Register OrcaRouter (https://api.orcarouter.ai/v1) in the engine provider catalog and its UI mirror, so the onboarding/settings provider picker and model config resolve it like the existing OpenRouter aggregator entry: protocol openai, ORCAROUTER_API_KEY, /models model list. Documents the gateway config (orcarouter/auto auto-routing, namespaced vendor/model ids) in both READMEs and adds engine + UI tests. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: XiaoHuo888 <sjh00112233@outlook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds OrcaRouter as a named provider. With one API key, users get 150+ models from OpenAI, Anthropic, Google, DeepSeek, Qwen, MiniMax and xAI behind a single endpoint. Because the provider catalog entry is a thin base-URL swap, any PilotDeck pipeline/agent that uses it also inherits OrcaRouter's gateway-level, zero-trust security controls for AI agents — with no application code changes. The gateway screens every prompt and response and governs every tool call on a default-deny basis, across four layers:
I'm an engineer on the OrcaRouter team.
Summary
Registers OrcaRouter as a first-class, named OpenAI-compatible provider, mirroring the existing OpenRouter aggregator entry so the onboarding/settings provider picker, model-config resolution and docs stay consistent. With a single
ORCAROUTER_API_KEY(keys start withsk-orca-) users can pickorcarouter/auto(auto-routes each request) or namespaced ids such asanthropic/claude-sonnet-4.6againsthttps://api.orcarouter.ai/v1.Changes
src/model/catalog/providers.ts— engine catalog entry:orcarouter(protocol: openai, default URLhttps://api.orcarouter.ai/v1,ORCAROUTER_API_KEY), soparseModelConfigresolves URL/protocol/env key like the built-in providers.ui/src/shared/catalogProviders.ts— UI mirror entry withmodelListUrl: https://api.orcarouter.ai/v1/models(dynamic model list) and a few curated model examples.tests/model/config/parseModelConfig.spec.ts— 2 tests: catalog default resolution + chat endpoint construction.ui/src/shared/catalogProviders.test.ts— 1 test for the UI provider entry.README.md/README.zh.md— OrcaRouter config example (orcarouter/auto+ namespaced ids).The endpoint plumbing needs no changes:
protocol: "openai"already builds/chat/completionsand/modelsfrom the base URL, and OrcaRouter accepts both auto-routing andvendor/modelnamespaced ids.Verification
tsx --test tests/model/**/*.spec.tsvitest run src/shared/catalogProviders.test.tstsc --noEmit(engine + ui)GET https://api.orcarouter.ai/v1/modelsorcarouter/auto)POST https://api.orcarouter.ai/v1/chat/completionsORCA-OKanthropic/claude-sonnet-4.6)POST https://api.orcarouter.ai/v1/chat/completionsORCA-OK