Skip to content

feat: add OrcaRouter LLM model provider - #6689

Open
Marc-oss-hub wants to merge 1 commit into
1Panel-dev:v2from
Marc-oss-hub:feat/orcarouter-provider
Open

feat: add OrcaRouter LLM model provider#6689
Marc-oss-hub wants to merge 1 commit into
1Panel-dev:v2from
Marc-oss-hub:feat/orcarouter-provider

Conversation

@Marc-oss-hub

Copy link
Copy Markdown

Summary

Adds OrcaRouter as a named model provider in the MaxKB provider registry, mirroring how the existing Regolo provider is wired. OrcaRouter is an OpenAI-compatible model routing gateway that exposes 150+ models from OpenAI, Anthropic, Google, DeepSeek, Qwen, MiniMax, xAI and others behind a single endpoint and API key. It also runs gateway-level, zero-trust security for AI agents on the same endpoint — screening every prompt/response and governing every tool call on a default-deny basis, with no application code changes.

I'm an engineer on the OrcaRouter team.

What this changes

  • apps/models_provider/constants/model_provider_constants.py: registers OrcaRouterModelProvider in ModelProvideConstants
  • apps/models_provider/impl/orcarouter_model_provider/orcarouter_model_provider.py: provider implementation with 8 curated models and the provider info/icon
  • apps/models_provider/impl/orcarouter_model_provider/credential/llm.py: credential form (API URL defaulting to https://api.orcarouter.ai/v1, API key, temperature / max tokens params)
  • apps/models_provider/impl/orcarouter_model_provider/model/llm.py: OrcaRouterChatModel (OpenAI-compatible, served through the existing BaseChatOpenAI path)
  • apps/models_provider/impl/orcarouter_model_provider/icon/orcarouter_icon_svg: provider icon

Why a separate provider rather than the OpenAI-compatible escape hatch

This mirrors how the Regolo aggregator is wired in this repo, so the model picker, docs and config reference stay consistent for users. OrcaRouter speaks the same OpenAI-compatible API, so the LLM family is served through the existing BaseChatOpenAI path — the provider is a thin base-URL swap plus a curated model catalog.

How to use it

  1. Get an API key at https://www.orcarouter.ai/console (keys start with sk-orca-).
  2. In Model Providers → OrcaRouter, set the API URL (https://api.orcarouter.ai/v1) and the API key.
  3. Pick a model such as openai/gpt-5.5, anthropic/claude-opus-4.8, google/gemini-3.5-flash, deepseek/deepseek-v4-pro, minimax/minimax-m2.7 or qwen/qwen3.7-max. The full catalog is at https://www.orcarouter.ai/models.

Verification

  • Live API: all 8 curated models return HTTP 200 with normal content through the OrcaRouter /v1 OpenAI-compatible chat/completions endpoint.
  • The provider registers cleanly through the existing IModelProvider / ModelInfo / ModelInfoManage machinery (mirror of RegoloModelProvider).

Add OrcaRouter as a named model provider in MaxKB's provider registry,
mirroring the existing Regolo/DeepSeek provider structure:

- Register OrcaRouterModelProvider in ModelProvideConstants
- Add orcarouter_llm_list with 8 curated models (orcarouter/auto,
  openai/gpt-5.5, google/gemini-3.5-flash, anthropic/claude-opus-4.8,
  grok/grok-4.3, deepseek/deepseek-v4-pro, minimax/minimax-m2.7,
  qwen/qwen3.7-max)
- Add credential form with api_base defaulting to
  https://api.orcarouter.ai/v1
- Add OrcaRouterChatModel (OpenAI-compatible chat model) and provider icon

OrcaRouter is an OpenAI-compatible AI gateway, so the LLM family is
served through the existing BaseChatOpenAI path; no additional
API-key handling beyond the standard credential form is required.
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.

1 participant