Skip to content

feat: add OrcaRouter as a named model provider - #1684

Open
Marc-oss-hub wants to merge 1 commit into
MODSetter:devfrom
Marc-oss-hub:feat/orcarouter-provider
Open

feat: add OrcaRouter as a named model provider#1684
Marc-oss-hub wants to merge 1 commit into
MODSetter:devfrom
Marc-oss-hub:feat/orcarouter-provider

Conversation

@Marc-oss-hub

@Marc-oss-hub Marc-oss-hub commented Aug 14, 2026

Copy link
Copy Markdown

What

Adds OrcaRouter as a first-class, named model provider in SurfSense, mirroring the existing OpenRouter/Requesty integration pattern.

OrcaRouter is an OpenAI-compatible model gateway that lets you reach models from many providers through one key (e.g. openai/gpt-5.5, anthropic/claude-sonnet-5). It also provides gateway-level security controls for AI agents.

Changes

  • surfsense_backend/app/services/provider_registry.py — register orcarouter as an OpenAI-compatible provider with discovery (openai_models), base URL https://api.orcarouter.ai/v1, and bearer auth, matching the existing requesty/openrouter entries.
  • surfsense_web/components/icons/providers/orcarouter.svg — new provider icon.
  • surfsense_web/components/icons/providers/index.ts — export the new icon.
  • surfsense_web/lib/provider-icons.tsx — render the icon for ORCAROUTER connections.
  • surfsense_web/components/settings/model-connections/provider-metadata.tsx — add orcarouter to the provider order/display metadata.
  • surfsense_web/components/settings/model-connections/default-connect-form.tsx — show the base-URL hint for OrcaRouter connections.

Verification

  • L3 live test against the real gateway passed: GET https://api.orcarouter.ai/v1/models with an sk-orca- key returns 200 and a model list that includes namespaced slugs like openai/gpt-5.5, orcarouter/free, and orcarouter/fusion.
  • Config format follows the existing provider contract: OPENAI_COMPATIBLE transport + OPENAI_BASE_URL-style base URL, so no backend routing changes are needed.

I'm an engineer on the OrcaRouter team.

High-level PR Summary

This PR adds OrcaRouter as a named model provider in SurfSense, following the same integration pattern as existing OpenAI-compatible gateways like OpenRouter and Requesty. The changes register OrcaRouter in the backend provider registry with its API endpoint (https://api.orcarouter.ai/v1), add the provider icon and UI metadata for display in the settings interface, and include the base URL hint for connection configuration.

⏱️ Estimated Review Time: 5-15 minutes

💡 Review Order Suggestion
Order File Path
1 surfsense_backend/app/services/provider_registry.py
2 surfsense_web/components/icons/providers/orcarouter.svg
3 surfsense_web/components/icons/providers/index.ts
4 surfsense_web/lib/provider-icons.tsx
5 surfsense_web/components/settings/model-connections/provider-metadata.tsx
6 surfsense_web/components/settings/model-connections/default-connect-form.tsx

Need help? Join our Discord

@vercel

vercel Bot commented Aug 14, 2026

Copy link
Copy Markdown

@Marc-oss-hub is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a01cd5f7-ba0d-49a7-9293-e7d383fbc8a6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant