OmniRoute: One Endpoint for Every Provider

OmniRoute: One Endpoint for Every Provider

What the AI subscription business does not understand about OmniRoute. Or rather, about quotas.

Why? You have to follow the tokens. Where they come from, who holds them, and what happens when they run out in the middle of a refactor.

The shape of the problem is simple. Your coding tool talks to one provider. That provider gives you a quota, the quota is finite, and the provider knows exactly how finite it is, because it charged you good money for the subscription. When the quota dries up, the tool stops. Your deadline is not its problem.

OmniRoute takes the opposite view. It is an open-source AI gateway, an LLM router that runs on your own machine and hands your tools one local endpoint, backed by hundreds of providers at once. One says no, and the request walks to the next one. The code is MIT-licensed TypeScript, it lives in the repository diegosouzapw/OmniRoute, and the pitch printed on it is blunt: never stop coding.

Follow the tokens

Grains, oil, quotas. The financing structure of a thing decides what the thing becomes, and AI access is now a financing structure.

Stacking free tiers by hand, as the project itself says, means dozens of SDKs, dozens of rate limits and no real idea of how much you actually hold. So OmniRoute does the unglamorous arithmetic. It aggregates the documented free tiers of 42 provider pools spanning 495 models into one number, deduplicated so a shared pool is counted once, and shows the total live on a dashboard.

An honest ledger

The number, on the project’s own methodology: roughly 1.5 billion tokens a month, with around 2.1 billion reachable in a first month once one-time signup credits land. Treat the decimals as weather. The documentation itself states that the ledger is re-audited against the live catalog every two weeks and moves in both directions, because providers open tiers and close them whenever they feel like it.

The methodology matters more than the digit. Count every rate limit naively, around the clock, and the same catalog would read about 10 billion, the project notes, and it refuses to publish that figure. Fifteen providers whose terms of service raise questions are flagged so the user decides, rather than quietly fed into the headline. A ledger that deducts itself is worth more than a big number.

OmniRoute: One Endpoint for Every Provider

About that count

One more thing, because everyone who counts this project gets a different figure, and it slows nobody down.

The current README says 348 providers behind one endpoint, more than 90 with free tiers, 57 of them free forever. The GitHub description attached to the same repository says 340. The project’s own homepage says 339 providers and 56 free forever. Third-party summaries caught it lower still: one catalog lists 237 providers, and a widely shared write-up counted just over 230. Is somebody lying? No. They visited on different dates, and the catalog grows release over release while the prose trails behind.

A set with an expiry date

A July hands-on review found six routing strategies. The current documentation lists nineteen. The homepage manages to say both things in adjacent paragraphs, seventeen in one headline and nineteen in the next.

Understand what that tells you: the set evolves, and the person evaluating the tool in September is not using the software the reviewer touched in July. Where the numbers cannot settle, report the mechanism. Providers are grouped, pooled, deduplicated and fallen back across automatically. The rest is arithmetic with an expiry date.

How OmniRoute routes requests

Call it a gateway, an OpenAI-compatible proxy, a universal router: the mechanism is one endpoint plus homework. Tools point at the local address and keep speaking whatever protocol they already spoke, while the gateway handles protocol translation, provider selection, fallback, usage tracking and optional prompt compression. A production guide describes exactly that division of labor and recommends starting boring: one primary route that already passes your evaluation, one compatible fallback, one reason to switch. Boring is a compliment here.

Combos, automatic and hand-built

A combo is a chain of models the gateway walks across on its own: quota exhausted, provider error, cost spike, and the combo slides to the next model without the client noticing anything. The current documentation lists 19 routing strategies, from plain priority and round-robin through weighted load balancing, power-of-two-choices, reset-aware quota scheduling, a cache-optimized mode that pins each reusable prompt prefix to the same account to maximise prompt-cache hits, fusion, which fans a request out to a panel of models and has a judge synthesize one answer, and pipeline, which feeds each target’s output into the next one.

The auto model: routing without configuration

The lazy option is a model literally called auto. Set the model field to auto and the engine builds a virtual combo out of everything you have connected, scoring candidates on fourteen factors: health, quota, cost, latency, success rate, freshness and more. Variants tilt the same machinery. auto/coding weighs quality for code generation, auto/fast picks the lowest latency, auto/cheap the lowest per-token price, auto/offline the most rate-limit headroom, and auto/smart mixes quality-first selection with ten percent exploration to discover better candidates. The default behavior sticks to the last known good provider, which is a polite way of saying the system dislikes change as much as you do at 2 a.m.

Fallback down four stairs

The fallback cascade comes in four tiers and the documentation draws them as stairs. Tier one is subscription-based access, the Claude Code, Codex and Copilot style of connection. Quota gone: down to tier two, ordinary API keys, with DeepSeek, Groq and xAI given as examples. Budget ceiling reached: tier three, the cheap paid providers. Final stair: tier four, the always-on free providers. The promise is not that a request never fails. The promise is that it never hits a wall; it changes floors.

