跳到主要内容
    ↑↓ 选择↵ 打开esc 关闭
    中文English
    diegosouzapw

    @omniroute/opencode-plugin

    v0.2.1认证与凭证
    @omniroute/opencode-plugin

    OpenCode plugin for the OmniRoute AI Gateway. Drives dynamic model discovery, /connect auth flow, and multi-instance OmniRoute providers via the official @opencode-ai/plugin contract.

    GitHub 星标

    51,431

    近 30 天 +4.2k

    月装机量

    1,462

    近 7 天 216

    综合评分SCORE

    82.5

    生态多维模型

    最近提交

    5 小时前

    2026-08-20

    快速安装与配置

    opencode.json

    写入当前项目的 opencode.json,只对这个仓库生效。

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["@omniroute/opencode-plugin@0.2.1"]
    }

    opencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。

    OmniRoute Dashboard

    🚀 OmniRoute — The Free AI Gateway

    OmniRoute — Never stop coding. Every AI tool → 341 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. 341 AI providers · 90+ free tiers · ~1.51B free tokens/mo · 19 routing strategies · $0 to start.

    💰 ~1.51B 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 42 provider pools / 495 models into one honest number and shows it live on the dashboard (/dashboard/free-tiers).

    OmniRoute free-tier budget card: ~1.51B free tokens per month steady, up to ~2.13B in the first month with signup credits, from the documented free tiers of 42 provider pools / 495 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 olud.ai

    💬 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


    📈 The Gateway Keeps Growing

    v3.8.49 v3.8.50 v3.8.51+
    🌐 Providers 290 341 more queued
    🧠 Documented models 1185 1202
    🖼️ Modality Bridge 🆕 vision video
    📡 Radar free catalog 🆕 opt-in
    ⚖️ Quota-aware scheduling 🔭 next
    📊 Quota telemetry 🔭 next

    Roadmap — riding the rail to v3.9.0 LTS


    🧩 Available

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

    🚀 Start 🚀 Quick Start 📦 Install 🆓 Zero-config
    💡 Learn 💥 The Promise 🤔 Why OmniRoute 🏆 What Sets Apart
    ⚙️ Features 🎯 Combos 🌐 Providers 🔌 CLI & MCP
    🗜️ Compression 🖥️ Where It Runs 🔒 Private
    👀 See it 🎬 In Action ✨ What's New 🤖 Compatible CLIs
    💚 Support 💚 Support / Donate 💬 Community 💖 Sponsors
    📦 Project 🛠️ Tech Stack 📖 Docs 👥 Contributors
    🌐 In 43 languages

    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.
    # 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.

    📦 Copy-paste quickstart scripts for Python, Node.js, PHP, and cURLexamples/quickstart/


    💥 The Promise

    The Promise — One endpoint. 341 providers. Never stop building — OmniRoute picks the cheapest one that works. Six pillars: Never hit limits (auto-fallback across 341 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, 56 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 109 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's cloud → local-first with AES-256-GCM encrypted keys; no spend visibility → live analytics (usage, quota, savings, p95 latency).
    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)
    Kimi
    Moonshot AI

    Founding Open Source Friend
    Thanks to Kimi (Moonshot AI), our founding Open Source Friend, for backing this project! Kimi is the AI lab behind the open-weight K2 and K3 model families — Kimi K3 delivers a 1M-token context window, native vision and frontier-level coding at a fraction of closed-model prices, and works out of the box with Claude Code, Codex and every coding tool OmniRoute serves.

    What Kimi's support powers: Kimi's API credits power OmniRoute's AI-validated release pipeline — the merge validation powered by Kimi K3 stage that reviews every pull request before it ships — plus day-to-day feature development. First-class Kimi support ships on both rails: the direct Kimi API (kimi-k3) and the Kimi Code coding plan (OAuth and API key). OmniRoute is also the first Brazilian open-source project in Kimi's support program. Get a Kimi API key with 15% extra credits →
    Cheaper Inference
    Cheaper Inference
    cheaperinference.com

    Open Source Friend
    Thanks to Cheaper Inference, an OmniRoute Open Source Friend, for backing this project! Cheaper Inference is a cost-ranked gateway that resells 42 frontier models — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok and MiniMax — behind one OpenAI-compatible endpoint, routing each request to the cheapest eligible provider without ever charging above the model maker's list price.

    First-class support in OmniRoute: Chat Completions, the native /v1/responses endpoint, vision, tool calling and 3 image models (grok-imagine, nano-banana-pro, nano-banana-2, reachable as cheaperinference/<model>). Get an API key →

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


    🎟️ Affiliates Promo — free signup coupons from providers we don't sponsor (click to expand)

    This section is for referral/coupon codes only. Sponsored partnerships live in 🤝 Supported by our Open Source Friends above. OmniRoute has no sponsorship or partnership with the providers listed here — these are public coupons anyone can use.

    AgentRouter
    AgentRouter
    agentrouter.org
    AgentRouter — affiliate signup · $100 free credits on signup (free server, expect higher latency — best for testing, not production). First-class support in OmniRoute since v3.8.50: Chat Completions, the Anthropic-compatible wire format and the OpenAI-compatible path. Available models include claude-opus-4-8, claude-opus-5, gpt-5.6-sol and more. Grab your $100 →

    ⚠️ Affiliate link — OmniRoute has no sponsorship or partnership with this provider.

    Know another provider with a generous free signup coupon that benefits OmniRoute users? Open an issue and we'll add it here.


    🎯 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:

    Model IDWhat it optimizes for
    auto🎯 Balanced default (LKGP — sticks to your last good provider)
    auto/coding🧑‍💻 Quality-first weights for code generation
    auto/fast⚡ Lowest latency first
    auto/cheap💰 Cheapest per token first
    auto/offline🔋 Most quota / rate-limit headroom first
    auto/smart🔭 Quality-first + 10% exploration to discover better models

    🔀 Or build your own — 19 routing strategies

    All 19 strategies — mix & match per combo step:

    # Strategy What it does
    1 priority First-target ordered list — drain each before the next 🥇
    2 fill-first Fill each target's quota fully before moving on
    3 weighted Weighted random by per-target weight
    4 round-robin Cycle through targets in order
    5 p2c Power-of-two-choices random load balancing
    6 least-used Pick the target with the lowest current load
    7 random Uniform random pick (deduplicated)
    8 strict-random Random without de-duplicating repeats 🎲
    9 cost-optimized Minimize $ per request from live catalog pricing 💸
    10 headroom Pick the target with the most remaining quota
    11 reset-window Prefer the target whose quota window resets soonest
    12 reset-aware Rank by quota reset time — short windows first 📊
    13 context-relay Hand off context across targets for long conversations 🧠
    14 context-optimized Pick the best fit for the current context size
    15 cache-optimized Pin each reusable prompt prefix to the same account — maximize prompt-cache hits 🎯
    16 lkgp Last-Known-Good Path — sticky to the last successful target
    17 auto 14-factor live scoring across every connection 🤖
    18 fusion Fan out to a panel of models + a judge synthesizes one answer 🧬
    19 pipeline Chain steps — each target's output feeds the next one 🔗

    The Auto-Combo engine scores every candidate on 14 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 10× / API-key 15× / 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: 341 providers, 90+ free providers built-in, 19 routing strategies, 12-engine token compression, built-in MCP server with 109 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

    OmniRoute is MIT-licensed and maintained in the open. If it saves you time or money, here's how to keep it independent — pick whatever fits you. Sponsorship never affects routing priority; it buys visibility, not ranking.

    ⭐ Star the repoFree — genuinely helps visibilityStar OmniRoute
    🐙 GitHub SponsorsOne-off or monthly · zero platform feegithub.com/sponsors/diegosouzapw
    ☕ Ko-fiQuick one-off tip, no signup for the donorko-fi.com/diegosouzapw
    🧋 Buy Me a CoffeeSmall, informal gesturebuymeacoffee.com/diegosouzapw
    🖐 LiberapayRecurring · non-profit · open sourceliberapay.com/diegosouzapw
    🇧🇷 PIX (Brazil)Instant, no feeskey & QR below
    ₿ CryptoBTC · ETH · USDT-TRC20 · USDC-Solanaaddresses below

    🇧🇷 PIX — instant, no fees (Brazil)

    OmniRoute PIX QR code

    Key (random): 5d865059-bc44-483a-962d-43ceb80126eb

    Pix copia-e-cola:

    00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
    

    ₿ Crypto — BTC · ETH · USDT-TRC20 · USDC-Solana (click to expand)
    ₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
    Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
    ₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
    $ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu

    ⚠️ Send each coin only on the network shown — sending on the wrong network can lose the funds.

    🐛 Found a bug or have feedback? Open a Discussion.


    Developer notes: The project may generate a local .env file during npm install/postinstall for developer convenience. This file is intentionally ignored via .gitignore (see .gitignore) and must never be committed — if accidentally committed, rotate any exposed secrets and remove the file from history. See docs/DEVELOPER-ENVIRONMENT.md for guidance on managing local environment files and secrets.

    📡 OmniRoute Radar

    The main free-tier headline remains ~1.53B tokens/month from the documented, pool-deduplicated catalog above. Temporary provider signup credits can separately lift the first month to ~2.15B. Radar is an optional, signed catalog overlay for people who want fresher free-model availability between OmniRoute releases; the community catalog and every existing free feature remain free.

    Supporters can receive the live catalog and additional provider opportunities. Its separate, mutable ceiling is approximately 3B tokens/month at most, depending on provider availability. That ceiling is not a guarantee: providers can change quotas, eligibility, models, or regions at any time.

    Radar is opt-in and GET-only. The OmniRoute client does not upload prompts, traffic, provider configuration, usage telemetry, or local announcement-dismiss state. Learn about eligibility and the current catalog at radar.omniroute.online/planos.


    ✨ What's New

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

    • 🎛️ OmniConductor — inbound A2A delegation to your agent fleet, Conductor skills on the Agent Card, and a dashboard panel with Faro push-to-talk voice chat. → A2A Server
    • 🛂 Adaptive admission & overload protection — heavyweight chat requests queue instead of 503ing, with atomic RPM rolling leases per connection. → Resilience Guide
    • 🗂️ Canonical /v1/models ordering — one contiguous provider-grouped block per provider (combos pinned first), stable across every catalog source. → API Reference
    • 🗜️ 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 run launches 7 CLIs (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI) with zero config written; omniroute configure is an interactive provider+model picker with per-context favorites. → 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), opt-in credential-masking guardrail (redacts leaked API keys/secrets in both directions), free DuckDuckGo last-resort web search, and an optional OIDC login gate for the dashboard (password login always stays available). → 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, 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) with browser + OAuth login, Ollama first-class card, Claude Opus 5 & Sonnet 5, Kimi official partnership (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… and a refreshed 341-provider catalog. → Providers
    • 📡 Routing transparency — every response carries an X-OmniRoute-Decision header naming the strategy/provider/latency that served it, a new cache-optimized combo strategy + Auto-Combo cacheAffinity factor route repeat requests back to the connection holding the cached prefix, and a read-only /v1/auto-combo/{channel}/candidates endpoint exposes an auto/* channel's live candidate pool. → Auto-Combo
    • ⚡ 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 Code
    Claude Code
                               
    Codex CLI
    Codex CLI
                               
    Cline
    Cline
                               
    Kilo Code
    Kilo Code
                               
    Zoo Code
    Zoo Code
                               
    Continue
    Continue
                               
    Aider
    Aider
                               
    ForgeCode
    ForgeCode
                               
    jcode
    jcode
                               
    DeepSeek TUI
    DeepSeek TUI
                               
    CodeWhale
    CodeWhale
                               
    OpenCode
    OpenCode
                               
    Factory Droid
    Factory Droid
                               
    GitHub Copilot CLI
    Copilot CLI
                               
    Cursor CLI
    Cursor CLI
                               
    Smelt
    Smelt
                               
    Pi (pi-coding-agent)
    Pi
                               
    Grok Build (xAI)
    Grok Build
                               
    Hermes Agent (Nous Research)
    Hermes Agent
                               
    OpenClaw
    OpenClaw
                               
    Goose
    Goose
                               
    Open Interpreter
    Open Interpreter
                               
    Warp AI
    Warp AI
                               
    Agent Deck
    Agent Deck
                               
    + also works with · Kiro · Command Code · Antigravity · Windsurf · AMP · any OpenAI-compatible tool

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


    Launch any supported CLI through OmniRoute in one command — no config files written, credentials injected per process, Qwen/Gemini get a throwaway isolated home:

    omniroute run claude   --model openai/gpt-5.4          # Claude Code
    omniroute run codex    --model glm/glm-5.2             # OpenAI Codex CLI
    omniroute run aider    --model glm/glm-5.2 -- --message "reply OK"
    omniroute run goose    --model glm/glm-5.2
    omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
    omniroute run qwen     --model glm/glm-5.2 -- -p "reply OK"
    omniroute run gemini   --model glm/glm-5.2 -- --skip-trust -p "reply OK"
    
    # Or pick provider+model interactively and write the tool's own config:
    omniroute configure codex          # also: claude opencode qwen aider goose cline continue kilo
    

    Every command honors the active remote context (omniroute connect <host>), --dry-run previews the exact env/args without executing, and --api-key-env NAME keeps secrets out of your shell history. → CLI Integrations


    🌐 341 AI Providers — 90+ Free

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

    🏢 Every major lab — through one endpoint

    OpenAI
    OpenAI
                               
    Anthropic
    Anthropic
                               
    Gemini
    Gemini
                               
    xAI Grok
    xAI Grok
                               
    DeepSeek
    DeepSeek
                               
    Mistral
    Mistral
                               
    Qwen
    Qwen
                               
    Meta Llama
    Meta Llama
                               
    Groq
    Groq
                               
    NVIDIA
    NVIDIA
                               
    MiniMax
    MiniMax
                               
    Cohere
    Cohere
                               
    Perplexity
    Perplexity
                               
    Hugging Face
    HuggingFace
                               
    Together
    Together
                               
    Fireworks
    Fireworks
                               
    Cloudflare
    Cloudflare
                               
    Baidu
    Baidu
                               

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


    🆓 Free Forever — $0, no card

    OpenCode Zen
    OpenCode Zen
    DeepSeek V4, Nemotron 3
    No token cap
    Kilo Code
    Kilo Code
    Auto-router, Tencent Hy3
    Free forever
    Requesty
    Requesty
    GPT-OSS 120B, Nemotron
    Free forever
    SiliconFlow
    SiliconFlow
    DeepSeek V3.2 / R1
    Free tier
    Z.AI GLM
    Z.AI GLM
    GLM-4.7 / 4.5-Flash
    Free forever
    Baidu ERNIE
    Baidu ERNIE
    ERNIE 4.0
    Free forever
    Qoder AI
    Qoder AI
    Qwen3-Max, Kimi-K2
    Unlimited FREE
    Pollinations
    Pollinations
    GPT, Llama, Claude
    No key needed
    Cloudflare AI
    Cloudflare AI
    50+ models
    10K neurons/day
    NVIDIA NIM
    NVIDIA NIM
    GLM, MiniMax
    ~40 RPM free
    Cerebras
    Cerebras
    GLM 4.7, GPT-OSS
    1M tokens/day
    OpenRouter
    OpenRouter
    :free models
    +$10 → higher RPM

    📖 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.

    PlatformInstallHighlights
    📦 npm (global)npm install -g omnirouteOne command, any OS
    🐳 Dockerdocker run … diegosouzapw/omnirouteMulti-arch AMD64 + ARM64
    🖥️ Desktop (Electron)npm run electron:buildNative window + system tray — Windows / macOS / Linux
    💪 ARMnative arm64Raspberry Pi, ARM servers, Apple Silicon
    📱 Android (Termux)pkg install nodejs && npx -y omnirouteRuns on your phone, 24/7, no root
    📲 PWA"Add to Home Screen"Fullscreen, offline, installable from browser
    🧩 OpenCode plugin@omniroute/opencode-providerNative OpenCode integration
    🤖 VS Code Copilot Chatinstall OmniCopilot extensionEvery OmniRoute model in the native Copilot Chat picker — stable & Insiders
    🛠️ From sourcenpm install && npm run devHack on it, contribute

    📖 Docker Guide · Desktop · Termux · PWA · OpenCode


    🧩 New: OmniRoute inside VS Code's native Copilot Chat

    No new sidebar, no new chat UI — every model OmniRoute serves shows up right in the Copilot Chat model picker you already use. Since VS Code 1.122, provider models work without a GitHub sign-in or a Copilot subscription — agent mode, tool calling and vision, for free.

    Install the OmniCopilot extension, point it at your OmniRoute server (defaults to localhost:20128), then open Copilot Chat → model picker → Manage Models…OmniRoute.

    StoreLinkWorks with
    🧩 VS Code MarketplaceInstall →VS Code — stable & Insiders
    🔓 Open VSX RegistryInstall →Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…

    From inside the editor: open the Extensions view, search "OmniRoute", click Install — works the same way on both stores. Source, issues and the publishing runbook live at diegosouzapw/OmniCopilot.

    📖 VS Code Copilot Chat guide — setup, what the picker shows, dashboard-in-a-tab, troubleshooting


    🔒 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)

    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.

    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.

    InterfaceEndpoint / commandUse it for
    🧰 MCP (stdio)omniroute --mcpPlug into Claude Desktop, Cursor, any MCP client
    🌊 MCP (HTTP)/api/mcp/streamRemote MCP — 109 tools, 33 scopes, full audit trail
    📡 MCP (SSE)/api/mcp/sseStreaming MCP transport
    🤝 A2A/.well-known/agent.jsonAgent-to-agent, JSON-RPC 2.0 + SSE, 6 skills
    🌐 REST API/v1/*OpenAI-compatible — chat, embeddings, images, audio, OCR
    🔔 Webhooks/api/webhooksPush events (usage, quota, errors, routing) to your URL
    🛰️ Remote CLIomniroute connect Drive a remote instance with scoped access tokens
    # 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:

    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:

    #EngineWhat it does
    1Session-DedupDrops content repeated across turns (content-addressed, cross-turn)
    2CCRArchives large blocks behind retrieve markers, fetched on demand
    3LiteWhitespace + image-URL trimming (latency-light baseline)
    4RTKSmart tool-result filtering, dedup & truncation (command-aware)
    5Responses Tool OutputLossless-first JSON + bounded diagnostic compression for shell/patch/search/build outputs (Responses API)
    6HeadroomLossless tabular compaction of JSON arrays (~30%) via a vendored GCF codec
    7RelevanceExtractive sentence scoring against the last user query
    8CavemanRule-based prose compression (~65–75% on output)
    9AggressiveSummarization + progressive aging of old turns
    10LLMLingua-2ML semantic pruning via MobileBERT ONNX — code-safe, async
    11UltraHeuristic token pruning with an optional small-model (SLM) tier
    12OmniGlyphExperimental context-as-image encoding for measured Claude Fable 5 on the direct Anthropic wire; GPT 5.6 transformers remain fail-closed pending provider receipts. Four compression profiles (aggressive default, balanced, coding-safe, passthrough) (most aggressive; opt-in)

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

    ModeSavingsBest for
    🪶 Lite~15%Always-on safe default
    🪨 Standard (Caveman)~30%Daily coding
    ⚡ Aggressive~50%Long tool-heavy sessions
    🔥 Ultra~75%Maximum savings
    🧰 RTK60–90%Shell/test/build/git output
    🔗 Stacked (RTK → Caveman)78–95%Mixed prompts + tool logs

    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

    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

    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

    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:

    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

    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
    

    Pre-release Docker channel: diegosouzapw/omniroute:next and diegosouzapw/omniroute:next-web follow the current default release/v* branch. These mutable tags are intended only for testing unreleased fixes and are not supported for production. See Docker Release Channels.

    🛠️ From source

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

    📦 pnpm

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

    🐧 Arch Linux (AUR)

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

    🔧 Nix (Flake)

    # 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

    # 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):

    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

    📹 Video Guides

    Dados de cobertura social em 2026-08-17 · YT: 741 | TT: 137 | IG: 124 · Frescor (dias): YT 0 · TT 14 · IG 15

    Instagram Reel
    🎬 #1 — Instagram
    nick_saraev — 1,628,910 views
    YouTube — Vaibhav Sisinty
    🎬 #2 — YouTube
    Vaibhav Sisinty — 373,084 views
    YouTube Shorts
    🎬 #3 — YouTube Shorts
    Nick Automates — 207,714 views
    TikTok Thumbnail
    🎬 #4 — TikTok
    milesreevesai — 620,400 views
    Valency Labs
    🎬 #5 — YouTube
    Valency Labs — 135,974 views

    Ranking completo (v > 0, maior alcance):

    #1 #2 #3 #4 #5
    nick_saraev — Instagram1,628,910 milesreevesai — TikTok620,400 Vaibhav Sisinty — YouTube373,084 Nick Automates — YouTube Shorts207,714 midudev — TikTok177,800
    #6 #7 #8 #9 #10
    theopenstack — Instagram155,453 t.ghoush.ai — TikTok152,800 Valency Labs — YouTube135,974 Asati — YouTube126,130 Vaibhav Sisinty — YouTube122,672

    Métricas de validação: 1002 vídeos rastreados · 7,069,190 visualizações conhecidas · 595 perfis/canais · 13+ idiomas · 13+ criadores.

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


    📧 Community & Help

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

    Channel Where / how
    💼 LinkedIn — follow the maintainer linkedin.com/in/diegosouzapw
    🐙 GitHub — follow for releases & tips @diegosouzapw
    💬 Discord discord.gg/U47eFqAXCn
    ✈️ Telegram t.me/omnirouteOficial
    🟢 WhatsApp — 🌍 Global join the group
    🟢 WhatsApp — 🇧🇷 Brasil entrar no grupo
    🌍 Website omniroute.online
    📦 Source code github.com/diegosouzapw/OmniRoute
    🐛 Report a bug open an issue — attach npm run system-info output
    🤝 Contribute CONTRIBUTING.md · Branching & Release Model · pick a good first issue
    💚 Support the project Ways to support ↑ · GitHub Sponsors


    🛠️ Tech Stack

    LayerTechnology
    RuntimeNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
    LanguageTypeScript 6.0 — 100% TypeScript across src/ and open-sse/ (zero any in core since v2.0)
    FrameworkNext.js 16 + React 19 + Tailwind CSS 4
    Databasebetter-sqlite3 (SQLite, WAL journaling) + LowDB (JSON legacy) — 120 domain modules, 154 migrations
    MemorySQLite FTS5 full-text + int8-quantized vector embeddings, typed decay
    SchemasZod 4 — MCP tool I/O validation + API contracts
    ProtocolsMCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
    StreamingServer-Sent Events (SSE) + WebSocket bridge (/v1/ws)
    Compression12-engine pipeline — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
    Auth & securityOAuth 2.0 (PKCE) + JWT + API Keys + MCP scoped auth · AES-256-GCM at rest · DOMPurify
    Stealthwreq-js — JA3 / JA4 TLS fingerprint impersonation, 3-level proxy
    ResilienceCircuit breaker, exponential backoff, anti-thundering-herd, auto-combo self-healing
    Loggingpino — structured JSON logs with request context
    TestingNode.js test runner + Vitest — 25,000+ test cases across 3,300+ files (unit, integration, E2E, security, ecosystem)
    PlatformsDesktop (Electron) · Android (Termux) · PWA (any browser)
    CI/CDGitHub Actions — auto npm publish + Docker Hub on release
    LinksWebsite · npm · Docker Hub

    📖 Documentation

    📘 Getting Started

    DocumentDescription
    User GuideProviders, combos, CLI integration, deployment
    Setup GuideFull install methods, CLI tool configs, protocol setup, timeout tuning
    CLI Tools GuidePer-tool setup for Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
    Remote ModeDrive a remote OmniRoute (VPS) from your laptop CLI via scoped access tokens
    Claude Code ConfigPoint Claude Code at OmniRoute (local/remote) with launch + per-model profiles
    Quick Start3-step install → connect → configure

    🔧 Operations & Deployment

    DocumentDescription
    Docker GuideDocker run, Compose profiles, Caddy HTTPS, tunnels, image tags
    Podman GuideQuadlet systemd integration, podman-compose, SELinux
    VM DeploymentComplete guide: VM + nginx + Cloudflare setup
    Fly.io DeploymentDeploy to Fly.io with persistent storage
    Termux GuideRun OmniRoute on Android via Termux
    PWA GuideProgressive Web App install, caching, architecture
    Uninstall GuideClean removal for all install methods
    Environment ConfigComplete .env variables and references

    🧠 Features & Architecture

    DocumentDescription
    ArchitectureSystem architecture, data flow, and internals
    Compression Guide7-option pipeline: off / lite / standard / aggressive / ultra / RTK / stacked
    RTK CompressionCommand-output compression, filters, trust, verify, raw-output recovery
    Compression EnginesCaveman, RTK, stacked pipelines, dashboard/API/MCP surfaces
    Compression Rules FormatJSON rule-pack schemas for Caveman and RTK filters
    Compression Language PacksLanguage detection and Caveman rule-pack authoring
    Resilience GuideCircuit breakers, cooldowns, queue, anti-thundering herd, TLS spoofing
    Auto-Combo Engine14-factor scoring, mode packs, self-healing
    Proxy Guide3-level proxy system, 1proxy marketplace, registry CRUD
    Free Tiers90+ free providers consolidated directory (42 documented token pools / 495 models)
    Features GalleryVisual dashboard tour with screenshots
    Codebase DocumentationBeginner-friendly codebase walkthrough

    🤖 Protocols & APIs

    DocumentDescription
    API ReferenceAll endpoints with examples
    OpenAPI SpecOpenAPI 3.0 specification
    MCP Server109 MCP tools, IDE configs, Python/TS/Go clients
    MCP Server GuideMCP installation, transports, and tool reference
    A2A ServerJSON-RPC 2.0 protocol, skills, streaming, task mgmt
    A2A Server GuideA2A agent card, tasks, skills, and streaming

    📋 Project & Quality

    DocumentDescription
    ContributingDevelopment setup and guidelines
    Branching & Release ModelWhere PRs target (release/*), what main and tags mean
    ChangelogFull per-version release history
    Security PolicyVulnerability reporting and security practices
    i18n Guide43-language support, translation workflow, RTL
    Release ChecklistPre-release validation steps
    Coverage PlanTest coverage strategy and 25,000+ test suite

    ⭐ 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.

    oyi77
    oyi77

    🥇 213 commits • +114K lines
    Analytics engine, SQL aggregations,
    proxy marketplace, test coverage
    R.D. & Randi
    R.D. & Randi

    🥈 108 commits • +38K lines
    Endpoints page, tunnel integrations,
    Docker workflows, A2A status, compression UI
    Chris Staley
    Chris Staley

    🥉 70 commits • +1.8K lines
    SSE stream hardening, Responses API,
    Gemini pagination, test regression fixes
    zenobit
    zenobit

    🏅 62 commits • +22K lines
    CI/CD pipeline, i18n for 33 languages,
    Void Linux package, platform fixes
    Jan Leon
    Jan Leon

    🏅 58 commits • +22K lines
    Reasoning-effort routing, proxy controls,
    quota visibility, Live Zone compression
    backryun
    backryun

    🏅 53 commits • +70K lines
    Provider catalog curation — Perplexity, Kimi,
    Cerebras, Copilot, LMArena refreshes
    Chirag Singhal
    Chirag Singhal

    🏅 46 commits • +4.8K lines
    Error sanitization, MITM prefill fix,
    fusion judge, breaker/429 correctness
    kfiramar
    kfiramar

    🏅 38 commits • +1.7K lines
    Codex websocket + passthrough, auth/onboarding,
    Electron hardening, DB migrations
    Benson K B
    Benson K B

    🏅 28 commits • +9.2K lines
    Electron desktop app, auto-updater,
    release build workflows, cross-platform CI
    Hernan J. Ardila
    Hernan J. Ardila

    🏅 25 commits • +174K lines
    Zero-latency combos, vision-bridge auto-routing,
    catalog context-length, resilience 429 hints

    🙏 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 Vasconcelos
    Prof. Igor Morais

    💛 Sponsor
    longtao
    longtao

    💛 Sponsor

    … and others who prefer to stay private 💛

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


    👥 320+ Contributors

    Contributors

    How to Contribute

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

    See CONTRIBUTING.md for detailed guidelines.

    Releasing a New Version

    # 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

    ProjectHow it inspired OmniRoute
    9router22.7kThe original project this fork is built on — extended here with multi-modal APIs and a full TypeScript rewrite.
    CLIProxyAPI43.6kThe Go implementation that inspired this JavaScript / TypeScript port.
    LiteLLM54.0kThe AI gateway whose public pricing dataset feeds our cost-tracking sync and whose provider-normalization model informed our routing.

    🗜️ Context & token compression — engines

    ProjectHow it inspired OmniRoute
    Caveman90.8kThe viral "why use many token when few token do trick" project — its caveman-speak philosophy powers our standard compression mode and 30+ filler/condensation rules.
    RTK – Rust Token Killer71.8kHigh-performance command-output compression — inspired our RTK engine, JSON filter DSL, raw-output recovery and the stacked RTK → Caveman pipeline.
    headroom60.1kReversible context-compression (SmartCrusher) — inspired our headroom engine and the ccr retrieve-marker pattern.
    LLMLingua6.5kPrompt-compression research (LLMLingua / LLMLingua-2) — inspired our async, code-safe, fail-open llmlingua engine.
    llmlingua-2-js30The JS/ONNX port (MobileBERT / XLM-RoBERTa) used as the worker-thread backend for our LLMLingua engine.
    Troglodita26PT-BR token compression — powers our pt-BR language pack: pleonasm reduction and filler removal tuned for Brazilian-Portuguese grammar.
    ponytail86.0kThe viral "lazy senior dev" YAGNI-coder skill — inspired our less-code Output Style: smallest-working-change steering that cuts _generated_ code (the output-axis sibling to Caveman's terse prose).

    🧩 Compact formats, token research & code-aware tooling

    ProjectHow it inspired OmniRoute
    TOON24.9kToken-Oriented Object Notation — its columnar, header-plus-rows model shaped our tabular compaction stage.
    GCF – Graph Compact Format22First inspired our tabular compaction stage; now its zero-dependency, lossless generic-profile encoder is vendored directly as the Headroom codec (MIT, SPDX-marked), current with GCF spec v3.2.
    token-optimizer-mcp444Brotli/SQLite cache + per-session context-delta — inspired our session-dedup engine.
    token-savior1.1kBash-output compaction + MCP profiles — inspired our compression bail-out discipline and MCP tool-manifest reduction.
    token-saver117Content-aware, per-file-type output compression with failure-aware bail-out — validated our per-type dispatch and minimum-gain skip.
    token-optimizer1.7k"Find the ghost tokens" — its offload + recoverable-handle pattern informed our CCR offload thinking.
    TokenMizer16A session-graph + cross-turn line-dedup blueprint that informed our session-dedup design.
    OmniCompress3Rust columnar-JSON + content-addressed retrieve + cross-message dedup — validated our headroom/ccr/session-dedup engine design and the cache-stable "compressed form is position-independent" invariant.
    mcp-compressor98MCP tool-schema/description compression — informed our MCP tool-manifest cardinality reduction.
    RepoMapper187Aider-style repo-map ranking — informed our repo-map / retrieval-ranking exploration.
    quiet-shell-mcp4Declarative shell-output reduction over MCP — validated our declarative bash-output compaction.
    ts-morph6.1kTypeScript Compiler API toolkit — inspired our parser-based comment removal that preserves string, template and regex literals.

    🧠 Memory & RAG

    ProjectHow it inspired OmniRoute
    Mem061.2kUniversal memory layer — its proxy-as-write/read-boundary model shaped our memory architecture.
    Letta (MemGPT)23.9kStateful agents with tiered memory — inspired our Context Control & Recovery (CCR) tiered model.
    WFGY1.8kThe ProblemMap taxonomy of 16 recurring RAG/LLM failure modes — the shared vocabulary in our troubleshooting guide.

    🛰️ Traffic inspection, MITM & transparent proxy

    ProjectHow it inspired OmniRoute
    llm-interceptor49MITM interception/analysis of coding-assistant ↔ LLM traffic — our Traffic Inspector ports its SSE merge, conversation normalization, host passthrough and secret masking (MIT).
    ProxyBridge5.5kTransparent per-process proxy routing — inspired our crash-safe MITM teardown, socket idle-timeouts, /proc process attribution and TPROXY capture.

    📚 Model data, observability & UI

    ProjectHow it inspired OmniRoute
    models.dev6.0kOpen database of AI model specs, pricing and capabilities — synced natively into our model catalog.
    React Flow / xyflow37.7kThe node-based graph library powering our real-time Compression Studio and Combo/Routing Studio.
    LangGraph37.6kLangGraph Studio's live workflow-graph visualization inspired our Studios' real-time cascade view.
    Langfuse31.4kIts trace → span → generation observability model shaped our Compression Studio waterfall.
    Kiali3.6kIstio service-mesh observability — inspired our circuit-breaker badges and error-edge visuals in the Routing/Combo Studio.
    lobe-icons2.2kAI/LLM brand logos that render the provider icons across our dashboard.

    🛡️ Security

    ProjectHow it inspired OmniRoute
    awesome-secure-defaults710A curated list of secure-by-default libraries that guides our security choices (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).

    🧭 Complementary tools

    ProjectHow it inspired OmniRoute

    📄 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