กลับไปหน้า Tools

GetNotes Tools

diegosouzapw/OmniRoute

Tool นี้คืออะไร

OmniRoute คือ AI Gateway ฟรีที่ช่วยให้นักพัฒนาเข้าถึงผู้ให้บริการ AI กว่า 271 ราย รวมถึง 90+ แพลตฟอร์มฟรี ผ่านเอนด์พอยต์เดียว ช่วยประหยัดค่าใช้จ่ายด้วยการรวม Free Tier และป้องกันการติดขีดจำกัดด้วยการสลับใช้งานอัตโนมัติ

ข้อมูลโปรเจกต์

ดาว

21.9K

Forks

3K

License

MIT

อัปเดต GitHub ล่าสุด

21 ก.ค. 2569

เพิ่มใน GetNotes

21 ก.ค. 2569

Repository

diegosouzapw/OmniRoute

รูปแบบ

Desktop App

เหมาะกับงาน

AI และ AgentsAutomation

เหมาะกับอาชีพ

Ecosystem

TypeScript

แปลและเรียบเรียงโดย AI

เนื้อหาฉบับภาษาไทย

ใช้อ่านเพื่อทำความเข้าใจเบื้องต้น โปรดตรวจสอบรายละเอียดสำคัญกับเอกสารต้นฉบับด้านล่าง

🚀 OmniRoute — AI Gateway ฟรี

💰 ~1.4 พันล้านโทเค็นฟรี / เดือน

การรวม Free Tier ด้วยตนเองเป็นเรื่องที่ยุ่งยาก — ต้องจัดการ SDK หลายสิบตัว, อัตราการจำกัดหลายสิบแบบ และไม่รู้ว่าคุณมีเท่าไหร่จริง ๆ OmniRoute รวบรวม Free Tier ที่ มีเอกสารกำกับ ของ 39 กลุ่มผู้ให้บริการ / 460+ โมเดล ให้เป็นตัวเลขที่ซื่อสัตย์เพียงหนึ่งเดียว และแสดงผลแบบเรียลไทม์บนแดชบอร์ด (/dashboard/free-tiers)

สรุปภาพเคลื่อนไหวของหน้า /dashboard/free-tiers แบบเรียลไทม์ ระเบียบวิธีฉบับเต็ม (การลบรายการซ้ำของกลุ่ม, ระดับเครดิต, ข้อกำหนดของผู้ให้บริการ): docs/reference/FREE_TIERS.md

ตัวเลขเหล่านี้จะถูกตรวจสอบซ้ำทุกสองสัปดาห์เทียบกับแค็ตตาล็อกปัจจุบัน และ มีการเปลี่ยนแปลงได้ทั้งสองทาง — ผู้ให้บริการยกเลิก Free Tier ตัวเลขก็จะลดลง; มีผู้ให้บริการใหม่เข้ามา ตัวเลขก็จะเพิ่มขึ้น เราเผยแพร่สิ่งที่แค็ตตาล็อกคำนวณได้จริง ไม่ใช่กรณีที่ดีที่สุดที่ปัดเศษขึ้นมา CI gate (check:docs-counts) จะทำให้บิลด์ล้มเหลวหากหัวข้อนี้แตกต่างจากโค้ด

⭐ กด Star ให้กับ repo หาก OMNIROUTE ช่วยคุณประหยัดเงินและทำให้การทำงานของคุณง่ายขึ้น

Stars diegosouzapw%2FOmniRoute | Trendshift Star History Rank

💬 เข้าร่วมชุมชน

Discord Telegram WhatsApp Global WhatsApp Brasil Website

คำถาม, เคล็ดลับผู้ให้บริการ, แผนงาน & การสนับสนุน → Discord · Telegram · WhatsApp 🌍 ทั่วโลก / 🇧🇷 บราซิล

🧩 พร้อมใช้งาน

npm version NPM Monthly Docker Hub License: MIT Docker Pulls Electron Downloads

🚀 เริ่มต้นใช้งานอย่างรวดเร็ว🎯 คอมโบ🌐 ผู้ให้บริการ🔌 CLI & MCP🗜️ การบีบอัด🌍 เว็บไซต์

💥 คำมั่นสัญญา🤔 ทำไมต้อง OmniRoute🏆 อะไรที่ทำให้ OmniRoute แตกต่าง🤖 CLI ที่เข้ากันได้🖥️ สามารถรันได้ที่ไหน🔒 ส่วนตัว🎬 การทำงานของ OmniRoute📸 ภาพหน้าจอแดชบอร์ด📧 การสนับสนุน

💥 คำมั่นสัญญา

🤔 ทำไมต้อง OmniRoute?

🎯 Combos — คุณสมบัติเด่น

combo คือสายโซ่ของโมเดลที่ OmniRoute กำหนดเส้นทางให้ โดยอัตโนมัติ เมื่อโควต้าหมด ผู้ให้บริการล้มเหลว หรือค่าใช้จ่ายพุ่งสูงขึ้น combo จะเลื่อนไปยังโมเดลถัดไปอย่างเงียบๆ นี่คือสิ่งที่ทำให้ OmniRoute ไม่สามารถถูกทำลายได้ 🛡️

⚡ Zero-config — เพียงแค่ใช้ auto

ไม่ต้องสร้าง combo ใดๆ เพียงตั้งค่าโมเดลของคุณเป็น auto (หรือรูปแบบอื่น) แล้ว OmniRoute จะสร้าง combo เสมือนจากผู้ให้บริการที่คุณเชื่อมต่อ โดยมีการให้คะแนนแบบเรียลไทม์:

| Model ID | สิ่งที่ปรับให้เหมาะสมที่สุด

ตัวควบคุมสิ่งที่ควบคุม
⚖️ น้ำหนักการจัดสรรสัดส่วนของแต่ละคีย์ในพูล — เช่น 50 / 30 / 20
📐 มิติติดตาม % · คำขอ · โทเค็น · $, ต่อช่วงเวลา 5 ชั่วโมง / 7 วัน / ต่อโมเดล
🚦 นโยบายhard (บล็อกเมื่อเกินส่วนแบ่ง) · soft (ลดลำดับความสำคัญ) · burst (ใช้ส่วนเกินที่ไม่ได้ใช้งาน)
🧱 ขีดจำกัดเพดานสูงสุดต่อคีย์ โดยไม่ขึ้นกับโหมด

บังคับใช้ใน hot path ก่อน ที่คำขอจะออกจาก OmniRoute ด้วยขีดจำกัดต่อ (คีย์, โมเดล) + การคงสถานะเซสชันเพื่อความสมบูรณ์ของ prompt-cache (ตอนนี้มีตัวเลือกปิดใช้งานต่อ

🤖 CLI และ Coding Agent ที่เข้ากันได้

การตั้งค่าเดียว — http://localhost:20128/v1 — และ ทุก AI IDE หรือ CLI จะทำงานบนโมเดลฟรีและราคาประหยัด

ClineRoo CodeRoo CodeOpenCodeHermes Agent (Nous Research)

เอกสารโปรเจกต์

อ่านเอกสารต้นฉบับ

README วิธีติดตั้ง วิธีใช้งาน และข้อกำหนดจาก repository ต้นฉบับ

ดูไฟล์บน GitHub
OmniRoute Dashboard

🚀 OmniRoute — The Free AI Gateway

OmniRoute — Never stop coding. Every AI tool → 290 providers — 90+ free — through one endpoint. Claude Code, Codex, Cursor, Cline, Copilot & Antigravity into FREE Claude / GPT / Gemini with auto-fallback. RTK + Caveman stacked compression saves 15–95% tokens (~89% avg) — never hit limits. 290 AI providers · 90+ free tiers · ~1.53B free tokens/mo · 19 routing strategies · $0 to start.

💰 ~1.53B Free Tokens / Month

Stacking free tiers by hand is painful — dozens of SDKs, dozens of rate limits, and no idea how much you actually have. OmniRoute aggregates the documented free tiers of 43 provider pools / 516 models into one honest number and shows it live on the dashboard (/dashboard/free-tiers).

OmniRoute free-tier budget card: ~1.53B free tokens per month steady, up to ~2.15B in the first month with signup credits, from the documented free tiers of 43 provider pools / 516 models behind one endpoint. Honest pool-deduped math — each shared pool counted once (counting every rate limit 24/7 would read ~10B; not published), 15 providers ToS-flagged so you decide. Budget bar of the countable free pools with per-model grid (Mistral Large 3 1B, GPT-4o mini 150M, Gemini 2.5 Flash 60M … Claude Sonnet 4.5 25K), one-time first-month signup credits (vertex 300M, agentrouter 200M, predibase 25M, together 25M, glm-cn 20M, doubao 15M, ai21 10M, longcat 10M, deepseek 5M, hyperbolic 5M, nscale 5M), plus permanently-free no-token-cap providers (SiliconFlow, Z.AI GLM-Flash, Kilo, OpenCode Zen, baidu …) and a $10 OpenRouter top-up unlocking +24M/mo — surfaced separately so they never inflate the headline. Live used/remaining on /dashboard/free-tiers.

Animated summary of the live /dashboard/free-tiers page. Full methodology (pool dedupe, credit tiers, provider terms): docs/reference/FREE_TIERS.md.

These figures are re-audited every two weeks against the live catalog and move both ways — a provider ends a free tier and the number drops; a new one lands and it climbs. We publish what the catalog actually computes, never a rounded-up best case.

⭐ Star the repo if OMNIROUTE helped you save money and make your work easier.

Stars diegosouzapw%2FOmniRoute | Trendshift Star History Rank

💬 Join the community

👋 Follow the maintainer — get new providers, releases & tips first:

Follow Diego on LinkedIn Follow @diegosouzapw on GitHub

Discord Telegram WhatsApp Global WhatsApp Brasil Website

Questions, provider tips, roadmap & support → Discord · Telegram · WhatsApp 🌍 Global / 🇧🇷 Brasil

🧩 Available

npm version NPM Monthly Docker Hub License: MIT Docker Pulls Electron Downloads

English (en)Português — Brasil (pt-BR)Português (pt)Español (es)Français (fr)Italiano (it)Deutsch (de)Nederlands (nl)Русский (ru)Українська (uk-UA)Polski (pl)Čeština (cs)Slovenčina (sk)Română (ro)Magyar (hu)Български (bg)Dansk (da)Suomi (fi)Norsk (no)Svenska (sv)中文 — 简体 (zh-CN)中文 — 繁體 (zh-TW)日本語 (ja)한국어 (ko)ไทย (th)Tiếng Việt (vi)Bahasa Indonesia (id)Bahasa Melayu (ms)Filipino (phi)हिन्दी (in)हिन्दी (hi)ગુજરાતી (gu)मराठी (mr)தமிழ் (ta)తెలుగు (te)বাংলা (bn)اردو (ur)فارسی (fa)العربية (ar)עברית (he)Türkçe (tr)Azərbaycan (az)Kiswahili (sw)

🆓 Works the second you install it — no keys, no config

Works the second you install it — zero config. Three steps: 1. Install — npm i -g omniroute, server boots on localhost:20128. 2. Point your tool at http://localhost:20128/v1 — any OpenAI-compatible tool (Claude Code, Cursor, Cline). 3. It answers — call model auto for an instant reply, with no API key, no signup, no configuration. Keyless free providers OpenCode Free and Felo are pre-wired into the auto combo, so a fresh install responds out of the box.
bash
# Fresh install, zero credentials — `auto` already works:
curl http://localhost:20128/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'

Prefer a specific free backend? Call it directly, e.g. oc/… (OpenCode Free) or felo/… (Felo). Then graduate to auto and let OmniRoute pick.

💥 The Promise

The Promise — One endpoint. 290 providers. Never stop building — OmniRoute picks the cheapest one that works. Six pillars: Never hit limits (auto-fallback across 290 providers in milliseconds, zero downtime) · Save up to 95% tokens (RTK + Caveman stacked compression cuts 15–95%, ~89% avg on tool-heavy sessions) · $0 to start (90+ free tiers, 40+ free forever — no card needed) · Every tool works (33 coding agents through one config) · One endpoint (OpenAI ↔ Claude ↔ Gemini ↔ Responses API at /v1) · Production-grade (circuit breakers, TLS stealth, MCP 104 tools, A2A, memory, guardrails, evals — 25,000+ tests).

🤔 Why OmniRoute?

Why OmniRoute — stop juggling 10 dashboards, dead API keys and surprise bills. Ten daily pains vs fixes: quota expiring unused → maximize subscriptions; rate limits mid-coding → 4-tier auto-fallback (Subscription → API → Cheap → Free); tool outputs burning tokens → RTK + Caveman compression (15–95%); expensive APIs → cost-optimized routing; every tool its own setup → one endpoint, one dashboard; AI blocked → 3-level proxy + TLS stealth; dead keys → 3-layer resilience (circuit breakers, key cooldown, model lockout); team sharing one subscription → key pools with fair-share quotas; prompts through someone
OmniRoute request flow: your IDE or CLI (Claude Code, Cursor, Cline…) calls one local endpoint (http://localhost:20128/v1); the OmniRoute Smart Router (RTK + Caveman compression, 19 routing strategies, circuit breakers, TLS stealth, MCP, A2A, guardrails) auto-falls back across 4 provider tiers — Tier 1 Subscription (Claude Code, Codex, Copilot), quota out? Tier 2 API Key (DeepSeek, Groq, xAI), budget hit? Tier 3 Cheap (GLM $0.5, MiniMax $0.2), budget hit? Tier 4 Free (Kiro, Qoder, Pollinations) — always on.

🤝 Supported by our Open Source Friends

Kimi K3 — Open Frontier Intelligence · 2.8T parameters · 1M-token context

Want to join as an Open Source Friend? These are the companies that back open source and help keep OmniRoute moving — and we say publicly where every token they give us goes. Reach out: diegosouza.pw@outlook.com

Kimi (Moonshot AI)Founding Open Source Friend

Links tagged aff=omniroute are partner links. They fund the project at no extra cost to you.

🎯 Combos — The Flagship

All 19 combo routing strategies animated — one tile per strategy: priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, cache-optimized, lkgp, auto, fusion, pipeline. See the table above for what each one does.

A combo is a chain of models OmniRoute routes across automatically. Quota runs out, a provider fails, or costs spike — the combo silently slides to the next model. This is what makes OmniRoute unbreakable. 🛡️

⚡ Zero-config — just use auto

No combo to create. Set your model to auto (or a variant) and OmniRoute builds a virtual combo from your connected providers, scored live:

🔀 Or build your own — 19 routing strategies

All 19 strategies — mix & match per combo step:

The Auto-Combo engine scores every candidate on 12 factors (health, quota, cost, latency, success rate, freshness…) — see docs/routing/AUTO-COMBO.md.

🧱 Resilience is built in (3 independent layers)

OmniRoute resilience — 3 independent self-healing layers, the right layer for the right failure. Layer 1 provider circuit breaker (whole provider): trips only on 408/5xx, thresholds OAuth 3× / API-key 5× / local 2×, resets 60s/30s/15s into a HALF-OPEN probe, lazy recovery; while OPEN the combo reroutes to the next provider. Layer 2 connection cooldown (one key/account): base 5s OAuth / 3s API-key, exponential ×2 backoff with anti-thundering-herd guard, 429 honors Retry-After, success clears all error state; one cooling key is skipped while sibling keys keep serving. Layer 3 model lockout (one model): per-model 429, local 404 or mode denials lock just that model — never the whole connection. Terminal states (banned, expired, credits exhausted) are for the operator, not cooldowns.

📖 Auto-Combo Engine · Resilience Guide

🏆 What Sets OmniRoute Apart

What sets OmniRoute apart — comparison table vs 9router, OpenRouter, CLIProxyAPI and LiteLLM across 13 capabilities. OmniRoute: 290 providers, 90+ free providers built-in, 19 routing strategies, 12-engine token compression, built-in MCP server with 104 tools, A2A agent protocol, persistent memory, guardrails, cloud agents, TLS fingerprint stealth, Desktop/Termux/PWA, 43 i18n UI locales, 100% MIT self-hosted. OmniRoute is the only one with the full set; competitors show a mix of checks, partials and crosses. Verified from each project's docs.

📊 Full methodology & per-feature detail vs 9router, OpenRouter, CLIProxyAPI & LiteLLM → docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md

❤️ Support

OmniRoute is free and open source, built and maintained in the open. If it saves you time or money, consider supporting development:

  • Star the repo — it genuinely helps visibility
  • 💖 GitHub Sponsors — fund ongoing maintenance and new providers
  • 🐛 Report bugs and share feedback in Discussions

✨ What's New

Recent highlights from v3.8.20 → v3.8.49. Full history in CHANGELOG.md.

  • 🗜️ Compression hardening — default-on inflation guard, Caveman packs for DE / FR / JA + Chinese (wényán), RTK filters for Gradle & .NET. → Compression
  • 💸 Honest flat-rate cost — subscription / coding-plan providers read $0 in cost analytics; budget, quota & routing keep estimating. → API Reference
  • ⚖️ Quota-Share routing — split a shared account's quota fairly across pooled keys, work-conserving so idle slices are lent out. → Resilience Guide
  • 🤖 One-command CLI/agent setupsetup-* configures 12+ coding tools; omniroute launch / launch-codex are zero-config. → CLI Integrations
  • 🛰️ Remote mode — drive a remote OmniRoute with scoped tokens (connect / contexts / tokens) + an antigravity OAuth helper for VPS installs. → Remote Mode
  • 🧭 Smarter auto-routingauto/<category>:<tier> combos, Fusion (model panel + judge), task-aware routing, per-request model / mode / USD-budget overrides. → Auto-Combo
  • 🗜️ Pluggable compression — 12 composable engines + Compression Studios: LLMLingua-2, two-tier Ultra, omniglyph, per-step fidelity gate, GCF v3.2, drag-reorder editor. → Compression
  • 🕵️ Transparent MITM decrypt (TPROXY) — capture CLIs that ignore proxy env vars, with a per-SNI CA + trust-store installer. → MITM/TPROXY
  • 💸 Cost telemetry everywhereX-OmniRoute-* cost/usage headers on every endpoint, cache-HIT savings header, per-key USD spend quotas. → API Reference
  • 🧠 Memory you control — off by default, opt-in int8 vector quantization + typed decay, per-request x-omniroute-no-memory. → Memory
  • 🛡️ Security — prompt-injection guard on every LLM route (red-team suite) + free DuckDuckGo last-resort web search. → Guardrails
  • 🖼️ New endpoints/v1/ocr (Mistral OCR) and /v1/audio/translations (Whisper-style) round out the media surface. → API Reference
  • 🎨 Image / video / audio generation — one API for media: xAI Grok Imagine & Novita AI video, ComfyUI, Freepik, Adobe Firefly, Microsoft Designer, Google Imagen, Segmind, EdgeTTS. → API Reference
  • 🌍 Deployment & ops — reverse-proxy basePath, browser-language auto-detect, per-key device tracking, root-less MITM trust, zh-TW localization. → Environment
  • 🤝 More providers & agents — Cursor Cloud Agent, Grok Build (xAI), Ollama first-class card, Claude Sonnet 5, Zed, Requesty, SenseNova, Yuanbao, Agnes AI… and a refreshed 290-provider catalog. → Providers
  • ⚡ Local performance & infra — one-click local Redis, Cloudflare Workers / Deno Deploy relay deployers, Bifrost & Mux as supervised embedded services. → Embedded Services

🤖 Compatible CLIs & Coding Agents

One config — http://localhost:20128/v1 — and every AI IDE or CLI runs on free & low-cost models.

Claude CodeCodex CLIClineKilo CodeRoo CodeRoo CodeContinueAiderForgeCodejcodeDeepSeek TUICodeWhaleOpenCodeFactory DroidGitHub Copilot CLICursor CLISmeltPi (pi-coding-agent)Grok Build (xAI)Hermes Agent (Nous Research)OpenClawGooseOpen InterpreterWarp AIAgent Deck

📖 Per-tool setup for all 33 tools (25 CLI Code's + 8 CLI Agents) → docs/reference/CLI-TOOLS.md · 🧩 OpenCode plugin → @omniroute/opencode-provider

🌐 290 AI Providers — 90+ Free

The most complete catalog of any open-source router: 290 providers, 90+ with a free tier, 40+ free forever.

🏢 Every major lab — through one endpoint

OpenAIAnthropicGeminixAI GrokDeepSeekMistralQwenMeta LlamaGroqNVIDIAMiniMaxCoherePerplexityHugging FaceTogetherFireworksCloudflareBaidu

…and 220+ more — every icon resolves live from the dashboard's provider catalog. 📖 Provider Reference

🆓 Free Forever — $0, no card

OpenCode ZenKilo CodeRequestySiliconFlowZ.AI GLMBaidu ERNIEQoder AIPollinationsCloudflare AINVIDIA NIMCerebrasOpenRouter

📖 Full machine-readable catalog → docs/reference/PROVIDER_REFERENCE.md

🖥️ Where OmniRoute Runs — Anywhere

Same app, your machine, your rules. From a global npm install to your phone via Termux.

📖 Docker Guide · Desktop · Termux · PWA · OpenCode

🔒 Private & Local-First

Private and local-first — your keys, your machine, your data; OmniRoute is a local proxy that never phones home. Eleven guarantees: runs 100% on your hardware (0 cloud hops), zero telemetry by default, credentials encrypted at rest (AES-256-GCM), no account or sign-up, hardened gateway (API-key scoping, IP filtering, rate limits, prompt-injection guard), loopback-only process routes, upstream header scrubbing, strictly opt-in PII redaction, sanitized errors that never leak internals, a local audit trail in your own SQLite, and MIT-licensed fully open-source code.

📖 Authorization · Guardrails · Compliance

🔌 Full CLI + A2A & MCP

Beyond the server, OmniRoute is a full command-line cockpit with 80+ commands, plus open agent protocols so an AI agent can drive it on its own.

⌨️ A real CLI (not just start)

bash
omniroute               # serve gateway + dashboard (port 20128)
omniroute chat          # interactive TUI chat client (slash: /model /combo /skill /memory)
omniroute setup         # guided first-run wizard
omniroute doctor        # diagnose providers, ports, native deps

🛰️ Remote mode — run the CLI here, OmniRoute on a VPS

OmniRoute on a server? Drive it from your laptop with the same CLI. Log in once with a scoped access token; every command then targets the remote.

bash
omniroute connect 192.168.0.15            # password → scoped token, saved as a context
omniroute models list                     # ← runs against the REMOTE server
omniroute configure codex                 # ← picks a remote model, writes a local Codex profile
omniroute tokens create --name ci --scope read   # mint narrower tokens for other machines
omniroute contexts use default            # ← switch back to the local server

Tokens are scoped read / write / admin; process-spawning routes stay loopback-only. 📖 Remote Mode

Animated terminal demoing the OmniRoute CLI — omniroute providers list, omniroute combo list, omniroute health — cycling over the 80+ command surface: providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …

🤝 Connect an agent — and it controls OmniRoute itself

Expose OmniRoute over MCP, A2A, a REST API, webhooks or a remote CLI — any capable agent (or your own code) gets the keys to the whole gateway: routing, providers, combos, cache, compression, memory — autonomously. HTTP endpoints below are served under http://localhost:20128.

bash
# Give Claude Code the full OmniRoute toolset over MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream

📖 MCP Server · A2A Server · Agent Protocols

🗜️ Save 15–95% Tokens — Automatically

📖 How it works — pipeline, architecture & savings math

OmniRoute compression pipeline: a client request of 10,000 tokens passes through 12 stacked engines — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra, OmniGlyph — and reaches the provider at about 1,080 tokens, up to 95% saved. Code, URLs and JSON are always preserved byte-perfect.

Default stacked combo runs RTK → Caveman. When both act on the same tool/context payload, savings compound:

txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average  = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range    = 78.4 – 94.6%

Code blocks, URLs, JSON and structured data are always protected by the preservation engine.

Why use many tokens when few tokens do the trick? Every request passes through OmniRoute's compression pipeline transparently — no client changes. It's now a stack of 12 composable engines that run in order and mix & match per routing combo — building on ideas from RTK, Caveman (⭐ 90K+), LLMLingua-2, and Troglodita (PT-BR).

🧱 The 12-engine stack

Engines run in pipeline order; each is independently toggleable and configurable per combo:

Code blocks, URLs and structured data are always preserved byte-perfect. One-click presets combine the engines:

Real example — Standard mode:

Before (69 tokens): "The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I would recommend using useMemo to memoize the object."

After (19 tokens): "New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."

Same answer. 72% fewer tokens. Zero accuracy loss.

PT-BR example — Troglodita mode:

Antes (42 tokens): "O problema é que o componente está re-renderizando porque uma nova referência de objeto está sendo criada em cada ciclo de renderização. Eu recomendaria usar useMemo."

Depois (12 tokens): "Re-render: ref nova cada ciclo (objeto inline recriado). Usar useMemo."

Mesma resposta. ~70% menos tokens. Precisão técnica intacta.

🎚️ Beyond the engines — output styles, the adaptive dial & per-request control

The 12 engines above shrink what goes in. Three more layers shape how, when, and what comes out:

  • 🪄 Output Styles (output-axis steering) — inject deterministic, cache-safe response-shaping instructions; combinable, each at lite / full / ultra intensity. Adding a style is a one-line registry entry:- **Terse prose** — drop filler / articles / hedging; keep technical substance exact. - **Less code** — "lazy senior dev" YAGNI: smallest working change, no unrequested scaffolding. - **Terse CJK (文言)** — classical-Chinese ultra-terse style (locale-gated to `zh`).
  • 🎯 Adaptive context-budget (the dial) — instead of one on/off token threshold, escalate the cheapest, most-lossless engines only as far as needed to fit the model's context window. Policy: reserve-output (default, model-aware) · percentage · absolute. Mode: floor (guarantee fit) · replace-autotrigger (your explicit choice wins) · off (legacy threshold).
  • 🎛️ Where compression is decided (precedence, high → low) — per-request x-omniroute-compression header › routing-combo override › active named profile › adaptive / auto-trigger › panel default › off. The applied plan echoes back in the X-OmniRoute-Compression: <mode>; source=<source> response header.

Auto-trigger by token threshold, flip on the adaptive dial, pin a named profile, set a one-off per request, or assign a pipeline per routing combo — whichever fits the workload. An opt-in offline eval harness (npm run eval:compression) scores fidelity vs. savings on a pinned corpus before you promote a change.

📖 COMPRESSION_GUIDE.md · RTK_COMPRESSION.md · COMPRESSION_ENGINES.md

⚡ Quick Start

1) Install & run

bash
npm install -g omniroute
omniroute

💡 See npm warn ERESOLVE or peer-dep warnings? They're harmless.

Dashboard at http://localhost:20128 · API at http://localhost:20128/v1.

2) Connect a FREE provider (no signup)

Dashboard → Providers → connect Kiro AI (free Claude, ~50 credits/month per account) or OpenCode Free (no auth) → done.

3) Point your coding tool

