feat(providers): add OrcaRouter as a named provider - #247
Conversation
Add OrcaRouter as a first-class remote provider mirroring the existing OpenRouter wiring: - constants/models.ts: capability entry (models via /v1/models, tools, vision, JSON, streaming, n) - lib/utils.ts: provider logo + title (OrcaRouter) - lib/model-factory.ts: route orcaRouter through createOpenAICompatibleModel - public/images/model-provider/orcarouter.svg: brand mark (512x512) - docs: orcaRouter remote-models guide + _meta.json entry - tests: unit coverage for logo/title/capabilities; provider-presence checklists updated Local verification: 1977 vitest tests pass (186 files), eslint clean on changed source, and a live call to https://api.orcarouter.ai/v1 with a real key returns 200. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: JinhaoSong322 <jinhao.song@myflashcloud.com>
|
Thanks for putting this together, @JinhaoSong322 — the diff is well-scoped and you found the right seams. In particular, adding the Verified on your branch merged onto current
There's one blocker, and it's structural rather than anything wrong in your code. The provider won't appear anywhereCloud providers aren't defined in this repo any more. They're loaded at runtime from a manifest in
I fetched the live manifest to be sure: No What's needed is a companion PR against
Once that lands, most of this diff still applies — the Three questions
Doc nits (optional)
Happy to review again as soon as the registry PR is up 🐋 Generated by Claude Code |
Describe Your Changes
Add OrcaRouter as a first-class named remote provider, mirroring the existing OpenRouter wiring.
OrcaRouter is an AI gateway that routes every request to the best model for the job — mixing frontier models, open-weight models, and long-context specialists behind one unified, OpenAI-compatible API. 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.
What changed
web-app/src/constants/models.ts— add anorcaroutercapability entry (model list via/v1/models, tools, vision, JSON, streaming, n).web-app/src/lib/utils.ts— provider logo and display title (OrcaRouter).web-app/src/lib/model-factory.ts— routeorcarouterthroughcreateOpenAICompatibleModel.web-app/public/images/model-provider/orcarouter.svg— OrcaRouter brand mark (512×512, brand blue).docs/.../remote-models/orcarouter.mdx+_meta.json— setup guide (API key, base URLhttps://api.orcarouter.ai/v1,orcarouter/autosmart router) and docs index entry.tests/checklist.md,autoqa/checklist.md) updated.Verification
vitest run: 1977 tests pass / 186 files (11 skipped, pre-existing).POST https://api.orcarouter.ai/v1/chat/completionswithorcarouter/autoreturns HTTP 200;GET /v1/modelsreturns the model catalog.Disclosure: I'm an engineer on the OrcaRouter team.