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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant