Skip to content

feat: add OrcaRouter as a dedicated OpenAI-compatible relay provider - #688

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

feat: add OrcaRouter as a dedicated OpenAI-compatible relay provider#688
Marc-oss-hub wants to merge 1 commit into
justlovemaki:mainfrom
Marc-oss-hub:feat/orcarouter-provider

Conversation

@Marc-oss-hub

Copy link
Copy Markdown

Summary

Adds OrcaRouter (https://www.orcarouter.ai) as a fourth dedicated OpenAI-compatible relay provider in the provider management UI, mirroring the existing atlascloud wiring end to end.

  • Backend: MODEL_PROVIDER.ORCAROUTER enum entry, OpenAIApiServiceAdapter registration, OpenAI protocol-prefix mapping (incl. orcarouter-* group types), identifyFieldMap entry, managed-model-list membership, and a default health-check model.
  • Frontend: provider list entry (with console register URL), credential fields (OPENAI_API_KEY / OPENAI_BASE_URL, placeholder https://api.orcarouter.ai/v1), display name + i18n (EN/ZH), config-section provider tag, routing examples (paths /orcarouter/v1/chat/completions & /orcarouter/v1/messages, curl case, icon, default model), and add-group allowed types.
  • Config: configs/provider_pools.json.example gains an orcarouter pool block.

Default base URL is https://api.orcarouter.ai/v1 and the default model is orcarouter/auto (OrcaRouter's dynamic routing model). All changes are additive; no existing provider behavior is modified.

Verification

  • node --check passes on every edited JS file; provider_pools.json.example parses as valid JSON.
  • Live L3 test against the real OrcaRouter endpoint through the app's OpenAIApiServiceAdapter (https://api.orcarouter.ai/v1/chat/completions, model orcarouter/auto) returned ORCAROUTER_OK.
  • Wiring assertions pass: getProtocolPrefix('orcarouter')openai, getManagedModelListProviderType('orcarouter')orcarouter, and the adapter registry includes orcarouter.

Disclosure

I'm an engineer on the OrcaRouter team.

This change only adds a new provider type that mirrors the existing atlascloud wiring; no credentials or secrets are included in the diff.

Add 'orcarouter' as a fourth named OpenAI-compatible relay provider,
mirroring the existing atlascloud wiring end to end:

- Backend: MODEL_PROVIDER.ORCAROUTER enum entry, OpenAIApiServiceAdapter
  registration, OpenAI protocol prefix mapping, identifyFieldMap entry,
  managed-model-list membership, and default health-check model.
- Frontend: provider list, field definitions (OPENAI_API_KEY /
  OPENAI_BASE_URL), display names, i18n (EN/ZH), config-section provider
  tags, routing examples (paths, curl case, icon, default model), and
  add-group allowed types.
- Config: provider_pools.json.example orcarouter block.

Default base URL https://api.orcarouter.ai/v1 and default model
orcarouter/auto.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Marc-oss-hub <sjh668899@outlook.com>
@justlovemaki

Copy link
Copy Markdown
Owner

To add other providers compatible with the OpenAI protocol, please first go through the sponsorship channel.
Sponsor this project : https://github.com/sponsors/justlovemaki

@justlovemaki

Copy link
Copy Markdown
Owner

@codex

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🚀

Reviewed commit: 3b7e84f164

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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.

2 participants