Resilience without theatre

Self-healing is built as three independent layers, and the right layer answers the right failure:

  • A provider-level circuit breaker trips only on timeout and server-error responses, after ten errors for OAuth accounts, fifteen for API keys and two for local providers, then cools down for 60, 30 or 15 seconds into a half-open probe. While it is open, the combo simply reroutes.

  • A connection-level cooldown handles one bad key: a base of five seconds for OAuth and three for API keys, doubling exponentially, honoring the Retry-After header on a 429, while sibling keys of the same provider keep serving.

  • A model-level lockout catches per-model failures: a 429 on one model, a local 404 or a mode denial locks exactly that model and nothing else. Terminal states, a banned account or exhausted credits, are surfaced to the operator instead of being cooled.

Small failures fail small. That is the whole doctrine.

OmniRoute: One Endpoint for Every Provider

Token compression: the multiplier claim

Two compression engines sit stacked before the request ever leaves your machine. RTK, inspired by the Rust Token Killer project according to one reviewer, compresses the repetitive junk that fills a coding session: build logs, test runs, tool output. Caveman handles prose. The current documentation describes twelve composable engines in total, with names like LLMLingua-2, a two-tier Ultra and omniglyph, guarded by a default-on inflation check and a per-step fidelity gate.

Now the claim, and keep the qualifier attached to it: 15-95% of eligible tokens cut, averaging about 89% on tool-heavy sessions.

Attention: those are the vendor’s own numbers. Count them as a promise to test on your traffic, not as a deposit in the bank. Even at half the claim, on a pool of free tiers, compression is the multiplier that matters, because smaller requests stretch smaller quotas further.

Zero-config, and a zoo of tools

The fresh-install story is the part that annoys the subscription counter most. Two keyless free providers, OpenCode Free and Felo, come pre-wired into the auto combo, so a brand-new installation answers with no API key, no signup and no configuration:

curl http://localhost:20128/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'

Prefer a specific backend? Call it with a prefix, oc/ for OpenCode Free, felo/ for Felo, or just let auto pick and stop thinking about it.

One command, zero config files

Compatibility is the cabinet where this project keeps its trophies. Claude Code, Codex CLI, Cursor CLI, Cline, Copilot CLI headline the list; the documentation counts 34 tool setups in all, 26 coding CLIs plus 8 CLI agents, and then the honest catch-all: anything that speaks an OpenAI-compatible API. Seven of those tools launch through the gateway with one command and zero config files written:

omniroute run claude    --model openai/gpt-5.4
omniroute run codex     --model glm/glm-5.2
omniroute run aider     --model glm/glm-5.2 -- --message "reply OK"
omniroute run opencode  --model glm/glm-5.2 -- run "reply OK"
omniroute configure codex

That last one is an interactive provider-and-model picker that writes the tool’s own config, and it works for claude, opencode, qwen, goose, cline, continue and kilo as well.

VS Code without the paperwork

Then there is VS Code, where the project stops being polite. An OmniCopilot extension puts every model OmniRoute serves directly into the native Copilot Chat model picker, on the Marketplace and on Open VSX alike. Since VS Code 1.122, provider models work without a GitHub sign-in and without a Copilot subscription: agent mode, tool calling, vision, on OmniRoute’s free models. The picker you already use, minus the plan. You see now why the subscription paperwork is nervous.

Where it runs, and what it costs to keep alive

  • npm install -g omniroute on any operating system

  • A multi-arch Docker image, AMD64 and ARM64, published as diegosouzapw/omniroute

  • An Electron desktop build, native window and system tray, on Windows, macOS and Linux, via npm run electron:build

  • Android through Termux: pkg install nodejs && npx -y omniroute, running on a phone around the clock with no root

  • An installable PWA from the browser

  • npm install && npm run dev from source, if you want to hack on it

Put the server on a VPS and the same CLI drives it from your laptop through remote mode, with scoped access tokens replacing passwords:

omniroute connect 192.168.0.15
omniroute models list
omniroute tokens create --name ci --scope read
omniroute contexts use default

Tokens come scoped as read, write or admin, and the routes that spawn processes stay loopback-only regardless.

OmniRoute: One Endpoint for Every Provider

The cost of keeping it alive

What does keeping it alive cost? A hands-on review measured the container idling at roughly 541 MB of RAM and about 3% CPU with no traffic. The same review carries the one instruction that outranks every other: set INITIAL_PASSWORD, because otherwise the dashboard’s admin login defaults to the literal string CHANGEME, and dashboard plus API share port 20128. Set the password first. Read the security documentation second. Then enjoy yourself.

Private, local, and the fine print

