feat: add OrcaRouter as a model provider#8403
Open
jinhaosong-source wants to merge 2 commits into
Open
Conversation
Adds OrcaRouter (an OpenAI-compatible model routing gateway) as a predefined remote provider, mirroring the existing OpenRouter entry: - provider entry in web-app providers constants (base_url https://api.orcarouter.ai/v1, API-key setting, a few flagship models including the orcarouter/auto adaptive router) - OrcaRouter display-name casing in getProviderTitle - docs page under remote-models + nav entry I'm an engineer on the OrcaRouter team.
Add the OrcaRouter brand icon and map it in getProviderLogo so the provider renders with its logo instead of the default avatar fallback.
Author
|
👋 @qnixsynapse — opened this small PR adding OrcaRouter as a predefined model provider (mirrors the existing OpenRouter entry; provider tests pass and I verified the endpoint + models live). Would appreciate a look whenever you have a moment. Thanks! |
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 — an OpenAI-compatible model routing gateway — as a predefined remote provider, mirroring the existing OpenRouter entry so users can reach many models (OpenAI, Anthropic, Google, DeepSeek, xAI, …) through one endpoint and one API key. The
orcarouter/autorouter can also pick a suitable upstream per request based on cost, latency, and quality, and named routers can be driven by a routing DSL (YAML + CEL rules) that selects an upstream per request from task type, difficulty, and agent session state. Because the provider is a thin base-URL swap, any Jan chat that uses it also inherits OrcaRouter's gateway-level, zero-trust security controls for AI agents — scoped keys, guardrails, a tool-level agent firewall, and an audit trail — with no application changes.Changes
web-app/src/constants/providers.ts—orcarouterprovider entry: base URLhttps://api.orcarouter.ai/v1, API-key setting, and a few flagship models including theorcarouter/autoadaptive router. Shaped exactly like the existingopenrouterentry.web-app/src/lib/utils.ts—getProviderTitlecase ("OrcaRouter" casing) andgetProviderLogocase for the brand icon.web-app/public/images/model-provider/orcarouter.svg— OrcaRouter brand icon.docs/src/pages/docs/desktop/remote-models/orcarouter.mdx+_meta.json— provider docs page and nav entry, following the OpenRouter page.Testing
web-appprovider unit tests pass locally (src/lib/__tests__/model-factory.test.ts, 29/29).https://api.orcarouter.ai/v1: every listed model returns completions —openai/gpt-5.5,anthropic/claude-opus-4.8,google/gemini-3.5-flash, and theorcarouter/autorouter.Authorization: Bearer, OpenAI wire format), so it reuses the existing OpenAI-compatible request path — no adapter or new dependency needed.I'm an engineer on the OrcaRouter team. Happy to adjust anything.