txt
Base URL: http://localhost:20128/v1
API Key:  [copy from Dashboard → Endpoints]
Model:    auto            (zero-config smart routing — or any provider/model)

4) Verify it's working

bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"

You should see your connected models listed. 🎉 That's it — start coding, and OmniRoute auto-routes & falls back for you.

If your client cannot send custom headers, OmniRoute also exposes tokenized compatibility aliases:

txt
OpenAI catalog:   http://localhost:20128/vscode/YOUR_KEY/
OpenAI models:    http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat:      http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat:      http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags:      http://localhost:20128/vscode/YOUR_KEY/api/tags

Use these only for clients that cannot attach Authorization: Bearer .... Header auth remains the preferred mode.

📦 More install methods — Docker, source, pnpm, Arch

🐳 Docker

bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
  -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest

🛠️ From source

bash
cp .env.example .env && npm install
PORT=20128 npm run dev

📦 pnpm

bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute

🐧 Arch Linux (AUR)

bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service

🔧 Nix (Flake)

bash
# Using Nix flakes
nix develop
npm run dev

# Or using devbox
devbox run npm run dev

📖 Docker Guide — Compose profiles, Caddy HTTPS, Cloudflare tunnels.

🦭 Podman

bash
# 1. Prepare the bind-mounted data directory
mkdir -p data

# 2. Linux + local rootless Podman only (never a remote Podman Machine client):
podman unshare chown 1000:1000 ./data

# 3. Set the runtime hint, build the local Compose image, and start
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build

On macOS or Windows, Podman uses a remote Podman Machine: skip podman unshare and follow the topology-specific data directory guidance.

📖 Podman Guide — Compose builds, Podman Machine, and Linux/systemd Quadlet setup.

⚡ Faster / leaner install (skip the native build)

The native SQLite engine (better-sqlite3) is an optional dependency, so a global install never blocks on compiling from source: it uses a prebuilt binary when one matches your platform/Node, and otherwise falls back transparently to a pure-JS engine (node:sqlite on Node 22+, else the bundled sql.js WASM) — no build tools required.

To skip the post-install native warm-up entirely (CI, headless, or slow machines):

bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute   # CI=1 also skips it

For the fastest installs prefer pnpm (content-addressed store + hard links — see above). For a dashboard-free, headless runtime use the Docker base profile (above) or the Termux guide. The CLI and the web dashboard are served by the same process on one port, so there is no separate CLI-only package today.

🎬 OmniRoute in Action

Guia em PortuguêsEnglish GuideРуководство

🎬 Made a video about OmniRoute? Open an issue or discussion with the link — we'll feature it here.

