Skip to content

feat: add OrcaRouter as a named LLM provider #2200

Description

@XiaoHuo888-hue

Problem

Lingo.dev supports several named LLM providers out of the box (OpenAI, Anthropic, Google, Groq, Mistral, OpenRouter, Ollama). There is no first-class provider entry for a smart-routing OpenAI-compatible gateway, so users who want to route all translations through such a gateway have to rely on the generic OPENAI_BASE_URL override (see #1729) and a hand-written provider:model string.

Solution

Add OrcaRouter as a named provider. OrcaRouter is an OpenAI-compatible LLM gateway with a smart routing model (orcarouter/auto). Adding it as a first-class provider entry mirrors the existing OpenRouter wiring and gives users a discoverable, documented option instead of a generic passthrough.

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.

Implementation sketch (mirrors the existing OpenRouter provider):

  • New orcarouter case in createAiModel (new compiler) that builds an OpenAI-compatible client pointed at https://api.orcarouter.ai/v1 with ORCAROUTER_API_KEY.
  • New orcarouter entry in providerDetails (new compiler + legacy compiler), the CLI settings schema, llm-api-key.ts, and the CLI processor / explicit localizer.
  • Update the providerSchema enum in @lingo.dev/_spec.
  • Add ORCAROUTER_API_KEY to docs and .env examples.

Alternatives

  • Leave users to the generic OPENAI_BASE_URL passthrough (Add openAI compatible provider #1729). This works but offers no discoverable, named integration and no provider metadata (key links, config keys).

Checklist

  • Add named orcarouter provider across the provider registries
  • Add tests
  • Add changeset

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