[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-11208":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":16,"starSnapshotCount":16,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},11208,"OmniRoute","diegosouzapw\u002FOmniRoute","diegosouzapw","Never stop coding. Free AI gateway: one endpoint, 160+ providers (50+ free), connect Claude Code, Codex, Cursor, Cline & Copilot to FREE Claude\u002FGPT\u002FGemini. RTK+Caveman stacked compression saves 15-95% tokens, smart auto-fallback, MCP\u002FA2A, multimodal APIs, Desktop\u002FPWA.",null,"https:\u002F\u002Fgithub.com\u002Fdiegosouzapw\u002FOmniRoute","TypeScript",5998,1044,22,71,0,196,410,793,588,40.06,false,"main",[25,26,27,28,29],"gateway","llm-tools","mcp-gateway","proxy-server","token-optimization","2026-06-12 02:02:30","\u003Cdiv align=\"center\">\n\n# 🚀 OmniRoute — The Free AI Gateway\n\n### Never stop coding. Save 15-95% eligible tokens with RTK+Caveman compression + auto-fallback to **FREE & low-cost AI models**.\n\n_The most complete open-source AI proxy — **one endpoint**, **160+ providers**, **13 routing strategies**, zero downtime. Multi-platform: **Web**, **Desktop (Electron)**, **Mobile (PWA + Termux)**. Fully extensible via **MCP Server (37 tools)**, **A2A Protocol**, and **Memory\u002FSkills** systems. Available in **40+ languages**._\n\n**Chat Completions • Responses API • Embeddings • Image Generation • Video • Music • Audio Speech\u002FTranscription • Reranking • Moderations • Web Search • MCP Server • A2A Protocol • 4,600+ Tests • 100% TypeScript**\n\n\u003Cbr\u002F>\n\n\u003Ca href=\"https:\u002F\u002Fagentrouter.org\u002Fregister?aff=70LM\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🎁_GET_$100_FREE_AI_CREDITS-AgentRouter_(no_card_needed)-ff6600?style=for-the-badge&labelColor=1a1a2e&logo=data:image\u002Fsvg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xMiAyTDIgNy41bDEwIDUuNSAxMC01LjVMMTIgMnpNMiAxNy41bDEwIDUuNSAxMC01LjVMMTIgMTIgMiAxNy41eiIvPjwvc3ZnPg==\" alt=\"Get $100 Free AI Credits\" height=\"40\"\u002F>\n\u003C\u002Fa>\n\n\u003Csub>🔥 \u003Cb>Limited offer:\u003C\u002Fb> Sign up at \u003Ca href=\"https:\u002F\u002Fagentrouter.org\u002Fregister?aff=70LM\">\u003Cb>AgentRouter\u003C\u002Fb>\u003C\u002Fa> and get \u003Cb>$100 in free AI credits\u003C\u002Fb>\u003C\u002Fbr> Access GPT-5, Claude, Gemini, DeepSeek & 100+ models. No credit card required. \u003Ca href=\"https:\u002F\u002Fagentrouter.org\u002Fregister?aff=70LM\">\u003Cb>Claim your credits →\u003C\u002Fb>\u003C\u002Fa>\u003C\u002Fsub>\n\n\u003Cbr\u002F>\n\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F23589\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F23589\" alt=\"diegosouzapw%2FOmniRoute | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\n[🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [🗜️ Compression](#%EF%B8%8F-prompt-compression--save-15-95-eligible-tokens-automatically) • [💰 Pricing](#-pricing-at-a-glance) • [🎯 Use Cases](#-use-cases--ready-made-combo-playbooks) • [🌍 Proxy](#-bypass-geographic-blocks--use-ai-from-any-country) • [❓ FAQ](#-frequently-asked-questions) • [📖 Docs](#-documentation) • [💬 WhatsApp](https:\u002F\u002Fchat.whatsapp.com\u002FJI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)\n\n\u003C\u002Fdiv>\n\n---\n\n\u003Cdiv align=\"\">\n\n🌐 **Available in:** 🇺🇸 [English](README.md) | 🇧🇷 [Português (Brasil)](docs\u002Fi18n\u002Fpt-BR\u002FREADME.md) | 🇪🇸 [Español](docs\u002Fi18n\u002Fes\u002FREADME.md) | 🇫🇷 [Français](docs\u002Fi18n\u002Ffr\u002FREADME.md) | 🇮🇹 [Italiano](docs\u002Fi18n\u002Fit\u002FREADME.md) | 🇷🇺 [Русский](docs\u002Fi18n\u002Fru\u002FREADME.md) | 🇨🇳 [中文 (简体)](docs\u002Fi18n\u002Fzh-CN\u002FREADME.md) | 🇩🇪 [Deutsch](docs\u002Fi18n\u002Fde\u002FREADME.md) | 🇮🇳 [हिन्दी](docs\u002Fi18n\u002Fin\u002FREADME.md) | 🇹🇭 [ไทย](docs\u002Fi18n\u002Fth\u002FREADME.md) | 🇺🇦 [Українська](docs\u002Fi18n\u002Fuk-UA\u002FREADME.md) | 🇸🇦 [العربية](docs\u002Fi18n\u002Far\u002FREADME.md) | 🇯🇵 [日本語](docs\u002Fi18n\u002Fja\u002FREADME.md) | 🇻🇳 [Tiếng Việt](docs\u002Fi18n\u002Fvi\u002FREADME.md) | 🇧🇬 [Български](docs\u002Fi18n\u002Fbg\u002FREADME.md) | 🇩🇰 [Dansk](docs\u002Fi18n\u002Fda\u002FREADME.md) | 🇫🇮 [Suomi](docs\u002Fi18n\u002Ffi\u002FREADME.md) | 🇮🇱 [עברית](docs\u002Fi18n\u002Fhe\u002FREADME.md) | 🇭🇺 [Magyar](docs\u002Fi18n\u002Fhu\u002FREADME.md) | 🇮🇩 [Bahasa Indonesia](docs\u002Fi18n\u002Fid\u002FREADME.md) | 🇰🇷 [한국어](docs\u002Fi18n\u002Fko\u002FREADME.md) | 🇲🇾 [Bahasa Melayu](docs\u002Fi18n\u002Fms\u002FREADME.md) | 🇳🇱 [Nederlands](docs\u002Fi18n\u002Fnl\u002FREADME.md) | 🇳🇴 [Norsk](docs\u002Fi18n\u002Fno\u002FREADME.md) | 🇵🇹 [Português (Portugal)](docs\u002Fi18n\u002Fpt\u002FREADME.md) | 🇷🇴 [Română](docs\u002Fi18n\u002Fro\u002FREADME.md) | 🇵🇱 [Polski](docs\u002Fi18n\u002Fpl\u002FREADME.md) | 🇸🇰 [Slovenčina](docs\u002Fi18n\u002Fsk\u002FREADME.md) | 🇸🇪 [Svenska](docs\u002Fi18n\u002Fsv\u002FREADME.md) | 🇵🇭 [Filipino](docs\u002Fi18n\u002Fphi\u002FREADME.md) | 🇨🇿 [Čeština](docs\u002Fi18n\u002Fcs\u002FREADME.md)\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n[![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fomniroute?color=cb3837&logo=npm)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fomniroute)\n![NPM Weekly](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdw\u002Fomniroute?label=npm\u002Fweek&color=cb3837&logo=npm)\n![NPM Monthly](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fomniroute?label=npm\u002Fmonth&color=cb3837&logo=npm)\n![NPM Yearly](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fd18m\u002Fomniroute?label=npm\u002Fyear&color=cb3837&logo=npm)\n\n[![Docker Hub](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fv\u002Fdiegosouzapw\u002Fomniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fdiegosouzapw\u002Fomniroute)\n![Docker Pulls](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fdiegosouzapw\u002Fomniroute?label=docker%20pulls&logo=docker&color=2496ED)\n![Electron Downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fdiegosouzapw\u002Fomniroute\u002Ftotal?style=flat&label=electron%20downloads&logo=electron&color=47848F)\n[![license](https:\u002F\u002Fcustom-icon-badges.demolab.com\u002Fgithub\u002Flicense\u002Fdiegosouzapw\u002FOmniRoute?logo=law)](https:\u002F\u002Fgithub.com\u002Fdiegosouzapw\u002FOmniRoute\u002Fblob\u002Fmain\u002FLICENSE)\n\n\u003C!-- Community & Social -->\n\n[![total contributions](https:\u002F\u002Fcustom-icon-badges.demolab.com\u002Fbadge\u002Fdynamic\u002Fjson?logo=graph&logoColor=fff&color=blue&label=total%20contributions&query=%24.totalContributions&url=https%3A%2F%2Fstreak-stats.demolab.com%2F%3Fuser%3Ddiegosouzapw%26type%3Djson)](https:\u002F\u002Fgithub.com\u002Fdiegosouzapw)\n[![github streak](https:\u002F\u002Fcustom-icon-badges.demolab.com\u002Fbadge\u002Fdynamic\u002Fjson?logo=fire&logoColor=fff&color=orange&label=github%20streak&query=%24.currentStreak.length&suffix=%20days&url=https%3A%2F%2Fstreak-stats.demolab.com%2F%3Fuser%3Ddiegosouzapw%26type%3Djson)](https:\u002F\u002Fgithub.com\u002Fdiegosouzapw)\n[![Website](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWebsite-omniroute.online-blue?logo=google-chrome&logoColor=white)](https:\u002F\u002Fomniroute.online)\n[![WhatsApp](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](https:\u002F\u002Fchat.whatsapp.com\u002FJI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)\n\n\u003C\u002Fdiv>\n\n---\n\n## 🖼️ Main Dashboard\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\".\u002Fdocs\u002Fscreenshots\u002FMainOmniRoute.png\" alt=\"OmniRoute Dashboard\" width=\"800\"\u002F>\n\u003C\u002Fdiv>\n\n---\n\n## 📸 Dashboard Preview\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Click to see dashboard screenshots\u003C\u002Fb>\u003C\u002Fsummary>\n\n| Page           | Screenshot                                        |\n| -------------- | ------------------------------------------------- |\n| **Providers**  | ![Providers](docs\u002Fscreenshots\u002F01-providers.png)   |\n| **Combos**     | ![Combos](docs\u002Fscreenshots\u002F02-combos.png)         |\n| **Analytics**  | ![Analytics](docs\u002Fscreenshots\u002F03-analytics.png)   |\n| **Health**     | ![Health](docs\u002Fscreenshots\u002F04-health.png)         |\n| **Translator** | ![Translator](docs\u002Fscreenshots\u002F05-translator.png) |\n| **Settings**   | ![Settings](docs\u002Fscreenshots\u002F06-settings.png)     |\n| **CLI Tools**  | ![CLI Tools](docs\u002Fscreenshots\u002F07-cli-tools.png)   |\n| **Usage Logs** | ![Usage](docs\u002Fscreenshots\u002F08-usage.png)           |\n| **Endpoints**  | ![Endpoints](docs\u002Fscreenshots\u002F09-endpoint.png)    |\n\n\u003C\u002Fdetails>\n\n---\n\n### 🤖 Free AI Provider for your favorite coding agents\n\n_Connect any AI-powered IDE or CLI tool through OmniRoute — free API gateway for unlimited coding._\n\n  \u003Ctable>\n    \u003Ctr>\n      \u003Ctd align=\"center\" width=\"110\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\">\n          \u003Cimg src=\".\u002Fpublic\u002Fproviders\u002Fopenclaw.png\" alt=\"OpenClaw\" width=\"48\"\u002F>\u003Cbr\u002F>\n          \u003Cb>OpenClaw\u003C\u002Fb>\n        \u003C\u002Fa>\u003Cbr\u002F>\n        \u003Csub>⭐ 205K\u003C\u002Fsub>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" width=\"110\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FHKUDS\u002Fnanobot\">\n          \u003Cimg src=\".\u002Fpublic\u002Fproviders\u002Fnanobot.png\" alt=\"NanoBot\" width=\"48\"\u002F>\u003Cbr\u002F>\n          \u003Cb>NanoBot\u003C\u002Fb>\n        \u003C\u002Fa>\u003Cbr\u002F>\n        \u003Csub>⭐ 20.9K\u003C\u002Fsub>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" width=\"110\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsipeed\u002Fpicoclaw\">\n          \u003Cimg src=\".\u002Fpublic\u002Fproviders\u002Fpicoclaw.jpg\" alt=\"PicoClaw\" width=\"48\"\u002F>\u003Cbr\u002F>\n          \u003Cb>PicoClaw\u003C\u002Fb>\n        \u003C\u002Fa>\u003Cbr\u002F>\n        \u003Csub>⭐ 14.6K\u003C\u002Fsub>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" width=\"110\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzeroclaw-labs\u002Fzeroclaw\">\n          \u003Cimg src=\".\u002Fpublic\u002Fproviders\u002Fzeroclaw.png\" alt=\"ZeroClaw\" width=\"48\"\u002F>\u003Cbr\u002F>\n          \u003Cb>ZeroClaw\u003C\u002Fb>\n        \u003C\u002Fa>\u003Cbr\u002F>\n        \u003Csub>⭐ 9.9K\u003C\u002Fsub>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" width=\"110\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnearai\u002Fironclaw\">\n          \u003Cimg src=\".\u002Fpublic\u002Fproviders\u002Fironclaw.png\" alt=\"IronClaw\" width=\"48\"\u002F>\u003Cbr\u002F>\n          \u003Cb>IronClaw\u003C\u002Fb>\n        \u003C\u002Fa>\u003Cbr\u002F>\n        \u003Csub>⭐ 2.1K\u003C\u002Fsub>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" width=\"110\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\">\n          \u003Cimg src=\".\u002Fpublic\u002Fproviders\u002Fopencode.svg\" alt=\"OpenCode\" width=\"48\"\u002F>\u003Cbr\u002F>\n          \u003Cb>OpenCode\u003C\u002Fb>\n        \u003C\u002Fa>\u003Cbr\u002F>\n        \u003Csub>⭐ 106K\u003C\u002Fsub>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" width=\"110\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex\">\n          \u003Cimg src=\".\u002Fpublic\u002Fproviders\u002Fcodex.png\" alt=\"Codex CLI\" width=\"48\"\u002F>\u003Cbr\u002F>\n          \u003Cb>Codex CLI\u003C\u002Fb>\n        \u003C\u002Fa>\u003Cbr\u002F>\n        \u003Csub>⭐ 60.8K\u003C\u002Fsub>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" width=\"110\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code\">\n          \u003Cimg src=\".\u002Fpublic\u002Fproviders\u002Fclaude.png\" alt=\"Claude Code\" width=\"48\"\u002F>\u003Cbr\u002F>\n          \u003Cb>Claude Code\u003C\u002Fb>\n        \u003C\u002Fa>\u003Cbr\u002F>\n        \u003Csub>⭐ 67.3K\u003C\u002Fsub>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" width=\"110\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\">\n          \u003Cimg src=\".\u002Fpublic\u002Fproviders\u002Fgemini-cli.png\" alt=\"Gemini CLI\" width=\"48\"\u002F>\u003Cbr\u002F>\n          \u003Cb>Gemini CLI\u003C\u002Fb>\n        \u003C\u002Fa>\u003Cbr\u002F>\n        \u003Csub>⭐ 94.7K\u003C\u002Fsub>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" width=\"110\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKilo-Org\u002Fkilocode\">\n          \u003Cimg src=\".\u002Fpublic\u002Fproviders\u002Fkilocode.png\" alt=\"Kilo Code\" width=\"48\"\u002F>\u003Cbr\u002F>\n          \u003Cb>Kilo Code\u003C\u002Fb>\n        \u003C\u002Fa>\u003Cbr\u002F>\n        \u003Csub>⭐ 15.5K\u003C\u002Fsub>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\n\u003Csub>📡 All agents connect via \u003Ccode>http:\u002F\u002Flocalhost:20128\u002Fv1\u003C\u002Fcode> or \u003Ccode>http:\u002F\u002Fcloud.omniroute.online\u002Fv1\u003C\u002Fcode> — one config, unlimited models and quota\u003C\u002Fsub>\n\n---\n\n## 📺 OmniRoute in Action — Video Guides\n\n\u003Cdiv align=\"center\">\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"320\">\n      \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Rxdc36yUyOQ\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FRxdc36yUyOQ\u002Fmaxresdefault.jpg\" alt=\"OmniRoute — Guia em Português\" width=\"300\"\u002F>\n      \u003C\u002Fa>\u003Cbr\u002F>\n      \u003Cb>🇧🇷 Português\u003C\u002Fb>\u003Cbr\u002F>\n      \u003Csub>Guia completo do OmniRoute\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"320\">\n      \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=CMzyOiUyEVc\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FCMzyOiUyEVc\u002Fmaxresdefault.jpg\" alt=\"OmniRoute — English Guide\" width=\"300\"\u002F>\n      \u003C\u002Fa>\u003Cbr\u002F>\n      \u003Cb>🇺🇸 English\u003C\u002Fb>\u003Cbr\u002F>\n      \u003Csub>Complete OmniRoute walkthrough\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"320\">\n      \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=il_5Ii6v4-Y\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.youtube.com\u002Fvi\u002Fil_5Ii6v4-Y\u002Fmaxresdefault.jpg\" alt=\"OmniRoute — Руководство на русском\" width=\"300\"\u002F>\n      \u003C\u002Fa>\u003Cbr\u002F>\n      \u003Cb>🇷🇺 Русский\u003C\u002Fb>\u003Cbr\u002F>\n      \u003Csub>Полное руководство по OmniRoute\u003C\u002Fsub>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdiv>\n\n> 🎬 **Made a video about OmniRoute?** We'd love to feature it here! Open an [issue](https:\u002F\u002Fgithub.com\u002Fdiegosouzapw\u002FOmniRoute\u002Fissues\u002Fnew) or [discussion](https:\u002F\u002Fgithub.com\u002Fdiegosouzapw\u002FOmniRoute\u002Fdiscussions) with the link and we'll add it to this showcase.\n\n---\n\n## 🤔 Why OmniRoute?\n\n**Stop wasting money, tokens and hitting limits:**\n\n❌ Subscription quota expires unused every month\n❌ Rate limits stop you mid-coding\n❌ Tool outputs (`git diff`, `grep`, `ls`...) burn tokens fast\n❌ Expensive APIs ($20-50\u002Fmonth per provider)\n❌ Manual switching between providers\n❌ Each provider has a different API format\n❌ AI providers blocked in your country\n\n**OmniRoute solves all of this:**\n\n✅ **Prompt Compression** — auto-compress prompts & tool outputs, save 15-95% eligible tokens per request with RTK+Caveman stacked mode\n✅ **Maximize subscriptions** — track quota, use every bit before reset\n✅ **Auto fallback** — Subscription → API Key → Cheap → Free, zero downtime\n✅ **Multi-account** — round-robin between accounts per provider\n✅ **Format translation** — OpenAI ↔ Claude ↔ Gemini ↔ Responses API, any tool works\n✅ **3-level proxy** — bypass geo-blocks with global, per-provider, and per-key proxies\n✅ **10 multi-modal APIs** — chat, images, video, music, audio, search in one endpoint\n✅ **MCP + A2A** — 29 MCP tools + agent-to-agent protocol, production-ready\n✅ **Universal** — works with Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, any CLI tool\n\n---\n\n## 📧 Support\n\n> 💬 **Join our community!** [WhatsApp Group](https:\u002F\u002Fchat.whatsapp.com\u002FJI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Get help, share tips, and stay updated.\n\n- **Website**: [omniroute.online](https:\u002F\u002Fomniroute.online)\n- **GitHub**: [github.com\u002Fdiegosouzapw\u002FOmniRoute](https:\u002F\u002Fgithub.com\u002Fdiegosouzapw\u002FOmniRoute)\n- **Issues**: [github.com\u002Fdiegosouzapw\u002FOmniRoute\u002Fissues](https:\u002F\u002Fgithub.com\u002Fdiegosouzapw\u002FOmniRoute\u002Fissues)\n- **WhatsApp**: [Community Group](https:\u002F\u002Fchat.whatsapp.com\u002FJI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)\n- **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md), open a PR, or pick a `good first issue`\n- **Original Project**: [9router by decolua](https:\u002F\u002Fgithub.com\u002Fdecolua\u002F9router)\n\n### 🐛 Reporting a Bug?\n\nWhen opening an issue, please run the system-info command and attach the generated file:\n\n```bash\nnpm run system-info\n```\n\nThis generates a `system-info.txt` with your Node.js version, OmniRoute version, OS details, installed CLI tools (qoder, gemini, claude, codex, antigravity, droid, etc.), Docker\u002FPM2 status, and system packages — everything we need to reproduce your issue quickly. Attach the file directly to your GitHub issue.\n\n---\n\n## 🛠️ Supported CLI Tools\n\nOmniRoute works seamlessly with **16+ AI coding tools** — one config, all tools:\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Claude Code\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Anthropic\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Codex CLI\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>OpenAI\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Gemini CLI\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Google\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Cursor\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>IDE\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>OpenClaw\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>CLI\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Antigravity\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>VS Code\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Cline\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Extension\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Continue\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Extension\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Kilo Code\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Extension\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Kiro\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>AWS IDE\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>OpenCode\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>CLI\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Droid\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>CLI\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>AMP\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>CLI\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Copilot\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>GitHub\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Windsurf\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>IDE\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Hermes\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>CLI\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Qwen CLI\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Alibaba\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Custom\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Any tool\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n📖 Full setup for each tool: [`docs\u002FCLI-TOOLS.md`](docs\u002FCLI-TOOLS.md)\n\n---\n\n## 🌐 Supported Providers — 160+\n\n### 🔐 OAuth Providers\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>Claude Code\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Anthropic OAuth\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>Antigravity\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Google OAuth\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>Codex\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>OpenAI OAuth\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>GitHub Copilot\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>GitHub OAuth\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>Cursor\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Cursor OAuth\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>Kimi Coding\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Moonshot OAuth\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>Kilo Code\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Kilo OAuth\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>Cline\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Cline OAuth\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" colspan=\"2\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 🆓 Free Providers (No Cost)\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"160\">\u003Cb>🟢 Kiro AI\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Claude Sonnet\u002FHaiku\u003Cbr\u002F>Unlimited FREE\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"160\">\u003Cb>🟢 Qoder AI\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Kimi-K2, DeepSeek-R1\u003Cbr\u002F>Unlimited FREE\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"160\">\u003Cb>🟢 Pollinations\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>GPT-5, Claude, Llama 4\u003Cbr\u002F>No API key needed\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"160\">\u003Cb>🟢 Qwen Code\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Qwen3 Coder Plus\u003Cbr\u002F>Unlimited FREE\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"160\">\u003Cb>🟢 LongCat AI\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Flash-Lite\u003Cbr\u002F>50M tokens\u002Fday\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"160\">\u003Cb>🟢 Cloudflare AI\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>50+ models\u003Cbr\u002F>10K neurons\u002Fday\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"160\">\u003Cb>🟢 Puter AI\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>GPT-4.1, Claude\u003Cbr\u002F>Rate-limited free\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"160\">\u003Cb>🟢 NVIDIA NIM\u003C\u002Fb>\u003Cbr\u002F>\u003Csub>Llama, Mistral\u003Cbr\u002F>1K req\u002Fday free\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 🔑 API Key Providers (120+)\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>OpenAI\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Anthropic\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Gemini\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>DeepSeek\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Groq\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>xAI (Grok)\u003C\u002Fb>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Mistral\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>OpenRouter\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>GLM\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Kimi\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>MiniMax\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Fireworks\u003C\u002Fb>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Together AI\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Cerebras\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Cohere\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>NVIDIA\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Perplexity\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>SiliconFlow\u003C\u002Fb>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Nebius\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>HuggingFace\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>DeepInfra\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>SambaNova\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Vertex AI\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Azure OpenAI\u003C\u002Fb>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>AWS Bedrock\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Snowflake\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Databricks\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Venice.ai\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>AI21 Labs\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"110\">\u003Cb>Meta Llama\u003C\u002Fb>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>...and 90+ more providers\u003C\u002Fb>\u003C\u002Fsummary>\n\nAlibaba · Amazon Q · AssemblyAI · Baidu Qianfan · Baseten · Black Forest Labs · Blackbox · Brave Search · Bytez · CablyAI · Cartesia · ChatGPT Web · Chutes.ai · Clarifai · Codestral · CrofAI · DataRobot · Deepgram · ElevenLabs · Empower · Exa Search · Fal.ai · Featherless AI · FenayAI · FriendliAI · Galadriel · GigaChat · GitLab Duo · GLHF Chat · GoAPI · Heroku AI · Hyperbolic · IBM watsonx · Inference.net · Inworld · Jina AI · Kilo Gateway · Lambda AI · LaoZhang · Linkup Search · LlamaGate · Maritalk · Modal · Moonshot AI · Morph · Muse Spark · NanoBanana · NanoGPT · NLP Cloud · Nous Research · Novita AI · nScale · OCI · Ollama Cloud · OVHcloud · PiAPI · PlayHT · Poe · Predibase · PublicAI · Qwen Code · Recraft · Reka · Runway · SAP · Scaleway · SearchAPI · SearXNG · Serper · Stability AI · Synthetic · Tavily · TheB.AI · Topaz · Upstage · v0 (Vercel) · Vercel AI Gateway · Volcengine · Voyage AI · W&B Inference · Xiaomi MiMo · You.com · Z.AI · + OpenAI\u002FAnthropic-compatible custom endpoints\n\n\u003C\u002Fdetails>\n\n### 🏠 Self-Hosted\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>LM Studio\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>Ollama\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>vLLM\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>Llamafile\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>Docker Model Runner\u003C\u002Fb>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>NVIDIA Triton\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>XInference\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>oobabooga\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>ComfyUI\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"130\">\u003Cb>SD WebUI\u003C\u002Fb>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## 🔄 How It Works\n\n```\n┌─────────────┐\n│  Your CLI   │  (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...)\n│   Tool      │\n└──────┬──────┘\n       │ http:\u002F\u002Flocalhost:20128\u002Fv1\n       ↓\n┌──────────────────────────────────────────────────┐\n│              OmniRoute (Smart Router)             │\n│  • 🗜️ Prompt Compression (save 15-95% eligible)  │\n│  • Format translation (OpenAI ↔ Claude ↔ Gemini) │\n│  • Quota tracking + Embeddings + Images          │\n│  • Auto token refresh + Rate limit management    │\n└──────┬───────────────────────────────────────────┘\n       │\n       ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI\n       │   ↓ quota exhausted\n       ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc.\n       │   ↓ budget limit\n       ├─→ [Tier 3: CHEAP] GLM ($0.6\u002F1M), MiniMax ($0.2\u002F1M)\n       │   ↓ budget limit\n       └─→ [Tier 4: FREE] Qoder, Qwen, Kiro (unlimited)\n\nResult: Never stop coding, minimal cost + 15-95% eligible token savings\n```\n\n---\n\n## 🗜️ Prompt Compression — Save 15-95% Eligible Tokens Automatically\n\n> **Why use many token when few token do trick?** OmniRoute's built-in compression pipeline reduces token usage before requests reach the provider. It combines ideas from [RTK - Rust Token Killer](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk) and [Caveman](https:\u002F\u002Fgithub.com\u002FJuliusBrussee\u002Fcaveman) (⭐ 51K+).\n\n### How It Works\n\nEvery request passes through the compression pipeline **transparently** — no client changes needed:\n\n```\n┌──────────────────┐     ┌─────────────────────────────┐     ┌──────────────┐\n│   Client sends   │────▶│  OmniRoute Compression      │────▶│  Provider    │\n│   full prompt    │     │  Pipeline (7 options)        │     │  receives    │\n│   (10,000 tok)   │     │                              │     │  compressed  │\n│                  │     │  🪶 Lite ........... ~15%     │     │  (~1,080 tok)│\n│                  │     │  🪨 Standard ....... ~30%     │     │              │\n│                  │     │  ⚡ Aggressive ..... ~50%     │     │  💰 up to 95%│\n│                  │     │  🔥 Ultra .......... ~75%     │     │              │\n│                  │     │  🧰 RTK ............ 60-90%    │     │              │\n│                  │     │  🔗 Stacked ........ 78-95%    │     │              │\n└──────────────────┘     └─────────────────────────────┘     └──────────────┘\n```\n\n### 7 Compression Options\n\n| Mode                      | Savings | Technique                                                                                       | Best For                               |\n| ------------------------- | ------- | ----------------------------------------------------------------------------------------------- | -------------------------------------- |\n| **Off**                   | 0%      | No compression                                                                                  | When you need exact prompts            |\n| **🪶 Lite**               | ~15%    | Whitespace collapse, dedup system prompts, image URL shortening                                 | Always-on safe default                 |\n| **🪨 Standard (Caveman)** | ~30%    | 30+ regex rules: filler removal, context condensation, structural compression, multi-turn dedup | Daily coding with Claude\u002FCodex         |\n| **⚡ Aggressive**         | ~50%    | All standard + progressive message aging + tool result summarization + LLM-based compression    | Long sessions with many tool calls     |\n| **🔥 Ultra**              | ~75%    | All aggressive + heuristic token pruning + stopword removal + score-based filtering             | Maximum savings when tokens are scarce |\n| **🧰 RTK**                | 60-90%  | 49 command-aware filters, RTK-style JSON DSL, verify gate, trust-gated custom filters           | Shell\u002Ftest\u002Fbuild\u002Fgit output in agents  |\n| **🔗 Stacked**            | 78-95%  | RTK first, then Caveman input condensation; ~89% with upstream average math                     | Mixed prompts with tool logs + prose   |\n\n### RTK + Caveman Savings Math\n\nThese numbers are based on the upstream project READMEs under `_references\u002F_outros`:\n\n| Source  | Upstream claim used by OmniRoute docs                                                                               |\n| ------- | ------------------------------------------------------------------------------------------------------------------- |\n| Caveman | `~75%` fewer output tokens; benchmark average `65%` output savings, range `22-87%`; `~46%` input compression tool   |\n| RTK     | `60-90%` command-output token savings; sample session `~118,000 -> ~23,900` tokens, which is `79.7%` saved (`~80%`) |\n\nFor the default stacked compression combo, OmniRoute runs:\n\n```txt\nRTK -> Caveman\n```\n\nWhen both engines can act on the same tool\u002Fcontext payload, the savings compound:\n\n```txt\ncombined = 1 - (1 - RTK savings) * (1 - Caveman input savings)\naverage  = 1 - (1 - 0.80) * (1 - 0.46) = 89.2%\nrange    = 1 - (1 - 0.60..0.90) * (1 - 0.46) = 78.4-94.6%\n```\n\nCaveman output mode is separate from prompt compression. When enabled for responses, use Caveman's\nown upstream output numbers: `65%` average, `~75%` headline, `22-87%` observed range. Total bill\nsavings depend on the prompt\u002Foutput mix, but coding-agent sessions are often tool-context heavy, so\nthe `RTK -> Caveman` combo is the best default for maximum context savings.\n\n### Before & After (Standard\u002FCaveman Mode)\n\n**🗣️ Before compression (69 tokens):**\n\n> \"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.\"\n\n**🪨 After compression (19 tokens):**\n\n> \"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo.\"\n\n**Same answer. 72% less tokens. Zero accuracy loss.**\n\n### Architecture\n\n```\nRequest Body\n  │\n  ├─ strategySelector.ts ─── Picks mode (config \u002F combo override \u002F auto-trigger)\n  │\n  ├─ lite.ts ─────────────── Whitespace, dedup, image URLs, redundant content\n  ├─ caveman.ts ──────────── 30+ regex rules via cavemanRules.ts\n  │   └─ preservation.ts ─── Protects code blocks, URLs, JSON from compression\n  ├─ engines\u002Frtk\u002F ────────── Command detection + JSON DSL filters + raw-output recovery\n  ├─ engines\u002Fregistry.ts ─── Shared engine registry for caveman, RTK, and stacked\n  ├─ aggressive.ts ───────── Summarizer + tool result compressor + progressive aging\n  │   ├─ summarizer.ts ───── Rule-based message summarization\n  │   ├─ toolResultCompressor.ts ── file\u002Fgrep\u002Fshell\u002FJSON\u002Ferror compression\n  │   └─ progressiveAging.ts ──── Older messages → shorter summaries\n  └─ ultra.ts ────────────── Heuristic token scoring + pruning\n      └─ ultraHeuristic.ts ─ Stopword detection, score thresholds, force-preserve\n```\n\n### Configuration\n\n```\nDashboard → Context & Cache → Caveman \u002F RTK \u002F Compression Combos\n```\n\nOr per-combo override:\n\n```json\n{\n  \"comboOverrides\": {\n    \"my-coding-combo\": \"standard\",\n    \"my-cheap-combo\": \"ultra\"\n  }\n}\n```\n\nAuto-trigger: set `autoTriggerTokens` to automatically enable compression when a request exceeds a token threshold.\n\nCompression combos can also assign a named compression pipeline to routing combos, so a coding combo can use RTK + Caveman while a paid subscription combo stays on lite mode.\n\n> 🪨 **Fun fact:** The standard\u002Fcaveman mode is inspired by [Caveman](https:\u002F\u002Fgithub.com\u002FJuliusBrussee\u002Fcaveman) — the viral project that reports 65% average output-token savings while keeping technical accuracy. OmniRoute takes this further with a **7-option pipeline** and a default `RTK -> Caveman` combo that can reach ~89% average savings on eligible tool\u002Fcontext payloads.\n\n📖 **Full compression documentation:** [`docs\u002FCOMPRESSION_GUIDE.md`](docs\u002FCOMPRESSION_GUIDE.md) • [`docs\u002FRTK_COMPRESSION.md`](docs\u002FRTK_COMPRESSION.md) • [`docs\u002FCOMPRESSION_ENGINES.md`](docs\u002FCOMPRESSION_ENGINES.md) • [`docs\u002FCOMPRESSION_RULES_FORMAT.md`](docs\u002FCOMPRESSION_RULES_FORMAT.md) • [`docs\u002FCOMPRESSION_LANGUAGE_PACKS.md`](docs\u002FCOMPRESSION_LANGUAGE_PACKS.md)\n\n---\n\n## 🎯 What OmniRoute Solves\n\n> **Every developer using AI tools faces these problems daily.** OmniRoute solves them all.\n\n| #   | Problem                                  | OmniRoute Solution                                                                              |\n| --- | ---------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| 💸  | Subscription quota expires mid-coding    | **Smart 4-Tier Fallback** — auto-routes Subscription → API Key → Cheap → Free                   |\n| 🔌  | Each provider has a different API format | **Format Translation** — unified endpoint translates OpenAI ↔ Claude ↔ Gemini ↔ Responses       |\n| 🌐  | AI providers block my country\u002Fregion     | **3-Level Proxy** — global, per-provider, and per-key proxy with TLS fingerprint spoofing       |\n| 🆓  | Can't afford AI subscriptions            | **11 Free Providers** — Kiro, Qoder, Pollinations, LongCat, Cloudflare AI, NVIDIA NIM...        |\n| 🔒  | Gateway is exposed without protection    | **API Key Management** — scoping, rotation, IP filtering, rate limiting, prompt injection guard |\n| 🛑  | Provider went down, lost coding flow     | **Circuit Breakers** — auto-failover with cooldown, retry, anti-thundering herd                 |\n| 🔧  | Configuring each CLI tool is tedious     | **CLI Tools Dashboard** — one-click setup for Claude Code, Codex, Cursor, OpenClaw, Kilo        |\n| 🔑  | Managing OAuth tokens is hell            | **Auto Token Refresh** — OAuth PKCE for 8 providers, multi-account, LAN\u002Fremote fix              |\n| 📊  | Don't know how much I'm spending         | **Cost Analytics** — per-token tracking, budget limits, usage stats per API key                 |\n| 🐛  | Can't diagnose errors in AI calls        | **Unified Logs** — 4-tab dashboard (request, proxy, audit, console) + p50\u002Fp95\u002Fp99 telemetry     |\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📖 See all 31 problems OmniRoute solves\u003C\u002Fb>\u003C\u002Fsummary>\n\n| #   | Problem                                       | Solution                                                                                           |\n| --- | --------------------------------------------- | -------------------------------------------------------------------------------------------------- |\n| 11  | Deploying\u002Fmaintaining is complex              | npm global, Docker multi-arch, Electron, Termux — deploy anywhere                                  |\n| 12  | Interface is English-only                     | 40+ languages with RTL support                                                                     |\n| 13  | Need more than chat (images, audio, video)    | 10 multi-modal APIs: embeddings, images, video, music, TTS, STT, moderation, rerank, search, batch |\n| 14  | No way to test\u002Fcompare models                 | LLM Evals, Translator Playground, Chat Tester, Live Monitor                                        |\n| 15  | Need to scale without losing performance      | Semantic cache, request dedup, rate limit detection, queue & pacing                                |\n| 16  | Want to control model behavior globally       | System prompt injection, thinking budget, wildcard routing                                         |\n| 17  | Need MCP tools as first-class features        | 29 MCP tools, 3 transports (stdio\u002FSSE\u002FHTTP), 10 scopes, audit trail                                |\n| 18  | Need A2A orchestration                        | JSON-RPC 2.0 + SSE streaming, task lifecycle, sync + stream paths                                  |\n| 19  | Need real MCP process health                  | Runtime heartbeat, PID tracking, UI status cards                                                   |\n| 20  | Need auditable MCP execution                  | SQLite-backed audit with filters, pagination, stats                                                |\n| 21  | Need scoped MCP permissions                   | 10 granular scopes per integration                                                                 |\n| 22  | Need operational controls without redeploying | Combo switches, resilience tuning, breaker resets from dashboard                                   |\n| 23  | Need A2A task lifecycle visibility            | Task listing\u002Ffiltering, drill-down, cancellation                                                   |\n| 24  | Need active stream metrics                    | Active stream counters, per-state counts, A2A dashboard cards                                      |\n| 25  | Need standard agent discovery                 | Agent Card at `\u002F.well-known\u002Fagent.json`                                                            |\n| 26  | Need protocol discoverability                 | Consolidated Endpoints page with Proxy, MCP, A2A, API tabs                                         |\n| 27  | Need E2E protocol validation                  | Real MCP SDK + A2A client flows in `test:protocols:e2e`                                            |\n| 28  | Need unified observability                    | Health + audit + telemetry across OpenAI, MCP, and A2A layers                                      |\n| 29  | Need one runtime for proxy + tools + agents   | OpenAI proxy + MCP + A2A in one stack with shared auth\u002Fresilience                                  |\n| 30  | Need agentic workflows without glue-code      | Unified endpoint, protocol UIs, production-ready foundations                                       |\n| 31  | Long sessions crash with context limits       | Proactive context compression, structural integrity guards, multi-layer dropping                   |\n\n\u003C\u002Fdetails>\n\n📖 **Deep dives:** [Resilience Guide](docs\u002FRESILIENCE_GUIDE.md) • [Proxy Guide](docs\u002FPROXY_GUIDE.md) • [Setup Guide](docs\u002FSETUP_GUIDE.md) • [Compression Guide](docs\u002FCOMPRESSION_GUIDE.md)\n\n---\n\n## 🆓 Start Free — Zero Configuration Cost\n\n> Setup AI coding in minutes at **$0\u002Fmonth**. Connect these free accounts and use the built-in **Free Stack** combo.\n\n| Step | Action                                             | Providers Unlocked                                                 |\n| ---- | -------------------------------------------------- | ------------------------------------------------------------------ |\n| 1    | Connect **Kiro** (AWS Builder ID OAuth)            | Claude Sonnet 4.5, Haiku 4.5 — **unlimited**                       |\n| 2    | Connect **Qoder** (Google OAuth)                   | kimi-k2-thinking, qwen3-coder-plus, deepseek-r1... — **unlimited** |\n| 3    | Connect **Qwen** (Device Code)                     | qwen3-coder-plus, qwen3-coder-flash... — **unlimited**             |\n| 4    | Connect **Gemini CLI** (Google OAuth)              | gemini-3-flash, gemini-2.5-pro — **180K\u002Fmo free**                  |\n| 5    | `\u002Fdashboard\u002Fcombos` → **Free Stack ($0)** template | Round-robin all free providers automatically                       |\n\n**Point any IDE\u002FCLI to:** `http:\u002F\u002Flocalhost:20128\u002Fv1` · API Key: `any-string` · Done.\n\n> **Optional extra coverage (also free):** Groq API key (30 RPM free), NVIDIA NIM (40 RPM free, 70+ models), Cerebras (1M tok\u002Fday), LongCat API key (50M tokens\u002Fday!), Cloudflare Workers AI (10K Neurons\u002Fday, 50+ models).\n\n## ⚡ Quick Start\n\n### 1) Install and run\n\n```bash\nnpm install -g omniroute\nomniroute\n```\n\nDashboard opens at `http:\u002F\u002Flocalhost:20128` · API at `http:\u002F\u002Flocalhost:20128\u002Fv1`.\n\n### 2) Connect providers\n\n1. Dashboard → **Providers** → connect at least one provider (OAuth or API key)\n2. Dashboard → **Endpoints** → create an API key\n3. Dashboard → **Combos** → set your fallback chain (optional)\n\n### 3) Point your coding tool\n\n```txt\nBase URL: http:\u002F\u002Flocalhost:20128\u002Fv1\nAPI Key:  [copy from Endpoint page]\nModel:    if\u002Fkimi-k2-thinking (or any provider\u002Fmodel)\n```\n\nWorks with Claude Code, Codex CLI, Gemini CLI, Cursor, Cline, OpenClaw, OpenCode, and any OpenAI-compatible tool.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📦 More install methods (Docker, source, Arch, Void, pnpm)\u003C\u002Fb>\u003C\u002Fsummary>\n\n**Docker:**\n\n```bash\ndocker run -d --name omniroute --restart unless-stopped -p 20128:20128 -v omniroute-data:\u002Fapp\u002Fdata diegosouzapw\u002Fomniroute:latest\n```\n\n**From source:**\n\n```bash\ncp .env.example .env && npm install\nPORT=20128 DASHBOARD_PORT=20129 NEXT_PUBLIC_BASE_URL=http:\u002F\u002Flocalhost:20129 npm run dev\n```\n\n**pnpm:** `pnpm install -g omniroute && pnpm approve-builds -g && omniroute`\n\n**Arch Linux (AUR):** `yay -S omniroute-bin && systemctl --user enable --now omniroute.service`\n\n**MCP:** `omniroute --mcp` (stdio transport)\n\n**CLI options:** `omniroute --port 3000`, `omniroute --no-open`, `omniroute --help`\n\n**Split-port mode:** `PORT=20128 DASHBOARD_PORT=20129 omniroute`\n\n**Uninstall:** `npm run uninstall` (keeps data) or `npm run uninstall:full` (removes everything)\n\n📖 Full details: [Setup Guide](#-setup-guide) · [Docker](#-docker) · [Void Linux template](#-quick-start)\n\n\u003C\u002Fdetails>\n\n---\n\n## 🐳 Docker\n\nOmniRoute is available as a public Docker image on [Docker Hub](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fdiegosouzapw\u002Fomniroute).\n\n**Quick run:**\n\n```bash\ndocker run -d \\\n  --name omniroute \\\n  --restart unless-stopped \\\n  --stop-timeout 40 \\\n  -p 20128:20128 \\\n  -v omniroute-data:\u002Fapp\u002Fdata \\\n  diegosouzapw\u002Fomniroute:latest\n```\n\n**With environment file:**\n\n```bash\n# Copy and edit .env first\ncp .env.example .env\n\ndocker run -d \\\n  --name omniroute \\\n  --restart unless-stopped \\\n  --stop-timeout 40 \\\n  --env-file .env \\\n  -p 20128:20128 \\\n  -v omniroute-data:\u002Fapp\u002Fdata \\\n  diegosouzapw\u002Fomniroute:latest\n```\n\n**Using Docker Compose:**\n\n```bash\n# Base profile (no CLI tools)\ndocker compose --profile base up -d\n\n# CLI profile (Claude Code, Codex, OpenClaw built-in)\ndocker compose --profile cli up -d\n```\n\nDashboard support for Docker deployments now includes a one-click **Cloudflare Quick Tunnel** on `Dashboard → Endpoints`. The first enable downloads `cloudflared` only when needed, starts a temporary tunnel to your current `\u002Fv1` endpoint, and shows the generated `https:\u002F\u002F*.trycloudflare.com\u002Fv1` URL directly below your normal public URL. Endpoint tunnel panels, including Cloudflare, Tailscale, and ngrok, can be shown or hidden from `Settings → Appearance` without changing active tunnel state.\n\nNotes:\n\n- Quick Tunnel URLs are temporary and change after every restart.\n- Quick Tunnels are not auto-restored after an OmniRoute or container restart. Re-enable them from the dashboard when needed.\n- Managed install currently supports Linux, macOS, and Windows on `x64` \u002F `arm64`.\n- Managed Quick Tunnels default to HTTP\u002F2 transport to avoid noisy QUIC UDP buffer warnings in constrained container environments. Set `CLOUDFLARED_PROTOCOL=quic` or `auto` if you want a different transport.\n- Docker images bundle system CA roots and pass them to managed `cloudflared`, which avoids TLS trust failures when the tunnel bootstraps inside the container.\n- SQLite runs in WAL mode. `docker stop` should be allowed to finish so OmniRoute can checkpoint the latest changes back into `storage.sqlite`.\n- The bundled Compose files already set a 40s stop grace period. If you run the image directly, keep `--stop-timeout 40` (or similar) so manual stops do not cut off shutdown cleanup.\n- Set `CLOUDFLARED_BIN=\u002Fabsolute\u002Fpath\u002Fto\u002Fcloudflared` if you want OmniRoute to use an existing binary instead of downloading one.\n\n**Using Docker Compose with Caddy (HTTPS Auto-TLS):**\n\nOmniRoute can be securely exposed using Caddy's automatic SSL provisioning. Ensure your domain's DNS A record points to your server's IP.\n\n```yaml\nservices:\n  omniroute:\n    image: diegosouzapw\u002Fomniroute:latest\n    container_name: omniroute\n    restart: unless-stopped\n    volumes:\n      - omniroute-data:\u002Fapp\u002Fdata\n    environment:\n      - PORT=20128\n      - NEXT_PUBLIC_BASE_URL=https:\u002F\u002Fyour-domain.com\n\n  caddy:\n    image: caddy:latest\n    container_name: caddy\n    restart: unless-stopped\n    ports:\n      - \"80:80\"\n      - \"443:443\"\n    command: caddy reverse-proxy --from https:\u002F\u002Fyour-domain.com --to http:\u002F\u002Fomniroute:20128\n\nvolumes:\n  omniroute-data:\n```\n\n| Image                    | Tag      | Size   | Description           |\n| ------------------------ | -------- | ------ | --------------------- |\n| `diegosouzapw\u002Fomniroute` | `latest` | ~250MB | Latest stable release |\n| `diegosouzapw\u002Fomniroute` | `3.7.8`  | ~250MB | Current version       |\n\n📖 **Full Docker documentation:** [`docs\u002FDOCKER_GUIDE.md`](docs\u002FDOCKER_GUIDE.md) — Compose profiles, Caddy HTTPS, Cloudflare tunnels, and more.\n\n---\n\n## 📱 Multi-Platform — Run Anywhere\n\n> OmniRoute runs on **Web**, **Desktop (Electron)**, **Android (Termux)**, and as a **Progressive Web App (PWA)**.\n\n| Platform       | Install                                      | Highlights                                                                 |\n| -------------- | -------------------------------------------- | -------------------------------------------------------------------------- |\n| 🖥️ **Desktop** | `npm run electron:build`                     | Native window, system tray, auto-start, offline mode — Windows\u002FmacOS\u002FLinux |\n| 📱 **Android** | `pkg install nodejs-lts && npx -y omniroute` | ARM native, no root, 24\u002F7 via Termux:Boot — your phone is an AI server     |\n| 📲 **PWA**     | \"Add to Home Screen\" in browser              | Fullscreen, offline page, service worker caching — Android\u002FiOS\u002FDesktop     |\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>🖥️ Desktop App details\u003C\u002Fb>\u003C\u002Fsummary>\n\n- Native Electron app with system tray, auto-start, native notifications\n- One-click install: NSIS (Windows), DMG (macOS), AppImage (Linux)\n- Dev: `npm run electron:dev` · Build: `npm run electron:build`\n- 📖 Full docs: [`electron\u002FREADME.md`](electron\u002FREADME.md)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📱 Android (Termux) details\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\npkg update && pkg install nodejs-lts python build-essential git\nnpx -y omniroute@latest\n```\n\nAccess from any device on the same network: `http:\u002F\u002FPHONE_IP:20128\u002Fv1`\n\n- 📖 Full guide: [`docs\u002FTERMUX_GUIDE.md`](docs\u002FTERMUX_GUIDE.md)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📲 PWA details\u003C\u002Fb>\u003C\u002Fsummary>\n\n- **Android (Chrome):** ⋮ → \"Add to Home screen\"\n- **iOS (Safari):** Share → \"Add to Home Screen\"\n- **Desktop (Chrome\u002FEdge):** Install icon in address bar\n- 📖 Full docs: [`docs\u002FPWA_GUIDE.md`](docs\u002FPWA_GUIDE.md)\n\n\u003C\u002Fdetails>\n\n---\n\n## 🌍 Bypass Geographic Blocks — Use AI From Any Country\n\n> 🇷🇺 🇨🇳 🇮🇷 🇨🇺 🇹🇷 **In Russia, China, Iran, or any blocked region?** OmniRoute's 3-level proxy system solves this completely.\n\n| Level              | Badge | Configure In       | Use Case                        |\n| ------------------ | ----- | ------------------ | ------------------------------- |\n| **Global**         | 🟢    | Settings → Proxy   | All traffic through one proxy   |\n| **Per-Provider**   | 🟡    | Provider → Proxy   | Only specific providers proxied |\n| **Per-Connection** | 🔵    | Connection → Proxy | Each API key uses its own proxy |\n\n**What gets proxied:** API requests ✅ • OAuth flows ✅ • Connection tests ✅ • Token refresh ✅ • Model sync ✅\n\n**Protocols:** HTTP\u002FHTTPS, SOCKS5 (`ENABLE_SOCKS5_PROXY=true`), Authenticated proxies\n\n### 🆓 1proxy — Free Proxy Marketplace\n\n> Contributed by [@oyi77](https:\u002F\u002Fgithub.com\u002Foyi77) — [#1847](https:\u002F\u002Fgithub.com\u002Fdiegosouzapw\u002FOmniRoute\u002Fpull\u002F1847)\n\nNo proxy? Use the built-in **1proxy** integration for **hundreds of free, validated proxies** worldwide:\n\n- One-click sync (up to 500 proxies) • Quality scores (0-100) • Country filter • Auto-rotation (quality\u002Frandom\u002Fsequential) • Auto-degradation • Circuit breaker\n\n### Anti-Detection\n\n- 🔒 **TLS Fingerprint Spoofing** — browser-like TLS via `wreq-js`\n- 🔏 **CLI Fingerprint Matching** — matches native CLI binary signatures\n- 🏠 **Proxy IP Preservation** — stealth + IP masking simultaneously\n\n📖 **Full proxy documentation:** [`docs\u002FPROXY_GUIDE.md`](docs\u002FPROXY_GUIDE.md)\n\n---\n\n---\n\n## 💰 Pricing at a Glance\n\n| Tier                | Provider                    | Cost                      | Quota Reset      | Best For                          |\n| ------------------- | --------------------------- | ------------------------- | ---------------- | --------------------------------- |\n| **💳 SUBSCRIPTION** | Claude Code (Pro)           | $20\u002Fmo                    | 5h + weekly      | Already subscribed                |\n|                     | Codex (Plus\u002FPro)            | $20-200\u002Fmo                | 5h + weekly      | OpenAI users                      |\n|                     | Gemini CLI                  | **FREE**                  | 180K\u002Fmo + 1K\u002Fday | Everyone!                         |\n|                     | GitHub Copilot              | $10-19\u002Fmo                 | Monthly          | GitHub users                      |\n| **🔑 API KEY**      | NVIDIA NIM                  | **FREE** (dev forever)    | ~40 RPM          | 70+ open models                   |\n|                     | Cerebras                    | **FREE** (1M tok\u002Fday)     | 60K TPM \u002F 30 RPM | World's fastest                   |\n|                     | Groq                        | **FREE** (30 RPM)         | 14.4K RPD        | Ultra-fast Llama\u002FGemma            |\n|                     | DeepSeek V3.2               | $0.27\u002F$1.10 per 1M        | None             | Best price\u002Fquality reasoning      |\n|                     | xAI Grok-4 Fast             | **$0.20\u002F$0.50 per 1M** 🆕 | None             | Fastest + tool calling, ultralow  |\n|                     | xAI Grok-4 (standard)       | $0.20\u002F$1.50 per 1M 🆕     | None             | Reasoning flagship from xAI       |\n|                     | Mistral                     | Free trial + paid         | Rate limited     | European AI                       |\n|                     | OpenRouter                  | Pay-per-use               | None             | 100+ models aggr.                 |\n|                     | AgentRouter 🆕              | Pay-per-use               | None             | $200 free credits at signup       |\n| **💰 CHEAP**        | GLM-5 (via Z.AI) 🆕         | $0.5\u002F1M                   | Daily 10AM       | 128K output, newest flagship      |\n|                     | GLM-4.7                     | $0.6\u002F1M                   | Daily 10AM       | Budget backup                     |\n|                     | MiniMax M2.5 🆕             | $0.3\u002F1M input             | 5-hour rolling   | Reasoning + agentic tasks         |\n|                     | MiniMax M2.1                | $0.2\u002F1M                   | 5-hour rolling   | Cheapest option                   |\n|                     | Kimi K2.5 (Moonshot API) 🆕 | Pay-per-use               | None             | Direct Moonshot API access        |\n|                     | Kimi K2                     | $9\u002Fmo flat                | 10M tokens\u002Fmo    | Predictable cost                  |\n| **🆓 FREE**         | Qoder                       | **$0**                    | Unlimited        | 5 models unlimited                |\n|                     | Qwen                        | **$0**                    | Unlimited        | 4 models unlimited                |\n|                     | Kiro                        | **$0**                    | Unlimited        | Claude Sonnet\u002FHaiku (AWS Builder) |\n|                     | LongCat Flash-Lite 🆕       | **$0** (50M tok\u002Fday 🔥)   | 1 RPS            | Largest free quota on Earth       |\n|                     | Pollinations AI 🆕          | **$0** (no key needed)    | 1 req\u002F15s        | GPT-5, Claude, DeepSeek, Llama 4  |\n|                     | Cloudflare Workers AI 🆕    | **$0** (10K Neurons\u002Fday)  | ~150 resp\u002Fday    | 50+ models, global edge           |\n|                     | Scaleway AI 🆕              | **$0** (1M tokens total)  | Rate limited     | EU\u002FGDPR, Qwen3 235B, Llama 70B    |\n\n> 🆕 **New models added (Mar 2026):** Grok-4 Fast family at $0.20\u002F$0.50\u002FM (benchmarked at 1143ms — 30% faster than Gemini 2.5 Flash), GLM-5 via Z.AI with 128K output, MiniMax M2.5 reasoning, DeepSeek V3.2 updated pricing, Kimi K2.5 via Moonshot direct API.\n\n**💡 See the full [$0 Free Stack (11 providers)](#-free-models--11-providers-0-forever) below.**\n\n> 💡 **Understanding Dashboard Costs:**\n>\n> The \"cost\" displayed in the Usage Analytics page is **for tracking and comparison purposes only**.\n> OmniRoute itself **never charges you anything** — it's free, open-source software running on your machine.\n> If your dashboard shows \"$290 total cost\" while using free models, that's how much you **saved** compared to paid API pricing.\n> Think of it as a **savings tracker**, not a bill.\n\n---\n\n## 🆓 Free Models — 11 Providers, $0 Forever\n\n> Combine all free providers into one unbreakable combo — OmniRoute auto-routes between them when quota runs out.\n\n| Provider          | Prefix      | Free Models                                                   | Quota                |\n| ----------------- | ----------- | ------------------------------------------------------------- | -------------------- |\n| **Kiro**          | `kr\u002F`       | Claude Sonnet 4.5, Haiku 4.5, Opus 4.6                        | 50 CREDITS per month |\n| **Qoder**         | `if\u002F`       | kimi-k2-thinking, qwen3-coder-plus, deepseek-r1, minimax-m2.1 | ♾️ Unlimited         |\n| **Qwen**          | `qw\u002F`       | qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next         | ♾️ Unlimited         |\n| **Pollinations**  | `pol\u002F`      | GPT-5, Claude, Gemini, DeepSeek, Llama 4, Mistral             | No key needed        |\n| **LongCat**       | `lc\u002F`       | LongCat-Flash-Lite                                            | 50M tokens\u002Fday 🔥    |\n| **Gemini CLI**    | `gc\u002F`       | gemini-3-flash, gemini-2.5-pro                                | 180K tok\u002Fmo          |\n| **Cloudflare AI** | `cf\u002F`       | 50+ models (Llama, Gemma, Mistral, Whisper)                   | 10K Neurons\u002Fday      |\n| **Groq**          | `groq\u002F`     | Llama 3.3 70B, Qwen3 32B, Kimi K2                             | 14.4K RPD            |\n| **NVIDIA NIM**    | `nvidia\u002F`   | 129 models (DeepSeek, Llama, GLM, Kimi)                       | ~40 RPM              |\n| **Cerebras**      | `cerebras\u002F` | Qwen3 235B, GPT-OSS 120B, Llama 3.1                           | 1M tok\u002Fday           |\n| **Scaleway**      | `scw\u002F`      | Qwen3 235B, Llama 70B, DeepSeek V3                            | 1M tokens (EU)       |\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📖 25+ more free providers — Groq, Cerebras, Mistral, GitHub Models, OpenRouter, and more\u003C\u002Fb>\u003C\u002Fsummary>\n\n**Also free (API Key required):**\nMistral (1B tok\u002Fmonth) · OpenRouter (35+ `:free` models) · GitHub Models (GPT-5, 45+ models) ·\nCohere (1K calls\u002Fmonth) · Z.AI\u002FGLM (permanent free Flash models) · SiliconFlow (1K RPM, 50K TPM) ·\nKilo Code (~200 req\u002Fhr auto-router) · HuggingFace ($0.10\u002Fmo credits) · Ollama Cloud (400+ models) ·\nLLM7.io (30+ models) · Kluster AI · IBM watsonx (300K tok\u002Fmonth) · OpenCode Zen · Vercel AI Gateway ($5\u002Fmo)\n\n**Trial credits (one-time):**\nBaseten ($30) · NLP Cloud ($15) · AI21 ($10) · Upstage ($10) · SambaNova ($5) · Modal ($5\u002Fmo) ·\nFireworks ($1) · Nebius ($1) · Inference.net ($1 + $25 survey) · Hyperbolic ($1) · Novita ($0.50)\n\n**China-based (free tiers):**\nModelScope · Tencent Hunyuan · Volcengine · ChatAnywhere · InternAI · Bigmodel\n\n**Combined capacity: ~31,000+ RPD · ~32B+ tokens\u002Fmonth · 500+ models · $0**\n\n\u003C\u002Fdetails>\n\n📖 **Complete free provider directory:** [`docs\u002FFREE_TIERS.md`](docs\u002FFREE_TIERS.md) — 25+ providers, quotas, base URLs, model tables, and OmniRoute combo setup.\n\n---\n\n## 🎙️ Free Transcription Combo\n\n> Transcribe any audio\u002Fvideo for **$0** — Deepgram leads with $200 free, AssemblyAI $50 fallback, Groq Whisper as unlimited emergency backup.\n\n| Provider          | Free Credits           | Best Model                                   | Rate Limit                   |\n| ----------------- | ---------------------- | -------------------------------------------- | ---------------------------- |\n| 🟢 **Deepgram**   | **$200 free** (signup) | `nova-3` — best accuracy, 30+ languages      | No RPM limit on free credits |\n| 🔵 **AssemblyAI** | **$50 free** (signup)  | `universal-3-pro` — chapters, sentiment, PII | No RPM limit on free credits |\n| 🔴 **Groq**       | **Free forever**       | `whisper-large-v3` — OpenAI Whisper          | 30 RPM (rate limited)        |\n\n---\n\n**Suggested combo in `\u002Fdashboard\u002Fcombos`:**\n\n```\nName: free-transcription\nStrategy: Priority\nNodes:\n  [1] deepgram\u002Fnova-3          → uses $200 free first\n  [2] assemblyai\u002Funiversal-3-pro → fallback when Deepgram credits run out\n  [3] groq\u002Fwhisper-large-v3    → free forever, emergency fallback\n```\n\nThen in `\u002Fdashboard\u002Fmedia` → **Transcription** tab: upload any audio or video file → select your combo endpoint → get transcription in supported formats.\n\n## 💡 Key Features\n\n> **4,690+ automated tests** across 517 test files. Not just a relay — a full operational platform.\n\n| Feature                                                                                              | Why It Matters                   |\n| ---------------------------------------------------------------------------------------------------- | -------------------------------- |\n| 🧠 **Smart 4-Tier Fallback** — Subscription → API → Cheap → Free                                     | Never stop coding, zero downtime |\n| 🔄 **Format Translation** — OpenAI ↔ Claude ↔ Gemini ↔ Responses API                                 | Works with ANY CLI tool          |\n| 🗜️ **Prompt Compression** — 7 options including Caveman, RTK, and stacked pipelines                  | Save 15-95% eligible tokens      |\n| 🤖 **MCP Server** — 37 tools, 3 transports (stdio\u002FSSE\u002FHTTP), 10 scopes                               | IDE\u002Fagent tool integration       |\n| 🛡️ **Resilience Engine** — circuit breakers, cooldowns, TLS spoofing, anti-thundering herd           | Auto-recovery from any failure   |\n| 🎵 **10 Multi-Modal APIs** — chat, embed, images, video, music, TTS, STT, moderation, rerank, search | One endpoint for everything      |\n| 🌍 **3-Level Proxy** — global, per-provider, per-key + 1proxy free marketplace                       | Access AI from any country       |\n| 📊 **Full Observability** — unified logs, p50\u002Fp95\u002Fp99 telemetry, cost tracking, budget controls      | Know exactly what's happening    |\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📋 Complete feature list — 30+ capabilities\u003C\u002Fb>\u003C\u002Fsummary>\n\n**Routing & Intelligence**\n\n- 13 balancing strategies (priority, weighted, round-robin, P2C, cost-optimized, context-relay...)\n- Task-aware smart routing (coding\u002Fvision\u002Fanalysis) · Context relay session handoffs\n- Thinking budget controls (passthrough\u002Fauto\u002Fcustom) · Wildcard routing · System prompt injection\n\n**Translation & Compatibility**\n\n- Auto token refresh (OAuth PKCE for 8 providers) · Multi-account round-robin\n- Responses API — full `\u002Fv1\u002Fresponses` for Codex · Batch API with Files API\n- OpenAPI 3.0 live spec + Try-It UI\n\n**Protocols**\n\n- A2A Server — JSON-RPC 2.0, SSE streaming, task lifecycle, skills\n- ACP — CLI agent discovery (14 agents + custom)\n\n**Platform**\n\n- Desktop (Electron) · Android (Termux) · PWA · Docker (AMD64 + ARM64)\n- Cloudflare \u002F Tailscale \u002F ngrok tunnels · 40+ languages with RTL\n- Semantic + signature cache (two-tier) · Request idempotency + deduplication\n\n**Observability**\n\n- Health dashboard — uptime, breakers, cache, lockouts\n- Evaluation framework — golden set testing · Webhooks · Compliance audit\n\n**v3.6+ Highlights:**\nV1 WebSocket Bridge · Sync Tokens & Config Bundle · GLM Thinking (glmt) · Hybrid Token Counting ·\nSafe Outbound Fetch · Wait For Cooldown · Runtime Env Validation · Vision Bridge ·\nGrok-4 Fast · GLM-5 via Z.AI · MiniMax M2.5 · toolCalling flag ·\nMultilingual Intent Detection · Benchmark-Driven Fallbacks · Request Deduplication\n\n**Architecture Examples:**\n\n```txt\nCombo: \"my-coding-stack\"              Format Translation:\n  1. cc\u002Fclaude-opus-4-7                 CLI → OpenAI format\n  2. nvidia\u002Fllama-3.3-70b               OmniRoute → translates\n  3. glm\u002Fglm-4.7                        Provider → native format\n  4. if\u002Fkimi-k2-thinking\n```\n\n📖 [MCP Server README](open-sse\u002Fmcp-server\u002FREADME.md) · [A2A Server README](src\u002Flib\u002Fa2a\u002FREADME.md) · [Resilience Guide](docs\u002FRESILIENCE_GUIDE.md) · [Features Gallery](docs\u002FFEATURES.md)\n\n\u003C\u002Fdetails>\n\n---\n\n## 🎯 Use Cases — Ready-Made Combo Playbooks\n\n### Case 1: \"I have a Claude Pro subscription\"\n\n**Problem:** Quota expires unused, rate limits during heavy coding sessions.\n\n```\nCombo: \"maximize-claude\"\n  1. cc\u002Fclaude-opus-4-7        (use subscription fully)\n  2. glm\u002Fglm-5.1               (cheap backup when quota out — $0.5\u002F1M)\n  3. kr\u002Fclaude-sonnet-4.5      (free emergency fallback via Kiro)\n\nCompression: standard (caveman) — saves 30% tokens = stretch quota further\nMonthly cost: $20 (subscription) + ~$3 (backup) = $23 total\nvs. $20 + hitting limits + lost productivity = frustration\n```\n\n### Case 2: \"I want $0 forever\"\n\n**Problem:** Can't afford subscriptions, need reliable AI for coding.\n\n```\nCombo: \"free-forever\"\n  1. kr\u002Fclaude-sonnet-4.5      (Claude 4.5 free unlimited via Kiro)\n  2. if\u002Fkimi-k2-thinking       (reasoning model free via Qoder)\n  3. pol\u002Fgpt-5                 (GPT-5 free via Pollinations — no key)\n  4. lc\u002Flongcat-flash-lite     (50M tokens\u002Fday free backup)\n\nCompression: aggressive — saves 50% tokens = double your free quota\nMonthly cost: $0\nQuality: Production-ready models + 50% token savings\n```\n\n### Case 3: \"I need 24\u002F7 coding, no interruptions\"\n\n**Problem:** Deadlines, can't afford any downtime.\n\n```\nCombo: \"always-on\"\n  1. cc\u002Fclaude-opus-4-7        (best quality — subscription)\n  2. cx\u002Fgpt-5.5                (second subscription — OpenAI)\n  3. glm\u002Fglm-5.1               (cheap, resets daily — $0.5\u002F1M)\n  4. minimax\u002FMiniMax-M2.5      (cheapest paid — $0.3\u002F1M)\n  5. kr\u002Fclaude-sonnet-4.5      (free unlimited — never fails)\n\nCompression: lite — saves 15% tokens passively, zero risk\nResult: 5 layers of fallback = zero downtime\nMonthly cost: $20-200 (subscriptions) + $5-10 (backup)\n```\n\n### Case 4: \"I'm in a blocked region (Russia, China, Iran...)\"\n\n**Problem:** AI providers block my country, VPNs are slow.\n\n```\nCombo: \"unblocked-ai\"\n  1. kr\u002Fclaude-sonnet-4.5      (free via Kiro + proxy)\n  2. pol\u002Fdeepseek-r1           (Pollinations — no geo-block)\n  3. groq\u002Fllama-3.3-70b       (Groq + proxy)\n\nProxy: Global proxy set in Settings → or per-provider proxy override\nResult: Access ALL providers from ANY country\nMonthly cost: $0 (free providers) + $0 (1proxy free marketplace)\n```\n\n### Case 5: \"I want maximum token savings\"\n\n**Problem:** Token costs are eating my budget, need to squeeze every token.\n\n```\nCombo: \"ultra-saver\"\n  1. cc\u002Fclaude-opus-4-7        (subscription — best quality)\n  2. glm\u002Fglm-5.1               (cheap backup)\n\nCompression: ultra — saves 75% tokens\nResult: 10K token prompt → 2.5K tokens sent\nMontly savings: ~$150-300\u002Fmonth in token costs for heavy users\n```\n\n## 🧪 Evaluations (Evals)\n\nOmniRoute includes a built-in evaluation framework to test LLM response quality against a golden set. Access it via **Analytics → Evals** in the dashboard.\n\n### Built-in Golden Set\n\nThe pre-loaded \"OmniRoute Golden Set\" contains test cases for:\n\n- Greetings, math, geography, code generation\n- JSON format compliance, translation, markdown generation\n- Safety refusal (harmful content), counting, boolean logic\n\n### Evaluation Strategies\n\n| Strategy   | Description                                      | Example                          |\n| ---------- | ------------------------------------------------ | -------------------------------- |\n| `exact`    | Output must match exactly                        | `\"4\"`                            |\n| `contains` | Output must contain substring (case-insensitive) | `\"Paris\"`                        |\n| `regex`    | Output must match regex pattern                  | `\"1.*2.*3\"`                      |\n| `custom`   | Custom JS function returns true\u002Ffalse            | `(output) => output.length > 10` |\n\n---\n\n## 📖 Setup Guide\n\n### Connect Your Coding Tool\n\nPoint any OpenAI-compatible tool to OmniRoute:\n\n```txt\nBase URL: http:\u002F\u002Flocalhost:20128\u002Fv1\nAPI Key:  [from Dashboard → Endpoints]\n```\n\n| Tool            | Config Location                                                                           |\n| --------------- | ----------------------------------------------------------------------------------------- |\n| **Claude Code** | `claude mcp add-server omniroute --type http --url http:\u002F\u002Flocalhost:20128\u002Fapi\u002Fmcp\u002Fstream` |\n| **Codex CLI**   | `OPENAI_BASE_URL=http:\u002F\u002Flocalhost:20128\u002Fv1 OPENAI_API_KEY=your-key codex`                 |\n| **Cursor**      | Settings → Models → Add Model → Override Base URL                                         |\n| **Cline**       | Extension settings → Custom API Base URL                                                  |\n| **OpenClaw**    | `OPENAI_BASE_URL=http:\u002F\u002Flocalhost:20128\u002Fv1 openclaw`                                      |\n| **Gemini CLI**  | Uses native OAuth via OmniRoute — connect in Providers                                    |\n\n### Protocols (MCP + A2A)\n\n```bash\n# MCP (stdio transport)\nomniroute --mcp\n\n# A2A (JSON-RPC 2.0)\ncurl http:\u002F\u002Flocalhost:20128\u002F.well-known\u002Fagent.json\n```\n\n### Key Environment Variables\n\n| Variable             | Default        | Purpose                                   |\n| -------------------- | -------------- | ----------------------------------------- |\n| `PORT`               | `20128`        | API and dashboard port                    |\n| `DASHBOARD_PORT`     | —              | Separate dashboard port (split-port mode) |\n| `REQUIRE_API_KEY`    | `false`        | Require API key for all requests          |\n| `DATA_DIR`           | `~\u002F.omniroute` | Database and config storage               |\n| `REQUEST_TIMEOUT_MS` | `600000`       | Upstream response timeout                 |\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📖 Full Setup Guide — All CLI tools, protocols, and environment variables\u003C\u002Fb>\u003C\u002Fsummary>\n\n📖 **Complete documentation:**\n\n- [User Guide](docs\u002FUSER_GUIDE.md) — Providers, combos, CLI integration\n- [API Reference](docs\u002FAPI_REFERENCE.md) — All endpoints with examples\n- [MCP Server](open-sse\u002Fmcp-server\u002FREADME.md) — 37 tools, IDE configs\n- [A2A Server](src\u002Flib\u002Fa2a\u002FREADME.md) — JSON-RPC, skills, streaming\n- [Environment Config](docs\u002FENVIRONMENT.md) — Complete `.env` reference\n- [VM Deployment](docs\u002FVM_DEPLOYMENT_GUIDE.md) — VM + nginx + Cloudflare\n\n\u003C\u002Fdetails>\n\n---\n\n## ❓ Frequently Asked Questions\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📊 Why does my dashboard show high costs if I'm using free models?\u003C\u002Fb>\u003C\u002Fsummary>\n\nThe dashboard tracks your token usage and displays **estimated costs** as if you were using paid APIs directly. This is **not actual billing** — it's a reference to show how much you're saving.\n\n**Example:**\n\n- **Dashboard shows:** \"$290 total cost\"\n- **Reality:** You're using Kiro + Qoder (FREE unlimited)\n- **Your actual cost:** **$0.00**\n- **What $290 means:** Amount you **saved** by using free models instead of paid APIs!\n\nThe cost display is a \"savings tracker\" to help you understand your usage patterns and optimization opportunities.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>💳 Will I be charged by OmniRoute?\u003C\u002Fb>\u003C\u002Fsummary>\n\n**No.** OmniRoute is free, open-source software that runs on your own computer. It never charges you anything.\n\n**You only pay:**\n\n- ✅ **Subscription providers** (Claude Code $20\u002Fmo, Codex $20-200\u002Fmo) → Pay them directly on their websites\n- ✅ **API key providers** (DeepSeek, xAI, etc.) → Pay them directly, OmniRoute just routes your requests\n- ❌ **OmniRoute itself** → **Never charges anything, ever**\n\nOmniRoute is a local proxy\u002Frouter. It doesn't have your credit card, can't send invoices, and has no billing system. It's completely free software.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>🆓 Are FREE providers really unlimited?\u003C\u002Fb>\u003C\u002Fsummary>\n\n**Yes!** The current FREE providers are genuinely free with **no hidden charges**:\n\n- **Kiro AI**: Free unlimited Claude Sonnet\u002FHaiku via AWS Builder ID \u002F Google \u002F GitHub OAuth\n- **Qoder**: Free unlimited kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 via PAT token\n- **Pollinations AI**: No API key needed — GPT-5, Claude, DeepSeek, Llama 4\n- **LongCat Flash-Lite**: 50M tokens\u002Fday — largest free quota available\n- **Cloudflare Workers AI**: 10K Neurons\u002Fday — 50+ models at the edge\n\nOmniRoute just routes your requests to them — there's no \"catch\" or future billing.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>💰 How do I minimize my actual AI costs?\u003C\u002Fb>\u003C\u002Fsummary>\n\n**Free-First Strategy:**\n\n1. **Start with 100% free combo:**\n\n   ```\n   1. kr\u002Fclaude-sonnet-4.5    (Kiro — unlimited free)\n   2. if\u002Fkimi-k2-thinking     (Qoder — unlimited free)\n   3. pol\u002Fgpt-5               (Pollinations — no key needed)\n   ```\n\n   **Cost: $0\u002Fmonth**\n\n2. **Enable Prompt Compression** — even `lite` mode saves ~15% passively\n\n3. **Add cheap backup** only if you need it:\n\n   ```\n   4. glm\u002Fglm-5.1  ($0.5\u002F1M tokens)\n   ```\n\n   **Additional cost: Only pay for what you actually use**\n\n4. **Use subscription providers last** — only if you already have them. OmniRoute helps","OmniRoute 是一个免费的AI网关，提供了一个统一的端点来访问超过160个AI服务提供商。其核心功能包括RTK+Caveman堆叠压缩技术，可节省高达约95%的上下文资源，并具备智能自动回退机制、多路径选择策略及多模态API支持。项目使用TypeScript编写，支持Web、桌面（Electron）、移动（PWA + Termux）等多平台部署。它特别适合需要高效利用AI模型资源同时保持低延迟和高可用性的开发者或企业，在自然语言处理、图像生成、视频处理等多种应用场景中表现出色。",2,"2026-06-11 03:31:21","trending"]