📧 Support & Community

Everything in one place — follow the maintainer, chat with the community, or open an issue.

ChannelWhere / how
💼 LinkedIn — follow the maintainerlinkedin.com/in/diegosouzapw
🐙 GitHub — follow for releases & tips@diegosouzapw
💬 Discorddiscord.gg/U47eFqAXCn
✈️ Telegramt.me/omnirouteOficial
🟢 WhatsApp — 🌍 Globaljoin the group
🟢 WhatsApp — 🇧🇷 Brasilentrar no grupo
🌍 Websiteomniroute.online
📦 Source codegithub.com/diegosouzapw/OmniRoute
🐛 Report a bugopen an issue — attach npm run system-info output
🤝 ContributeCONTRIBUTING.md · Branching & Release Model · pick a good first issue
Support the projectStar the repo · GitHub Sponsors

🛠️ Tech Stack

📖 Documentation

📘 Getting Started

🔧 Operations & Deployment

🧠 Features & Architecture

🤖 Protocols & APIs

📋 Project & Quality

⭐ Top Contributors

OmniRoute is shaped by a passionate open-source community. These individuals have made exceptional contributions that directly impact the quality, stability, and reach of the project. Thank you.

oyi77R.D. &amp; RandiChris StaleyzenobitJan LeonbackryunChirag SinghalkfiramarBenson K BHernan J. Ardila