The privacy posture is a list of eleven guarantees and they are the right kind: everything runs on your hardware with zero cloud hops, telemetry is off by default, credentials are encrypted at rest with AES-256-GCM, no account is required, the gateway hardens itself with API-key scoping, IP filtering and a prompt-injection guard on every LLM route, upstream headers get scrubbed, PII redaction and credential masking are strictly opt-in, errors are sanitized, and the audit trail lives in your own SQLite. MIT license, open source, no license key, no restrictions to find.

Radar is the one optional outward call, and the project discloses its shape plainly: an opt-in, GET-only signed catalog overlay for fresher free-model availability between releases. The client does not upload prompts, traffic, provider configuration, usage telemetry or even which announcements you dismissed. Supporters can receive a live catalog whose separate ceiling, approximately 3 billion tokens a month, is stated as at most, not a guarantee, because providers change quotas, eligibility, models and regions whenever they choose. The community catalog and every existing free feature stay free either way.

Who pays for it

Sponsorship is disclosed rather than hidden, which is worth a sentence of its own. Kimi, the Moonshot AI lab behind the open-weight K2 and K3 families, is the founding Open Source Friend and funds the release pipeline, including the stage that reviews each pull request before it ships; OmniRoute describes itself as the first Brazilian open-source project in that support program. Cheaper Inference, a cost-ranked gateway reselling 42 frontier models without charging above list price, is the second named friend. Links tagged aff=omniroute are partner links that fund the project at no extra cost to the user, and a separate affiliates section offers public signup coupons from providers the project explicitly has no partnership with, flagged as such.

What grows next

The published roadmap table points at a v3.9.0 LTS and queues a vision Modality Bridge with video behind it, the opt-in Radar free catalog, and two items marked further out: quota-aware scheduling and quota telemetry, which would turn the counted free pools into a real quota management loop. The provider count itself is on the same trajectory, 290 in one release line, 342 in the next, with more queued, which is the polite explanation for why every reviewer counts a different animal.

The surface has already widened past chat. New endpoints cover OCR and audio transcription, and one API now fronts image, video and audio generation through services the changelog names, from xAI’s Grok Imagine to ComfyUI, Adobe Firefly and EdgeTTS. Beyond the server sits a full command line with more than 80 commands, an interactive TUI chat client, a setup wizard and a doctor for diagnosing providers, plus an MCP server with 110 tools and the A2A agent protocol, so an agent can drive the gateway on its own, with an OmniConductor panel and push-to-talk voice chat on top.

Your experiment to run

So. The free tokens exist, the gateway knows where they are, and the arithmetic is published rather than asserted. Whether the multipliers hold at your workload is your experiment to run: point one tool at the local server, read the X-OmniRoute-Decision header that names the strategy, provider and latency behind each response, and see for yourself. The router does not mind being doubted. It just routes.

People Also Ask

Does OmniRoute support Claude Code, Cursor, and Codex?

Yes, and the list runs long past those three. The project’s documentation walks through 34 tool setups, and a single omniroute run command launches seven CLIs through the gateway without writing any config files. Cursor users also get a dedicated OpenCode plugin, @omniroute/opencode-provider, and VS Code users get the OmniCopilot extension, which feeds OmniRoute models into the native Copilot Chat picker without a GitHub sign-in since VS Code 1.122. Anything else that speaks an OpenAI-compatible API can point straight at the local endpoint.

What is the auto model in OmniRoute?

auto is a virtual combo you never have to build. Set the model field to auto and OmniRoute scores every connected provider live on fourteen factors, health, quota, cost, latency, success rate and freshness among them, then answers through the best candidate, sticking by default to the last provider that served you well. Variants aim the same machinery: auto/coding weighs code quality, auto/fast aims at latency, auto/cheap at per-token price, auto/offline at rate-limit headroom, and auto/smart adds ten percent exploration to discover better models. Two keyless free providers are pre-wired into it, so it answers on a fresh install with no API key at all.

How does OmniRoute token compression work?

Two engines stack before the request reaches any provider: RTK compresses repetitive tool output such as build logs and test runs, while Caveman compresses prose, with twelve composable engines documented overall plus a fidelity gate and an inflation guard switched on by default. The project claims 15-95% of eligible tokens saved, roughly 89% on tool-heavy sessions, and the qualifier matters: treat it as the vendor’s claim and verify it against your own traffic.

How does OmniRoute route requests across providers?

A request enters one OpenAI-compatible endpoint and the gateway picks a path, either through the zero-config auto channel or through a combo you built yourself. Combos chain models and slide to the next one on quota exhaustion, provider failure or cost spikes, with nineteen routing strategies in the current documentation, from simple priority to cost-optimized, cache-optimized and fusion, which consults a panel of models and synthesizes one answer. Underneath, circuit breakers isolate a failing provider, cooldowns isolate a failing key and lockouts isolate a failing model, so the rerouting never surfaces to your tool.

Additional Resources

Leave a Comment

Your email address will not be published. Required fields are marked *