feat: add OrcaRouter as a built-in provider - #673
Open
armyluki-wq wants to merge 1 commit into
Open
Conversation
Add OrcaRouter as a first-class named provider in the built-in catalog, mirroring the existing OpenRouter entry. OrcaRouter is an OpenAI-compatible AI gateway that exposes a provider/model namespace across 200+ models and also combines adaptive routing, automatic failover, and gateway-level agent security behind the same endpoint. The catalog entry declares the provider's base URL, credential env var, 113 chat-capable models with live context windows, token limits and per-token costs pulled from OrcaRouter's /v1/models API, plus reasoning-effort thinking levels. Tau's existing openai-completions transport handles the requests, so users can pick `orcarouter` from /login without treating it as an anonymous custom base URL. Update the provider list assertions and the providers-and-models docs to include OrcaRouter. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Tau describes itself as "a coding agent that lives in your terminal" and a
teaching project for understanding the shape of a coding-agent system. For
that to stay true, the built-in provider list in
/loginshould keep up withthe gateways people actually run agents through. Tau already ships an
OpenRouter entry as a first-class provider; this PR adds the same treatment
for OrcaRouter.
OrcaRouter is an OpenAI-compatible AI gateway built for both models and
agents. Like OpenRouter, it exposes a provider/model namespace across many
models — but it also combines adaptive routing, automatic failover,
zero-markup inference, observability, guardrails, and agent-tool governance
behind the same endpoint. Adding
orcarouteras a first-class provider meansTau users can use that stack directly, without treating OrcaRouter as an
anonymous custom base URL.
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
The built-in catalog is data, not code: I added an
orcarouterentry tosrc/tau_coding/data/catalog.toml, following the exact shape of the existingopenrouterentry:kind = "openai-compatible",api = "openai-completions", base URLhttps://api.orcarouter.ai/v1, credential envORCAROUTER_API_KEY.OpenAI, Qwen, xAI, and Z.AI, plus the
orcarouter/autoadaptive-router andorcarouter/freealiases. Model IDs use OrcaRouter'svendor/modelnamespace, matching how Tau already presents OpenRouter.
context_windows,max_tokens, andcostrates were pulled fromOrcaRouter's live
/v1/models/<id>metadata endpoint (verified today).reasoning_effort, so the existing OpenAI-compatibletransport handles reasoning without any provider-specific code.
Because provider configuration flows through Tau's normal catalog → settings →
runtime path, no Python changes were needed — this mirrors how CONTRIBUTING.md
describes adding a provider: "The built-in provider catalog is data, not
code: edit
src/tau_coding/data/catalog.tomland open a PR."Checks
uv run pytest— 1852 passed, 3 skippeduv run ruff check .— passeduv run ruff format --check .— passeduv run mypy— passedtau --provider orcarouter --model openai/gpt-5.4 -p "Say OK"returned
OKthrough Tau's orcarouter provider path (HTTP 200).Docs
Updated the providers guide, quickstart, concepts, what-is-tau, and README to
list OrcaRouter alongside OpenRouter.
Discord: discord.gg/YEubt8enRA · X: https://x.com/OrcaRouter
I'm an engineer on the OrcaRouter team.