🙏 These contributors' features, bug fixes, and infrastructure improvements are a core part of what makes OmniRoute reliable and feature-rich. Every pull request, every test case, and every i18n translation file matters. Open source is built by people like them.


💖 Sponsors

A heartfelt thank-you to the people who fund OmniRoute out of their own pocket — every contribution keeps the project free, independent and moving.

Professor Igor Morais Vasconceloslongtao

… and others who prefer to stay private 💛

💖 Become a sponsor → — every dollar keeps OmniRoute free and independent.

👥 500+ Contributors

Contributors

How to Contribute

  1. 1Fork the repository
  2. 2Branch from the active release/vX.Y.Z tip (not main) — see Branching & Release Model
  3. 3Create your feature branch (git checkout -b feat/amazing-feature)
  4. 4Commit your changes (git commit -m 'feat: add amazing feature')
  5. 5Push to the branch (git push origin feat/amazing-feature)
  6. 6Open a Pull Request with base = that release/vX.Y.Z branch

See CONTRIBUTING.md for detailed guidelines.

Releasing a New Version

bash
# Create a release — npm publish happens automatically
gh release create v3.8.2 --title "v3.8.2" --generate-notes

📊 Stars

Star History Chart

🌍 StarMapper

StarMapper

🙏 Acknowledgments

OmniRoute stands on the shoulders of giants. It started as a fork of 9router and a TypeScript port of the Go project CLIProxyAPI — and from there, every subsystem below was inspired by an open-source project that got there first. Each one shaped a concrete piece of OmniRoute. This is our thank-you to all of them. 🙏

⭐ star counts as of July 2026 — go give these projects a star.

🧬 Lineage & gateway

🗜️ Context & token compression — engines

🧩 Compact formats, token research & code-aware tooling

🧠 Memory & RAG

🛰️ Traffic inspection, MITM & transparent proxy

📚 Model data, observability & UI

🛡️ Security

🧭 Complementary tools

📄 License

MIT License - see LICENSE for details.


⬆ Back to top · Built with ❤️ for the open-source AI community.

OmniRoute v3.8.49 · Node ≥22.22.2 · MIT License · omniroute.online

#a2a#ai-agents#ai-gateway#anthropic#claude#claude-code#cline#codex#copilot#cursor#deepseek#free-ai