Skip to content

[FR] - Add OrcaRouter as a built-in AI provider #1196

Open

Description

@XiaoHuo888-hue

Is your feature request related to a problem? Please describe.
WhoDB's AI chat assistant currently has one OpenAI-compatible gateway-style provider gap: users who want to pick from many models behind a single API key (OpenAI, Anthropic, Google, DeepSeek, Qwen, MiniMax, xAI) must either add OrcaRouter as a generic WHODB_AI_GENERIC_* provider or skip it. A first-class provider entry would make it a one-token setup like OpenAI or Anthropic.

Describe the solution you'd like
Add OrcaRouter as a built-in AI provider in the Chat configuration, following the same pattern as the existing OpenAI/Anthropic built-ins:

  • A registered OrcaRouter provider type in the Go provider registry, backed by the OpenAI-compatible adapter, defaulting to https://api.orcarouter.ai/v1.
  • Environment variables WHODB_ORCAROUTER_API_KEY, WHODB_ORCAROUTER_ENDPOINT, and WHODB_ORCAROUTER_NAME so server-side deployments can preconfigure it (mirroring WHODB_OPENAI_*).
  • A frontend catalog entry and icon so the provider renders with its label and logo in the AI Provider dropdown, including the "Add a provider" flow.
  • Docs section and env-var reference in docs/ai/setup-providers.mdx.

Describe alternatives you've considered

  • Generic WHODB_AI_GENERIC_ORCAROUTER_* env vars already work today, but they are invisible in the built-in catalog and require users to know the exact model list. A named provider keeps the model picker live (models are fetched from /models) and matches how OpenAI/Anthropic are handled.
  • OpenRouter-style third-party integration is out of scope; this is specifically about the OrcaRouter gateway.

Additional context
OrcaRouter is an OpenAI-compatible model routing gateway. Its model names use a provider/model format (e.g. openai/gpt-5.5, anthropic/claude-sonnet-4.6, orcarouter/auto), so model discovery via /v1/models works with the existing OpenAI-compatible adapter unchanged.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions