omnicall-router
v1.2.1
Published
Open-source smart LLM router for the Omnicall gateway. `npx omnicall-router` works FREE out of the box — point any OpenAI client at it, send model "auto", and it routes to the cheapest of 248 capable models. Pass a funded gck_ key to unlock all 248 pay-pe
Maintainers
Readme
omnicall-router
Open-source smart LLM router for the Omnicall gateway. Point any OpenAI client or agent at it, send model auto, and it routes each request to the cheapest of 248 capable models — locally, no extra round-trip — then forwards to Omnicall. Keyless, pay-per-call in USDC (Base or Solana) via x402, or pass a funded gck_ key. There's a free tier.
Think ClawRouter — but 248 models instead of 69, and a real free tier.
Run it (one line — works free, no key, no signup)
npx omnicall-routerThen point any OpenAI-compatible client at the local endpoint:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8788/v1", api_key="x402")
client.chat.completions.create(model="auto", messages=[{"role":"user","content":"Hi"}])With no key it just works on the free tier — a real completion comes back immediately, zero setup. When you're ready for all 248 models pay-per-call, pass a funded gck_ key:
OMNICALL_KEY=gck_yourkey npx omnicall-router # unlocks all 248 models, pay-per-call USDCmodel: "auto"→ router picks the cheapest capable tier (eco → ask → pro → ultra) per request.model: "claude-4-sonnet"(or any of 248) → routing bypassed, that model is used.
Make Omnicall your OpenClaw default (one command)
npx omnicall-router setup
openclaw gateway restartsetup adds Omnicall as a provider in ~/.openclaw/openclaw.json and sets your default model to omnicall/auto — so every OpenClaw agent gets 248 models, keyless and pay-per-call, routed to the cheapest capable model per request. It backs up your config first. Add --no-default to register the models without changing your default.
How routing works
Each request is scored locally in <1ms — length, code/SQL content, and reasoning cues — and mapped to the cheapest tier that can handle it:
| Tier | Used for | Routed model |
|---|---|---|
| eco | short / simple | gpt-5-nano |
| ask | medium | gpt-5-mini |
| pro | code / long | claude-4-sonnet |
| ultra | hard reasoning | gpt-5 |
The chosen tier is returned in the X-Omnicall-Routed response header.
Drop it into any tool (one base URL)
Start it — npx omnicall-router — then point any OpenAI-compatible client at:
- Base URL:
http://localhost:8788/v1 - API key:
x402(any string works on the free tier) - Model:
auto(or name any of 248 directly)
That's the entire setup for Cursor, Continue.dev, Cline, Roo, LiteLLM, LangChain, and the OpenAI SDK — anything that accepts an OpenAI base URL. 248 models, cheapest-capable routing, free to start, no signup.
Why omnicall-router
- 248 models behind one
auto— every frontier provider, one connection. - Cheapest-capable routing — don't pay Opus prices for a one-liner.
- Keyless, pay-per-call — USDC on Base or Solana, no account, no monthly fee.
- Free tier to try before funding anything.
Config
PORT— local port (default8788).OMNICALL_URL— upstream (defaulthttps://omnicall.gocreativeai.com).OMNICALL_KEY— a fundedgck_key to unlock all 248 models pay-per-call (omit it for the free tier). Buy credits with any card at https://api.gocreativeai.com/credits/buy.
MIT licensed · https://omnicall.gocreativeai.com
