The same idea, with the routing in the open.
Weave Router is a capable drop-in LLM router: swap one base URL, keep your own keys, and requests go to a cheaper model. OmnisRouter works the same way and is built on the same kind of architecture. The reason to pick it is what you can see. OmnisRouter's routing model is open and rebuildable, its savings are measured by a public benchmark you can check yourself, and it is Apache-2.0 rather than a source-available licence. If you searched for an open alternative to Weave Router, this is it.
How they compare
| Dimension | Weave Router | OmnisRouter |
|---|---|---|
| Licence | Elastic License v2 (source-available) | Apache-2.0 (open source) |
| Routing model | Closed centroids | Open, ships in the repo, rebuildable from public data |
| Savings evidence | Marketing figures, no published benchmark to reproduce | Measured by OmnisBench; results published and re-gradable |
| Drop-in swap | Yes, base-URL change | Yes, base-URL change |
| Self-host, BYOK | Yes | Yes, single process, encrypted keys |
| Formats | Anthropic, OpenAI, Gemini | Anthropic, OpenAI, Gemini |
| Decision endpoint and receipts | Has a route-preview and analytics export | Same, plus receipts tied to a published, versioned model |
| Managed pricing | Not published | Not applicable (self-host); any hosted layer later keeps routing open |
Where Weave Router stands
Weave Router is a real product from a funded team, and the core is well built: the endpoint swap is clean, it preserves streaming, tools and vision across providers, it keeps prompt caches warm with session pinning, and it runs BYOK on your own infrastructure. If none of the openness questions below matter to you, it is a reasonable tool. OmnisRouter exists because, for a lot of people, those questions do matter.
You can check the routing, and the savings
A router that decides where your money goes is asking for trust. OmnisRouter tries to earn it rather than ask for it. The intent-cluster model and policy table are in the repo, and the offline job that builds them is documented, so the same inputs produce the same model. Every decision is stamped with the model version that made it. The coding and maths policy is driven by real numbers from OmnisBench, our companion benchmark, so a claim like "the cheap model is good enough here" is something you can go and re-grade, not a figure on a slide. A closed router cannot offer that, and a source-available licence is not the same as open.
Switching is another base-URL change
Because both are drop-in proxies that speak the same wire formats, moving is the same swap you already did once. Point your client at OmnisRouter, add your provider keys, and you are routing. Ask POST /v1/route what it would do with a request before you send it, and read the X-Omnis-* receipt headers on the way back.
# what would it do, and what does it save? no upstream call. $ curl -s localhost:8080/v1/route -H "authorization: bearer $TOKEN" \ -d '{"messages":[{"role":"user","content":"Summarize this thread."}]}' { "policy_version": "v3-omnisbench-2026-08-20", "decision": "ROUTED", "reason": "cheapest_capable", "chosen": { "provider": "gemini", "model_id": "gemini-2.5-flash" }, "est_cost_delta_vs_big_usd": -0.0121 }