diff --git a/README.md b/README.md index 9f51b304f8..087240eed6 100644 --- a/README.md +++ b/README.md @@ -1,1471 +1,711 @@
+OmniRoute Dashboard + # ๐Ÿš€ OmniRoute โ€” The Free AI Gateway -### Never stop coding. Save 15-95% eligible tokens with RTK+Caveman compression + auto-fallback to **FREE & low-cost AI models**. +### Never stop coding. Connect every AI tool to **177 providers** โ€” **50+ free** โ€” through one endpoint. -_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/Skills** systems. Available in **40+ languages**._ +**Plug Claude Code, Codex, Cursor, Cline, Copilot & Antigravity into FREE Claude / GPT / Gemini. Auto-fallback.** +**RTK + Caveman compression saves 15โ€“95% tokens. Never hit limits.** + +
+ +[![177 AI Providers](https://img.shields.io/badge/177-AI_Providers-6C5CE7?style=for-the-badge)](#-177-ai-providers--50-free) +[![50+ Free](https://img.shields.io/badge/50%2B-Free_Tiers-00B894?style=for-the-badge)](#-177-ai-providers--50-free) +[![Token Savings](https://img.shields.io/badge/up_to_95%25-Token_Savings-E17055?style=for-the-badge)](#%EF%B8%8F-save-1595-tokens--automatically) +[![14 Strategies](https://img.shields.io/badge/14-Routing_Strategies-0984E3?style=for-the-badge)](#-combos--the-flagship) +[![$0 to start](https://img.shields.io/badge/%240-To_Start-FDCB6E?style=for-the-badge&logoColor=black)](#-quick-start) + +
[![npm](https://img.shields.io/npm/v/omniroute?logo=npm&style=flat-square)](https://www.npmjs.com/package/omniroute) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) [![Node](https://img.shields.io/badge/node-%E2%89%A522.22.2-brightgreen?style=flat-square)](package.json) [![Stars](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) -[![Trendshift](https://trendshift.io/api/badge/repositories/23589)](https://trendshift.io/repositories/23589) - -
- - - Get $100 Free AI Credits - - -๐Ÿ”ฅ Limited offer: Sign up at AgentRouter and get $100 in free AI credits
Access GPT-5, Claude, Gemini, DeepSeek & 100+ models. No credit card required. Claim your credits โ†’
- -
diegosouzapw%2FOmniRoute | Trendshift -[๐Ÿš€ 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://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) +[**๐Ÿš€ Quick Start**](#-quick-start) โ€ข [**๐ŸŽฏ Combos**](#-combos--the-flagship) โ€ข [**๐ŸŒ Providers**](#-177-ai-providers--50-free) โ€ข [**๐Ÿ”Œ CLI & MCP**](#-full-cli--a2a--mcp) โ€ข [**๐Ÿ—œ๏ธ Compression**](#%EF%B8%8F-save-1595-tokens--automatically) โ€ข [**๐ŸŒ Website**](https://omniroute.online) โ€ข [**๐Ÿ’ฌ WhatsApp ๐ŸŒ**](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) โ€ข [**๐Ÿ’ฌ ๐Ÿ‡ง๐Ÿ‡ท**](https://chat.whatsapp.com/CeGCxdFzqBe5Uki288wOvf)
---- +
+๐ŸŒ Available in 40+ languages ยท ๐Ÿ“Š more badges -
- -๐ŸŒ **Available in:** ๐Ÿ‡บ๐Ÿ‡ธ [English](README.md) | ๐Ÿ‡ง๐Ÿ‡ท [Portuguรชs (Brasil)](docs/i18n/pt-BR/README.md) | ๐Ÿ‡ช๐Ÿ‡ธ [Espaรฑol](docs/i18n/es/README.md) | ๐Ÿ‡ซ๐Ÿ‡ท [Franรงais](docs/i18n/fr/README.md) | ๐Ÿ‡ฎ๐Ÿ‡น [Italiano](docs/i18n/it/README.md) | ๐Ÿ‡ท๐Ÿ‡บ [ะ ัƒััะบะธะน](docs/i18n/ru/README.md) | ๐Ÿ‡จ๐Ÿ‡ณ [ไธญๆ–‡ (็ฎ€ไฝ“)](docs/i18n/zh-CN/README.md) | ๐Ÿ‡ฉ๐Ÿ‡ช [Deutsch](docs/i18n/de/README.md) | ๐Ÿ‡ฎ๐Ÿ‡ณ [เคนเคฟเคจเฅเคฆเฅ€](docs/i18n/in/README.md) | ๐Ÿ‡น๐Ÿ‡ญ [เน„เธ—เธข](docs/i18n/th/README.md) | ๐Ÿ‡บ๐Ÿ‡ฆ [ะฃะบั€ะฐั—ะฝััŒะบะฐ](docs/i18n/uk-UA/README.md) | ๐Ÿ‡ธ๐Ÿ‡ฆ [ุงู„ุนุฑุจูŠุฉ](docs/i18n/ar/README.md) | ๐Ÿ‡ฆ๐Ÿ‡ฟ [Azษ™rbaycan dili](docs/i18n/az/README.md) | ๐Ÿ‡ฏ๐Ÿ‡ต [ๆ—ฅๆœฌ่ชž](docs/i18n/ja/README.md) | ๐Ÿ‡ป๐Ÿ‡ณ [Tiแบฟng Viแป‡t](docs/i18n/vi/README.md) | ๐Ÿ‡ง๐Ÿ‡ฌ [ะ‘ัŠะปะณะฐั€ัะบะธ](docs/i18n/bg/README.md) | ๐Ÿ‡ฉ๐Ÿ‡ฐ [Dansk](docs/i18n/da/README.md) | ๐Ÿ‡ซ๐Ÿ‡ฎ [Suomi](docs/i18n/fi/README.md) | ๐Ÿ‡ฎ๐Ÿ‡ฑ [ืขื‘ืจื™ืช](docs/i18n/he/README.md) | ๐Ÿ‡ญ๐Ÿ‡บ [Magyar](docs/i18n/hu/README.md) | ๐Ÿ‡ฎ๐Ÿ‡ฉ [Bahasa Indonesia](docs/i18n/id/README.md) | ๐Ÿ‡ฐ๐Ÿ‡ท [ํ•œ๊ตญ์–ด](docs/i18n/ko/README.md) | ๐Ÿ‡ฒ๐Ÿ‡พ [Bahasa Melayu](docs/i18n/ms/README.md) | ๐Ÿ‡ณ๐Ÿ‡ฑ [Nederlands](docs/i18n/nl/README.md) | ๐Ÿ‡ณ๐Ÿ‡ด [Norsk](docs/i18n/no/README.md) | ๐Ÿ‡ต๐Ÿ‡น [Portuguรชs (Portugal)](docs/i18n/pt/README.md) | ๐Ÿ‡ท๐Ÿ‡ด [Romรขnฤƒ](docs/i18n/ro/README.md) | ๐Ÿ‡ต๐Ÿ‡ฑ [Polski](docs/i18n/pl/README.md) | ๐Ÿ‡ธ๐Ÿ‡ฐ [Slovenฤina](docs/i18n/sk/README.md) | ๐Ÿ‡ธ๐Ÿ‡ช [Svenska](docs/i18n/sv/README.md) | ๐Ÿ‡ต๐Ÿ‡ญ [Filipino](docs/i18n/phi/README.md) | ๐Ÿ‡จ๐Ÿ‡ฟ [ฤŒeลกtina](docs/i18n/cs/README.md) +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
๐Ÿ‡บ๐Ÿ‡ธ๐Ÿ‡ง๐Ÿ‡ท๐Ÿ‡ช๐Ÿ‡ธ๐Ÿ‡ซ๐Ÿ‡ท๐Ÿ‡ฎ๐Ÿ‡น๐Ÿ‡ท๐Ÿ‡บ๐Ÿ‡จ๐Ÿ‡ณ๐Ÿ‡ฉ๐Ÿ‡ช๐Ÿ‡ฏ๐Ÿ‡ต๐Ÿ‡ฐ๐Ÿ‡ท๐Ÿ‡ฎ๐Ÿ‡ณ
๐Ÿ‡น๐Ÿ‡ญ๐Ÿ‡ป๐Ÿ‡ณ๐Ÿ‡ฎ๐Ÿ‡ฉ๐Ÿ‡ฒ๐Ÿ‡พ๐Ÿ‡ต๐Ÿ‡ญ๐Ÿ‡ธ๐Ÿ‡ฆ๐Ÿ‡ฎ๐Ÿ‡ฑ๐Ÿ‡ฆ๐Ÿ‡ฟ๐Ÿ‡บ๐Ÿ‡ฆ๐Ÿ‡ต๐Ÿ‡ฑ๐Ÿ‡จ๐Ÿ‡ฟ
๐Ÿ‡ณ๐Ÿ‡ฑ๐Ÿ‡ง๐Ÿ‡ฌ๐Ÿ‡ฉ๐Ÿ‡ฐ๐Ÿ‡ซ๐Ÿ‡ฎ๐Ÿ‡ณ๐Ÿ‡ด๐Ÿ‡ธ๐Ÿ‡ช๐Ÿ‡ญ๐Ÿ‡บ๐Ÿ‡ท๐Ÿ‡ด๐Ÿ‡ธ๐Ÿ‡ฐ๐Ÿ‡ต๐Ÿ‡น
[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) -![NPM Weekly](https://img.shields.io/npm/dw/omniroute?label=npm/week&color=cb3837&logo=npm) ![NPM Monthly](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) -![NPM Yearly](https://img.shields.io/npm/d18m/omniroute?label=npm/year&color=cb3837&logo=npm) - [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) ![Docker Pulls](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Electron Downloads](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F) -[![license](https://custom-icon-badges.demolab.com/github/license/diegosouzapw/OmniRoute?logo=law)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) - - - -[![total contributions](https://custom-icon-badges.demolab.com/badge/dynamic/json?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://github.com/diegosouzapw) -[![github streak](https://custom-icon-badges.demolab.com/badge/dynamic/json?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://github.com/diegosouzapw) [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) -[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
---- - -## ๐Ÿ–ผ๏ธ Main Dashboard - -
- OmniRoute Dashboard -
- ---- - -## ๐Ÿ“ธ Dashboard Preview - -
-Click to see dashboard screenshots - -| Page | Screenshot | -| -------------- | ------------------------------------------------- | -| **Providers** | ![Providers](docs/screenshots/01-providers.png) | -| **Combos** | ![Combos](docs/screenshots/02-combos.png) | -| **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | -| **Health** | ![Health](docs/screenshots/04-health.png) | -| **Translator** | ![Translator](docs/screenshots/05-translator.png) | -| **Settings** | ![Settings](docs/screenshots/06-settings.png) | -| **CLI Tools** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | -| **Usage Logs** | ![Usage](docs/screenshots/08-usage.png) | -| **Endpoints** | ![Endpoints](docs/screenshots/09-endpoint.png) | -
--- -### ๐Ÿค– Free AI Provider for your favorite coding agents +
+๐Ÿ“‘ Table of Contents -_Connect any AI-powered IDE or CLI tool through OmniRoute โ€” free API gateway for unlimited coding._ +
- - - - - - - - - - - - - - - -
- - OpenClaw
- OpenClaw -

- โญ 205K -
- - NanoBot
- NanoBot -

- โญ 20.9K -
- - PicoClaw
- PicoClaw -

- โญ 14.6K -
- - ZeroClaw
- ZeroClaw -

- โญ 9.9K -
- - IronClaw
- IronClaw -

- โญ 2.1K -
- - OpenCode
- OpenCode -

- โญ 106K -
- - Codex CLI
- Codex CLI -

- โญ 60.8K -
- - Claude Code
- Claude Code -

- โญ 67.3K -
- - Gemini CLI
- Gemini CLI -

- โญ 94.7K -
- - Kilo Code
- Kilo Code -

- โญ 15.5K -
+- [๐Ÿ’ฅ The Promise](#-the-promise) +- [๐Ÿค” Why OmniRoute?](#-why-omniroute) +- [๐ŸŽฏ Combos โ€” The Flagship](#-combos--the-flagship) +- [๐Ÿ† What Sets OmniRoute Apart](#-what-sets-omniroute-apart) +- [๐Ÿค– Compatible CLIs & Coding Agents](#-compatible-clis--coding-agents) +- [๐ŸŒ 177 AI Providers โ€” 50+ Free](#-177-ai-providers--50-free) +- [๐Ÿ–ฅ๏ธ Where OmniRoute Runs](#%EF%B8%8F-where-omniroute-runs--anywhere) +- [๐Ÿ”’ Private & Local-First](#-private--local-first) +- [๐Ÿ”Œ Full CLI + A2A & MCP](#-full-cli--a2a--mcp) +- [๐Ÿ—œ๏ธ Save 15โ€“95% Tokens](#%EF%B8%8F-save-1595-tokens--automatically) +- [โšก Quick Start](#-quick-start) +- [๐ŸŽฌ OmniRoute in Action](#-omniroute-in-action) +- [๐Ÿ“š Explore More](#-explore-more) +- [๐Ÿ“ง Support & Community](#-support--community) -๐Ÿ“ก All agents connect via http://localhost:20128/v1 or http://cloud.omniroute.online/v1 โ€” one config, unlimited models and quota +
--- -## ๐Ÿ“บ OmniRoute in Action โ€” Video Guides +## ๐Ÿ’ฅ The Promise -
+> One endpoint. **177 providers.** Never stop building โ€” and let OmniRoute pick the cheapest one that works. - - - + + + + + + + +
- - OmniRoute โ€” Guia em Portuguรชs -
- ๐Ÿ‡ง๐Ÿ‡ท Portuguรชs
- Guia completo do OmniRoute -
- - OmniRoute โ€” English Guide -
- ๐Ÿ‡บ๐Ÿ‡ธ English
- Complete OmniRoute walkthrough -
- - OmniRoute โ€” ะ ัƒะบะพะฒะพะดัั‚ะฒะพ ะฝะฐ ั€ัƒััะบะพะผ -
- ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน
- ะŸะพะปะฝะพะต ั€ัƒะบะพะฒะพะดัั‚ะฒะพ ะฟะพ OmniRoute -
๐Ÿšซ Never hit limits
Auto-fallback across 177 providers in milliseconds. Quota out? Next provider takes over โ€” zero downtime.
๐Ÿ’ธ Save up to 95% tokens
RTK + Caveman stacked compression cuts 15โ€“95% of eligible tokens (~89% avg on tool-heavy sessions).
๐Ÿ†“ $0 to start
50+ providers with a free tier, 11 free forever (Kiro, Qoder, Pollinations, LongCatโ€ฆ). No card needed.
๐Ÿ”Œ Every tool works
16+ coding agents โ€” Claude Code, Codex, Cursor, Cline, Copilot, Antigravity โ€” through one config.
๐Ÿงฉ One endpoint
OpenAI โ†” Claude โ†” Gemini โ†” Responses API translation. Point any tool at /v1 and it just works.
๐Ÿ›ก๏ธ Production-grade
Circuit breakers, TLS stealth, MCP (37 tools), A2A, memory, guardrails, evals. 4,690+ tests.
-
- -> ๐ŸŽฌ **Made a video about OmniRoute?** We'd love to feature it here! Open an [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) or [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) with the link and we'll add it to this showcase. - --- ## ๐Ÿค” Why OmniRoute? -**One endpoint. 207+ providers. Never stop building.** +**Stop juggling 10 dashboards, dead API keys, and surprise bills.** -Stop juggling 10 dashboards, dead API keys, and surprise bills. OmniRoute -routes every request through the cheapest viable provider โ€” automatically. - -### The 3-tier fallback (zero-downtime AI) +| โŒ The daily pain | โœ… How OmniRoute fixes it | +| ------------------------------------------------------ | ----------------------------------------------------------------------------- | +| ๐Ÿ“‰ Subscription quota expires unused every month | **Maximize subscriptions** โ€” track quota, use every token before reset | +| ๐Ÿ›‘ Rate limits stop you mid-coding | **4-tier auto-fallback** โ€” Subscription โ†’ API โ†’ Cheap โ†’ Free, in milliseconds | +| ๐Ÿ”ฅ Tool outputs (`git diff`, `grep`, logs) burn tokens | **RTK + Caveman compression** โ€” save 15โ€“95% eligible tokens per request | +| ๐Ÿ’ธ Expensive APIs ($20โ€“50/mo per provider) | **Cost-optimized routing** โ€” auto-route to the cheapest viable model | +| ๐Ÿงฐ Each AI tool wants its own setup | **One endpoint, every tool, one dashboard** | +| ๐ŸŒ AI blocked in your country | **3-level proxy** + TLS fingerprint stealth โ€” use AI from anywhere | ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” -โ”‚ Your IDE / CLI / App โ”‚ -โ”‚ (Claude Code, Cursor, Cline, Copilot, โ€ฆ) โ”‚ -โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ - โ”‚ http://localhost:20128/v1 - โ–ผ +โ”‚ Your IDE / CLI (Claude Code, Cursor, Clineโ€ฆ) โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ http://localhost:20128/v1 + โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” -โ”‚ OmniRoute (Smart Router) โ”‚ -โ”‚ โ€ข RTK token saver (47 specialized filters) โ”‚ -โ”‚ โ€ข Caveman terse-mode (3 levels + SHARED_BOUNDARIES) โ”‚ -โ”‚ โ€ข Auto-fallback combos (14 strategies) โ”‚ -โ”‚ โ€ข Circuit breaker ยท TLS fingerprint stealth (JA3/JA4) โ”‚ -โ”‚ โ€ข Memory ยท MCP server ยท A2A ยท Guardrails ยท Evals โ”‚ -โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ - โ”‚ - โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” - โ–ผ Tier 1 โ–ผ Tier 2 โ–ผ Tier 3 -SUBSCRIPTION CHEAP FREE -(Claude Code, (DeepSeek $0.27, (Kiro, OpenCode, - Codex, Copilot, GLM $0.60, Gemini CLI, - Cursor, Antigravity) MiniMax $0.20) Vertex $300cr) - - quota exhausted? budget hit? always available - โ†’ falls to Tier 2 โ†’ falls to Tier 3 +โ”‚ OmniRoute โ€” Smart Router โ”‚ +โ”‚ RTK + Caveman compression ยท 14 routing strategies โ”‚ +โ”‚ Circuit breakers ยท TLS stealth ยท MCP ยท A2A ยท Guardrails โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ–ผ Tier 1 โ–ผ Tier 2 โ–ผ Tier 3 โ–ผ Tier 4 + SUBSCRIPTION API KEY CHEAP FREE + Claude Code, DeepSeek, GLM $0.5, Kiro, Qoder, + Codex, Copilot Groq, xAI MiniMax $0.2 Pollinations + quota out? โ”€โ”€โ”€โ–ถ budget hit? โ”€โ–ถ budget hit? โ”€โ–ถ always on ``` -### Why this matters - -- โŒ **Subscription quota wasted** every month? OmniRoute uses every token before expiry. -- โŒ **Rate limits stop you mid-flow?** Auto-fallback to the next provider in milliseconds. -- โŒ **Tool outputs burn tokens?** RTK compresses `git diff`, logs, and grep results 30-50%. -- โŒ **Paying $50/mo across 5 providers?** Route to the cheapest viable model automatically. -- โŒ **Each AI tool wants its own setup?** One endpoint, every tool, one dashboard. - -### What sets OmniRoute apart - -| Feature | OmniRoute | Other routers | -| ----------------------------------- | ------------------------------------------------------------- | ------------- | -| Providers | **207+** | 20-100 | -| Combo strategies | **14** (priority, weighted, cost-optimized, context-relay, โ€ฆ) | 1-3 | -| Token compression (RTK) | **47 specialized filters** | None | -| Built-in MCP server | **37 tools, 3 transports, 13 scopes** | Rare | -| A2A agent protocol | **5 skills, JSON-RPC 2.0** | None | -| Memory (FTS5 + vector) | **Yes** | Rare | -| Guardrails (PII, injection, vision) | **Yes** | Rare | -| Cloud agent integrations | Codex, Devin, Jules | None | -| Circuit breaker per provider | **3-state, lazy recovery** | Rare | -| TLS fingerprint stealth | **JA3/JA4 via wreq-js** | None | -| Eval framework | **Built-in** | Rare | -| CLI (no Electron required) | **Yes** + system tray | Varies | -| i18n | **40+ locales** | 0-4 | - -See [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md) for a detailed comparison vs LiteLLM, OpenRouter, and Portkey. - --- -**Also solves:** +## ๐ŸŽฏ Combos โ€” The Flagship -โœ… **Prompt Compression** โ€” auto-compress prompts & tool outputs, save 15-95% eligible tokens per request with RTK+Caveman stacked mode -โœ… **Maximize subscriptions** โ€” track quota, use every bit before reset -โœ… **Auto fallback** โ€” Subscription โ†’ Cheap โ†’ Free, zero downtime -โœ… **Multi-account** โ€” round-robin between accounts per provider -โœ… **Format translation** โ€” OpenAI โ†” Claude โ†” Gemini โ†” Responses API, any tool works -โœ… **3-level proxy** โ€” bypass geo-blocks with global, per-provider, and per-key proxies -โœ… **10 multi-modal APIs** โ€” chat, images, video, music, audio, search in one endpoint -โœ… **MCP + A2A** โ€” 37 MCP tools + agent-to-agent protocol, production-ready -โœ… **Universal** โ€” works with Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, any CLI tool +> 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` -## ๐Ÿ“ง Support +No combo to create. Set your model to `auto` (or a variant) and OmniRoute builds a virtual combo from your connected providers, scored live: -> ๐Ÿ’ฌ **Join our community!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) โ€” Get help, share tips, and stay updated. +| Model ID | What 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 | -- **Website**: [omniroute.online](https://omniroute.online) -- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) -- **Issues**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) -- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) -- **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md), open a PR, or pick a `good first issue` +### ๐Ÿ”€ Or build your own โ€” 14 routing strategies -### ๐Ÿ› Reporting a Bug? +| Goal | Strategy / combo | +| --------------------------------------- | -------------------------------------------------- | +| ๐Ÿฅ‡ Drain my subscription before paying | `priority` / `fill-first` | +| โš–๏ธ Spread load across accounts | `round-robin` ยท `weighted` ยท `p2c` ยท `least-used` | +| ๐Ÿ’ธ Always cheapest viable model | `cost-optimized` ยท `auto/cheap` | +| ๐Ÿง  Hand off long context between models | `context-relay` ยท `context-optimized` | +| ๐ŸŽฒ Randomized / privacy routing | `random` ยท `strict-random` | +| ๐Ÿค– Just make it smart | `auto` (9-factor scoring) ยท `lkgp` ยท `reset-aware` | -When opening an issue, please run the system-info command and attach the generated file: +The Auto-Combo engine scores every candidate on **9 factors** (health, quota, cost, latency, success rate, freshnessโ€ฆ) โ€” see [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md). -```bash -npm run system-info +### ๐Ÿงฑ Resilience is built in (3 independent layers) + +| Layer | Scope | What it does | +| -------------------------- | ----------------- | -------------------------------------------------------------------------- | +| ๐Ÿ”Œ **Circuit breaker** | whole provider | Stops hammering a provider that's failing upstream; auto-probes to recover | +| ๐Ÿ’ค **Connection cooldown** | one account / key | Skips a rate-limited key while other keys keep serving | +| ๐ŸŽฏ **Model lockout** | provider + model | Quarantines just one quota-limited model, not the whole connection | + +``` +Combo: "always-on" Strategy: priority + 1. cc/claude-opus-4-7 โ† subscription (use it fully) + 2. cx/gpt-5.5 โ† second subscription + 3. glm/glm-5.1 โ† cheap backup ($0.5/1M) + 4. kr/claude-sonnet-4.5 โ† FREE, unlimited (never fails) +Result: 4 layers of fallback = zero downtime ``` -This 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/PM2 status, and system packages โ€” everything we need to reproduce your issue quickly. Attach the file directly to your GitHub issue. +๐Ÿ“– [Auto-Combo Engine](docs/routing/AUTO-COMBO.md) ยท [Resilience Guide](docs/architecture/RESILIENCE_GUIDE.md) --- -## ๐Ÿ› ๏ธ Supported CLI Tools +## ๐Ÿ† What Sets OmniRoute Apart -OmniRoute works seamlessly with **16+ AI coding tools** โ€” one config, all tools: +| Feature | OmniRoute | Other routers | +| -------------------------------------- | ----------------------------------------------------------- | ------------- | +| ๐ŸŒ Providers | **177** | 20โ€“100 | +| ๐Ÿ†“ Free providers | **50+ (11 free forever)** | 1โ€“5 | +| ๐Ÿ”€ Routing strategies | **14** (priority, weighted, cost-optimized, context-relayโ€ฆ) | 1โ€“3 | +| ๐Ÿ—œ๏ธ Token compression | **RTK + Caveman stacked (15โ€“95%)** | None / 20โ€“40% | +| ๐Ÿงฐ Built-in MCP server | **37 tools, 3 transports, 13 scopes** | Rare | +| ๐Ÿค A2A agent protocol | **5 skills, JSON-RPC 2.0** | None | +| ๐Ÿง  Memory (FTS5 + vector) | **Yes** | Rare | +| ๐Ÿ›ก๏ธ Guardrails (PII, injection, vision) | **Yes** | Rare | +| โ˜๏ธ Cloud agents | **Codex, Devin, Jules** | None | +| ๐Ÿฅท TLS fingerprint stealth | **JA3/JA4 via wreq-js** | None | +| ๐Ÿ–ฅ๏ธ Multi-platform | **Web ยท Desktop ยท Termux ยท PWA** | Web only | +| ๐ŸŒ i18n | **40+ locales** | 0โ€“4 | +๐Ÿ“Š Detailed comparison vs LiteLLM, OpenRouter & Portkey โ†’ [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md) + +--- + +## ๐Ÿค– Compatible CLIs & Coding Agents + +_One config โ€” `http://localhost:20128/v1` โ€” and **every** AI IDE or CLI runs on free & low-cost models._ + +
- - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + +
Claude Code
Anthropic
Codex CLI
OpenAI
Gemini CLI
Google
Cursor
IDE
OpenClaw
CLI
Antigravity
VS Code
Claude Code
Claude Code
Codex CLI
Codex CLI
Gemini CLI
Gemini CLI
Cursor
Cursor
Copilot
Copilot
Continue
Continue
Cline
Extension
Continue
Extension
Kilo Code
Extension
Kiro
AWS IDE
OpenCode
CLI
Droid
CLI
AMP
CLI
Copilot
GitHub
Windsurf
IDE
Hermes
CLI
Qwen CLI
Alibaba
Custom
Any tool
OpenCode
OpenCode
Kilo Code
Kilo Code
Droid
Droid
OpenClaw
OpenClaw
Kiro
Kiro
Command Code
Command
+
-๐Ÿ“– Full setup for each tool: [`docs/CLI-TOOLS.md`](docs/CLI-TOOLS.md) +
+๏ผ‹ also works with ยท Cline ยท Antigravity ยท Windsurf ยท AMP ยท Hermes ยท Qwen CLI ยท Roo ยท Continue ยท any OpenAI-compatible tool +
-### ๐Ÿงฉ OpenCode integration โ€” `@omniroute/opencode-provider` - -[![npm version](https://img.shields.io/npm/v/@omniroute/opencode-provider.svg?logo=npm&label=%40omniroute%2Fopencode-provider)](https://www.npmjs.com/package/@omniroute/opencode-provider) -[![npm downloads](https://img.shields.io/npm/dm/@omniroute/opencode-provider.svg?logo=npm)](https://www.npmjs.com/package/@omniroute/opencode-provider) -[![bundle size](https://img.shields.io/bundlephobia/minzip/@omniroute/opencode-provider?label=minzip)](https://bundlephobia.com/package/@omniroute/opencode-provider) -[![license](https://img.shields.io/npm/l/@omniroute/opencode-provider.svg)](./@omniroute/opencode-provider/LICENSE) - -Schema-valid generator for [`opencode.json`](https://opencode.ai/config.json). Emits a `provider.omniroute` entry that delegates the runtime to [`@ai-sdk/openai-compatible`](https://www.npmjs.com/package/@ai-sdk/openai-compatible) โ€” every OpenCode request flows through OmniRoute's `/v1` surface and benefits from Auto-Combo routing, circuit breakers, key policies, and observability. - -**Two integration paths:** - -```bash -# Path 1 โ€” CLI generator (ships with OmniRoute) -omniroute config opencode \ - --baseUrl http://localhost:20128 \ - --apiKey "$OMNIROUTE_API_KEY" -``` - -```bash -# Path 2 โ€” npm package (for scripted / programmatic setups) -npm install --save-dev @omniroute/opencode-provider -``` - -```ts -import { writeFileSync } from "node:fs"; -import { buildOmniRouteOpenCodeConfig } from "@omniroute/opencode-provider"; - -const config = buildOmniRouteOpenCodeConfig({ - baseURL: "http://localhost:20128", - apiKey: process.env.OMNIROUTE_API_KEY ?? "sk_omniroute", -}); - -writeFileSync("opencode.json", JSON.stringify(config, null, 2)); -``` - -Resulting `opencode.json` (excerpt): - -```jsonc -{ - "$schema": "https://opencode.ai/config.json", - "provider": { - "omniroute": { - "npm": "@ai-sdk/openai-compatible", - "name": "OmniRoute", - "options": { "baseURL": "http://localhost:20128/v1", "apiKey": "sk_omniroute" }, - "models": { - "claude-opus-4-5-thinking": { "name": "claude-opus-4-5-thinking" }, - "gemini-3.1-pro-high": { "name": "gemini-3.1-pro-high" }, - // โ€ฆ - }, - }, - }, -} -``` - -๐Ÿ“ฆ Package: [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider) ยท ๐Ÿ“– Full guide: [`docs/frameworks/OPENCODE.md`](docs/frameworks/OPENCODE.md) ยท ๐Ÿ›  Source: [`@omniroute/opencode-provider/`](./@omniroute/opencode-provider) +๐Ÿ“– Per-tool setup for all 16+ tools โ†’ [`docs/CLI-TOOLS.md`](docs/CLI-TOOLS.md) ยท ๐Ÿงฉ OpenCode plugin โ†’ [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider) --- -## ๐ŸŒ Supported Providers โ€” 160+ +## ๐ŸŒ 177 AI Providers โ€” 50+ Free -### ๐Ÿ” OAuth Providers +> The most complete catalog of any open-source router: **177 providers**, **50+ with a free tier**, **11 free forever**. - - - - - - - - - - - - - - -
Claude Code
Anthropic OAuth
Antigravity
Google OAuth
Codex
OpenAI OAuth
GitHub Copilot
GitHub OAuth
Cursor
Cursor OAuth
Kimi Coding
Moonshot OAuth
Kilo Code
Kilo OAuth
Cline
Cline OAuth
- -### ๐Ÿ†“ Free Providers (No Cost) +### ๐Ÿ†“ Free Forever โ€” $0, no card +
- - + + - - - + + +
๐ŸŸข Kiro AI
Claude Sonnet/Haiku
Unlimited FREE
๐ŸŸข Qoder AI
Kimi-K2, DeepSeek-R1
Unlimited FREE
๐ŸŸข Pollinations
GPT-5, Claude, Llama 4
No API key needed
๐ŸŸข Qwen Code
Qwen3 Coder Plus
Unlimited FREE
๐ŸŸข Pollinations
GPT-5, Claude, Llama 4
No key needed
๐ŸŸข LongCat
Flash-Lite
50M tokens/day ๐Ÿ”ฅ
๐ŸŸข LongCat AI
Flash-Lite
50M tokens/day
๐ŸŸข Cloudflare AI
50+ models
10K neurons/day
๐ŸŸข Puter AI
GPT-4.1, Claude
Rate-limited free
๐ŸŸข NVIDIA NIM
Llama, Mistral
1K req/day free
๐ŸŸข Gemini CLI
gemini-3-flash
180K/mo free
๐ŸŸข NVIDIA NIM
129 models
~40 RPM free
๐ŸŸข Cerebras
Qwen3 235B
1M tokens/day
+
-### ๐Ÿ”‘ API Key Providers (120+) +### ๐Ÿ” OAuth (11) ยท ๐Ÿ”‘ API Key (122) ยท ๐Ÿ  Self-Hosted (10) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OpenAIAnthropicGeminiDeepSeekGroqxAI (Grok)
MistralOpenRouterGLMKimiMiniMaxFireworks
Together AICerebrasCohereNVIDIAPerplexitySiliconFlow
NebiusHuggingFaceDeepInfraSambaNovaVertex AIAzure OpenAI
AWS BedrockSnowflakeDatabricksVenice.aiAI21 LabsMeta Llama
+
+ +![OpenAI](https://img.shields.io/badge/OpenAI-412991?style=for-the-badge&logo=openai&logoColor=white) +![Anthropic](https://img.shields.io/badge/Anthropic-D97757?style=for-the-badge&logo=anthropic&logoColor=white) +![Gemini](https://img.shields.io/badge/Gemini-8E75B2?style=for-the-badge&logo=googlegemini&logoColor=white) +![Mistral](https://img.shields.io/badge/Mistral-FF7000?style=for-the-badge&logo=mistralai&logoColor=white) +![Copilot](https://img.shields.io/badge/Copilot-000000?style=for-the-badge&logo=githubcopilot&logoColor=white) +![Perplexity](https://img.shields.io/badge/Perplexity-1FB8CD?style=for-the-badge&logo=perplexity&logoColor=white) +![HuggingFace](https://img.shields.io/badge/HuggingFace-FFD21E?style=for-the-badge&logo=huggingface&logoColor=black) +![Ollama](https://img.shields.io/badge/Ollama-000000?style=for-the-badge&logo=ollama&logoColor=white) + +![DeepSeek](https://img.shields.io/badge/DeepSeek-4D6BFE?style=for-the-badge) +![xAI Grok](https://img.shields.io/badge/xAI_Grok-000000?style=for-the-badge) +![Groq](https://img.shields.io/badge/Groq-F55036?style=for-the-badge) +![GLMยทZ.AI](https://img.shields.io/badge/GLM_ยท_Z.AI-2E6BE6?style=for-the-badge) +![Kimi](https://img.shields.io/badge/Kimi-000000?style=for-the-badge) +![MiniMax](https://img.shields.io/badge/MiniMax-FF4D4F?style=for-the-badge) +![Qwen](https://img.shields.io/badge/Qwen-615CED?style=for-the-badge) +![Cerebras](https://img.shields.io/badge/Cerebras-F15A29?style=for-the-badge) + +![OpenRouter](https://img.shields.io/badge/OpenRouter-6467F2?style=for-the-badge) +![Together](https://img.shields.io/badge/Together_AI-0F6FFF?style=for-the-badge) +![Fireworks](https://img.shields.io/badge/Fireworks-5019C5?style=for-the-badge) +![Vertex AI](https://img.shields.io/badge/Vertex_AI-4285F4?style=for-the-badge&logo=googlecloud&logoColor=white) +![Bedrock](https://img.shields.io/badge/AWS_Bedrock-FF9900?style=for-the-badge&logo=amazonwebservices&logoColor=white) +![Azure](https://img.shields.io/badge/Azure_OpenAI-0078D4?style=for-the-badge&logo=microsoftazure&logoColor=white) +![Cohere](https://img.shields.io/badge/Cohere-39594C?style=for-the-badge) +![NVIDIA](https://img.shields.io/badge/NVIDIA_NIM-76B900?style=for-the-badge&logo=nvidia&logoColor=white) + +
-...and 90+ more providers +โ€ฆand 150+ more providers (full catalog) -Alibaba ยท 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/Anthropic-compatible custom endpoints +
+ +Alibaba ยท 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 ยท FriendliAI ยท Galadriel ยท GigaChat ยท GitLab Duo ยท GLHF Chat ยท GoAPI ยท Heroku AI ยท Hyperbolic ยท IBM watsonx ยท Inference.net ยท Inworld ยท Jina AI ยท Kilo Gateway ยท Lambda AI ยท Linkup Search ยท LlamaGate ยท Maritalk ยท Modal ยท Moonshot AI ยท Morph ยท NanoGPT ยท NLP Cloud ยท Nous Research ยท Novita AI ยท nScale ยท OCI ยท Ollama Cloud ยท OVHcloud ยท PiAPI ยท PlayHT ยท Poe ยท Predibase ยท PublicAI ยท Recraft ยท Reka ยท Runway ยท SAP ยท SambaNova ยท Scaleway ยท SearchAPI ยท SearXNG ยท Serper ยท SiliconFlow ยท Snowflake ยท Stability AI ยท Synthetic ยท Tavily ยท TheB.AI ยท Topaz ยท Upstage ยท v0 (Vercel) ยท Vercel AI Gateway ยท Venice.ai ยท Volcengine ยท Voyage AI ยท W&B Inference ยท You.com ยท Z.AI ยท LM Studio ยท vLLM ยท Llamafile ยท oobabooga ยท ComfyUI ยท NVIDIA Triton ยท + OpenAI/Anthropic-compatible custom endpoints + +๐Ÿ“– Full machine-readable catalog โ†’ [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
-### ๐Ÿ  Self-Hosted +--- - - - - - - - - - - - - - - - -
LM StudioOllamavLLMLlamafileDocker Model Runner
NVIDIA TritonXInferenceoobaboogaComfyUISD WebUI
+## ๐Ÿ–ฅ๏ธ Where OmniRoute Runs โ€” Anywhere + +> Same app, your machine, your rules. From a global npm install to **your phone** via Termux. + +| Platform | Install | Highlights | +| ------------------------- | -------------------------------------------- | --------------------------------------------------------- | +| ๐Ÿ“ฆ **npm (global)** | `npm install -g omniroute` | One command, any OS | +| ๐Ÿณ **Docker** | `docker run โ€ฆ diegosouzapw/omniroute` | Multi-arch **AMD64 + ARM64** | +| ๐Ÿ–ฅ๏ธ **Desktop (Electron)** | `npm run electron:build` | Native window + system tray โ€” **Windows / macOS / Linux** | +| ๐Ÿ’ช **ARM** | native `arm64` | Raspberry Pi, ARM servers, Apple Silicon | +| ๐Ÿ“ฑ **Android (Termux)** | `pkg install nodejs-lts && npx -y omniroute` | Runs **on your phone**, 24/7, no root | +| ๐Ÿ“ฒ **PWA** | "Add to Home Screen" | Fullscreen, offline, installable from browser | +| ๐Ÿงฉ **OpenCode plugin** | `@omniroute/opencode-provider` | Native OpenCode integration | +| ๐Ÿ› ๏ธ **From source** | `npm install && npm run dev` | Hack on it, contribute | + +๐Ÿ“– [Docker Guide](docs/DOCKER_GUIDE.md) ยท [Desktop](electron/README.md) ยท [Termux](docs/TERMUX_GUIDE.md) ยท [PWA](docs/PWA_GUIDE.md) ยท [OpenCode](docs/frameworks/OPENCODE.md) --- -## ๐Ÿค– AI Agent Skills +## ๐Ÿ”’ Private & Local-First -Drop-in markdown manifests that let any AI agent consume OmniRoute via one fetch. +> Your keys, your machine, your data. OmniRoute is a **local proxy** โ€” it never phones home. -Tell your agent (Claude Desktop, ChatGPT, Cursor, Cline, etc.): +- ๐Ÿ  **Runs 100% on your hardware** โ€” npm, Docker, desktop, or your phone. No OmniRoute cloud sits in the request path. +- ๐Ÿ” **Credentials encrypted at rest** โ€” API keys & OAuth tokens sealed with **AES-256-GCM**. +- ๐Ÿšซ **Zero telemetry by default** โ€” your prompts go only to the providers _you_ choose, nowhere else. +- ๐Ÿ›ก๏ธ **Hardened gateway** โ€” API-key scoping, IP filtering, rate limits, prompt-injection guard, loopback-only process routes. +- ๐Ÿ“œ **MIT licensed & fully open-source** โ€” audit every line, self-host forever. -> "Fetch this URL and use OmniRoute according to its instructions: -> `https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md`" - -10 skills available โ€” see [skills/README.md](./skills/README.md). +๐Ÿ“– [Authorization](docs/architecture/AUTHZ_GUIDE.md) ยท [Guardrails](docs/security/GUARDRAILS.md) ยท [Compliance](docs/security/COMPLIANCE.md) --- -## ๐Ÿ”„ How It Works +## ๐Ÿ”Œ Full CLI + A2A & MCP -``` -โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” -โ”‚ Your CLI โ”‚ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) -โ”‚ Tool โ”‚ -โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ - โ”‚ http://localhost:20128/v1 - โ†“ -โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” -โ”‚ OmniRoute (Smart Router) โ”‚ -โ”‚ โ€ข ๐Ÿ—œ๏ธ Prompt Compression (save 15-95% eligible) โ”‚ -โ”‚ โ€ข Format translation (OpenAI โ†” Claude โ†” Gemini) โ”‚ -โ”‚ โ€ข Quota tracking + Embeddings + Images โ”‚ -โ”‚ โ€ข Auto token refresh + Rate limit management โ”‚ -โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ - โ”‚ - โ”œโ”€โ†’ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI - โ”‚ โ†“ quota exhausted - โ”œโ”€โ†’ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. - โ”‚ โ†“ budget limit - โ”œโ”€โ†’ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) - โ”‚ โ†“ budget limit - โ””โ”€โ†’ [Tier 4: FREE] Qoder, Qwen, Kiro (unlimited) +> OmniRoute isn't just a server โ€” it's a **full command-line cockpit** with **60+ commands**, plus open agent protocols so an AI agent can drive OmniRoute **by itself**. -Result: Never stop coding, minimal cost + 15-95% eligible token savings +### โŒจ๏ธ A real CLI (not just `start`) + +```bash +omniroute # serve gateway + dashboard (port 20128) +omniroute chat # interactive TUI chat client (slash: /model /combo /skill /memory) +omniroute setup # guided first-run wizard +omniroute doctor # diagnose providers, ports, native deps ``` +
+ +`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** or **A2A** and any capable agent gets the keys to the whole gateway โ€” routing, providers, combos, cache, compression, memory โ€” autonomously. + +| Protocol | Endpoint | Use it for | +| ------------------ | ----------------------------------------------- | ------------------------------------------------------ | +| ๐Ÿงฐ **MCP (stdio)** | `omniroute --mcp` | Plug into Claude Desktop, Cursor, any MCP client | +| ๐ŸŒŠ **MCP (HTTP)** | `http://localhost:20128/api/mcp/stream` | Remote MCP โ€” **37 tools**, 13 scopes, full audit trail | +| ๐Ÿ“ก **MCP (SSE)** | `http://localhost:20128/api/mcp/sse` | Streaming MCP transport | +| ๐Ÿค **A2A** | `http://localhost:20128/.well-known/agent.json` | Agent-to-agent, **JSON-RPC 2.0** + SSE, 5 skills | + +```bash +# Give Claude Code the full OmniRoute toolset over MCP: +claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream +``` + +๐Ÿ“– [MCP Server](docs/frameworks/MCP-SERVER.md) ยท [A2A Server](docs/frameworks/A2A-SERVER.md) ยท [Agent Protocols](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md) + --- -## ๐Ÿ—œ๏ธ Prompt Compression โ€” Save 15-95% Eligible Tokens Automatically +## ๐Ÿ—œ๏ธ Save 15โ€“95% Tokens โ€” Automatically -> **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://github.com/rtk-ai/rtk) and [Caveman](https://github.com/JuliusBrussee/caveman) (โญ 51K+). +> **Why use many token when few token do trick?** Every request passes through OmniRoute's compression pipeline **transparently** โ€” no client changes. It stacks ideas from [RTK](https://github.com/rtk-ai/rtk) and [Caveman](https://github.com/JuliusBrussee/caveman) (โญ 51K+). -### How It Works +| Mode | Savings | Best for | +| ------------------------------ | ---------- | --------------------------- | +| ๐Ÿชถ **Lite** | ~15% | Always-on safe default | +| ๐Ÿชจ **Standard (Caveman)** | ~30% | Daily coding | +| โšก **Aggressive** | ~50% | Long tool-heavy sessions | +| ๐Ÿ”ฅ **Ultra** | ~75% | Maximum savings | +| ๐Ÿงฐ **RTK** | 60โ€“90% | Shell/test/build/git output | +| ๐Ÿ”— **Stacked (RTK โ†’ Caveman)** | **78โ€“95%** | Mixed prompts + tool logs | -Every request passes through the compression pipeline **transparently** โ€” no client changes needed: +**Real example โ€” Standard mode:** -``` -โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” -โ”‚ Client sends โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚ OmniRoute Compression โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚ Provider โ”‚ -โ”‚ full prompt โ”‚ โ”‚ Pipeline (7 options) โ”‚ โ”‚ receives โ”‚ -โ”‚ (10,000 tok) โ”‚ โ”‚ โ”‚ โ”‚ compressed โ”‚ -โ”‚ โ”‚ โ”‚ ๐Ÿชถ Lite ........... ~15% โ”‚ โ”‚ (~1,080 tok)โ”‚ -โ”‚ โ”‚ โ”‚ ๐Ÿชจ Standard ....... ~30% โ”‚ โ”‚ โ”‚ -โ”‚ โ”‚ โ”‚ โšก Aggressive ..... ~50% โ”‚ โ”‚ ๐Ÿ’ฐ up to 95%โ”‚ -โ”‚ โ”‚ โ”‚ ๐Ÿ”ฅ Ultra .......... ~75% โ”‚ โ”‚ โ”‚ -โ”‚ โ”‚ โ”‚ ๐Ÿงฐ RTK ............ 60-90% โ”‚ โ”‚ โ”‚ -โ”‚ โ”‚ โ”‚ ๐Ÿ”— Stacked ........ 78-95% โ”‚ โ”‚ โ”‚ -โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ -``` - -### 7 Compression Options - -| Mode | Savings | Technique | Best For | -| ------------------------- | ------- | ----------------------------------------------------------------------------------------------- | -------------------------------------- | -| **Off** | 0% | No compression | When you need exact prompts | -| **๐Ÿชถ Lite** | ~15% | Whitespace collapse, dedup system prompts, image URL shortening | Always-on safe default | -| **๐Ÿชจ Standard (Caveman)** | ~30% | 30+ regex rules: filler removal, context condensation, structural compression, multi-turn dedup | Daily coding with Claude/Codex | -| **โšก Aggressive** | ~50% | All standard + progressive message aging + tool result summarization + LLM-based compression | Long sessions with many tool calls | -| **๐Ÿ”ฅ Ultra** | ~75% | All aggressive + heuristic token pruning + stopword removal + score-based filtering | Maximum savings when tokens are scarce | -| **๐Ÿงฐ RTK** | 60-90% | 49 command-aware filters, RTK-style JSON DSL, verify gate, trust-gated custom filters | Shell/test/build/git output in agents | -| **๐Ÿ”— Stacked** | 78-95% | RTK first, then Caveman input condensation; ~89% with upstream average math | Mixed prompts with tool logs + prose | - -### RTK + Caveman Savings Math - -These numbers are based on the upstream project READMEs under `_references/_outros`: - -| Source | Upstream claim used by OmniRoute docs | -| ------- | ------------------------------------------------------------------------------------------------------------------- | -| Caveman | `~75%` fewer output tokens; benchmark average `65%` output savings, range `22-87%`; `~46%` input compression tool | -| RTK | `60-90%` command-output token savings; sample session `~118,000 -> ~23,900` tokens, which is `79.7%` saved (`~80%`) | - -For the default stacked compression combo, OmniRoute runs: - -```txt -RTK -> Caveman -``` - -When both engines can act on the same tool/context payload, the savings compound: - -```txt -combined = 1 - (1 - RTK savings) * (1 - Caveman input savings) -average = 1 - (1 - 0.80) * (1 - 0.46) = 89.2% -range = 1 - (1 - 0.60..0.90) * (1 - 0.46) = 78.4-94.6% -``` - -Caveman output mode is separate from prompt compression. When enabled for responses, use Caveman's -own upstream output numbers: `65%` average, `~75%` headline, `22-87%` observed range. Total bill -savings depend on the prompt/output mix, but coding-agent sessions are often tool-context heavy, so -the `RTK -> Caveman` combo is the best default for maximum context savings. - -### Before & After (Standard/Caveman Mode) - -**๐Ÿ—ฃ๏ธ Before compression (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 compression (19 tokens):** - -> "New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo." - -**Same answer. 72% less tokens. Zero accuracy loss.** - -### Architecture - -``` -Request Body - โ”‚ - โ”œโ”€ strategySelector.ts โ”€โ”€โ”€ Picks mode (config / combo override / auto-trigger) - โ”‚ - โ”œโ”€ lite.ts โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Whitespace, dedup, image URLs, redundant content - โ”œโ”€ caveman.ts โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 30+ regex rules via cavemanRules.ts - โ”‚ โ””โ”€ preservation.ts โ”€โ”€โ”€ Protects code blocks, URLs, JSON from compression - โ”œโ”€ engines/rtk/ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Command detection + JSON DSL filters + raw-output recovery - โ”œโ”€ engines/registry.ts โ”€โ”€โ”€ Shared engine registry for caveman, RTK, and stacked - โ”œโ”€ aggressive.ts โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Summarizer + tool result compressor + progressive aging - โ”‚ โ”œโ”€ summarizer.ts โ”€โ”€โ”€โ”€โ”€ Rule-based message summarization - โ”‚ โ”œโ”€ toolResultCompressor.ts โ”€โ”€ file/grep/shell/JSON/error compression - โ”‚ โ””โ”€ progressiveAging.ts โ”€โ”€โ”€โ”€ Older messages โ†’ shorter summaries - โ””โ”€ ultra.ts โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Heuristic token scoring + pruning - โ””โ”€ ultraHeuristic.ts โ”€ Stopword detection, score thresholds, force-preserve -``` - -### Configuration - -``` -Dashboard โ†’ Context & Cache โ†’ Caveman / RTK / Compression Combos -``` - -Or per-combo override: - -```json -{ - "comboOverrides": { - "my-coding-combo": "standard", - "my-cheap-combo": "ultra" - } -} -``` - -Auto-trigger: set `autoTriggerTokens` to automatically enable compression when a request exceeds a token threshold. - -Compression 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. - -> ๐Ÿชจ **Fun fact:** The standard/caveman mode is inspired by [Caveman](https://github.com/JuliusBrussee/caveman) โ€” 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/context payloads. - -๐Ÿ“– **Full compression documentation:** [`docs/COMPRESSION_GUIDE.md`](docs/COMPRESSION_GUIDE.md) โ€ข [`docs/RTK_COMPRESSION.md`](docs/RTK_COMPRESSION.md) โ€ข [`docs/COMPRESSION_ENGINES.md`](docs/COMPRESSION_ENGINES.md) โ€ข [`docs/COMPRESSION_RULES_FORMAT.md`](docs/COMPRESSION_RULES_FORMAT.md) โ€ข [`docs/COMPRESSION_LANGUAGE_PACKS.md`](docs/COMPRESSION_LANGUAGE_PACKS.md) - ---- - -## ๐ŸŽฏ What OmniRoute Solves - -> **Every developer using AI tools faces these problems daily.** OmniRoute solves them all. - -| # | Problem | OmniRoute Solution | -| --- | ---------------------------------------- | ----------------------------------------------------------------------------------------------- | -| ๐Ÿ’ธ | Subscription quota expires mid-coding | **Smart 4-Tier Fallback** โ€” auto-routes Subscription โ†’ API Key โ†’ Cheap โ†’ Free | -| ๐Ÿ”Œ | Each provider has a different API format | **Format Translation** โ€” unified endpoint translates OpenAI โ†” Claude โ†” Gemini โ†” Responses | -| ๐ŸŒ | AI providers block my country/region | **3-Level Proxy** โ€” global, per-provider, and per-key proxy with TLS fingerprint spoofing | -| ๐Ÿ†“ | Can't afford AI subscriptions | **11 Free Providers** โ€” Kiro, Qoder, Pollinations, LongCat, Cloudflare AI, NVIDIA NIM... | -| ๐Ÿ”’ | Gateway is exposed without protection | **API Key Management** โ€” scoping, rotation, IP filtering, rate limiting, prompt injection guard | -| ๐Ÿ›‘ | Provider went down, lost coding flow | **Circuit Breakers** โ€” auto-failover with cooldown, retry, anti-thundering herd | -| ๐Ÿ”ง | Configuring each CLI tool is tedious | **CLI Tools Dashboard** โ€” one-click setup for Claude Code, Codex, Cursor, OpenClaw, Kilo | -| ๐Ÿ”‘ | Managing OAuth tokens is hell | **Auto Token Refresh** โ€” OAuth PKCE for 8 providers, multi-account, LAN/remote fix | -| ๐Ÿ“Š | Don't know how much I'm spending | **Cost Analytics** โ€” per-token tracking, budget limits, usage stats per API key | -| ๐Ÿ› | Can't diagnose errors in AI calls | **Unified Logs** โ€” 4-tab dashboard (request, proxy, audit, console) + p50/p95/p99 telemetry | +> **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.** โœ…
-๐Ÿ“– See all 31 problems OmniRoute solves +๐Ÿ“– How it works โ€” pipeline, architecture & savings math -| # | Problem | Solution | -| --- | --------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| 11 | Deploying/maintaining is complex | npm global, Docker multi-arch, Electron, Termux โ€” deploy anywhere | -| 12 | Interface is English-only | 40+ languages with RTL support | -| 13 | Need more than chat (images, audio, video) | 10 multi-modal APIs: embeddings, images, video, music, TTS, STT, moderation, rerank, search, batch | -| 14 | No way to test/compare models | LLM Evals, Translator Playground, Chat Tester, Live Monitor | -| 15 | Need to scale without losing performance | Semantic cache, request dedup, rate limit detection, queue & pacing | -| 16 | Want to control model behavior globally | System prompt injection, thinking budget, wildcard routing | -| 17 | Need MCP tools as first-class features | 29 MCP tools, 3 transports (stdio/SSE/HTTP), 10 scopes, audit trail | -| 18 | Need A2A orchestration | JSON-RPC 2.0 + SSE streaming, task lifecycle, sync + stream paths | -| 19 | Need real MCP process health | Runtime heartbeat, PID tracking, UI status cards | -| 20 | Need auditable MCP execution | SQLite-backed audit with filters, pagination, stats | -| 21 | Need scoped MCP permissions | 10 granular scopes per integration | -| 22 | Need operational controls without redeploying | Combo switches, resilience tuning, breaker resets from dashboard | -| 23 | Need A2A task lifecycle visibility | Task listing/filtering, drill-down, cancellation | -| 24 | Need active stream metrics | Active stream counters, per-state counts, A2A dashboard cards | -| 25 | Need standard agent discovery | Agent Card at `/.well-known/agent.json` | -| 26 | Need protocol discoverability | Consolidated Endpoints page with Proxy, MCP, A2A, API tabs | -| 27 | Need E2E protocol validation | Real MCP SDK + A2A client flows in `test:protocols:e2e` | -| 28 | Need unified observability | Health + audit + telemetry across OpenAI, MCP, and A2A layers | -| 29 | Need one runtime for proxy + tools + agents | OpenAI proxy + MCP + A2A in one stack with shared auth/resilience | -| 30 | Need agentic workflows without glue-code | Unified endpoint, protocol UIs, production-ready foundations | -| 31 | Long sessions crash with context limits | Proactive context compression, structural integrity guards, multi-layer dropping | +
+ +``` +Client (10,000 tok) โ”€โ”€โ–ถ OmniRoute Compression (7 options) โ”€โ”€โ–ถ Provider (~1,080 tok, up to 95% saved) +``` + +Default stacked combo runs `RTK โ†’ Caveman`. When both act on the same tool/context payload, savings compound: + +```txt +combined = 1 โˆ’ (1 โˆ’ RTK) ร— (1 โˆ’ Caveman_input) +average = 1 โˆ’ (1 โˆ’ 0.80) ร— (1 โˆ’ 0.46) = 89.2% +range = 78.4 โ€“ 94.6% +``` + +Code blocks, URLs, JSON and structured data are **always protected** by the preservation engine. Auto-trigger compression by token threshold, or assign a compression pipeline per routing combo. + +๐Ÿ“– [`COMPRESSION_GUIDE.md`](docs/COMPRESSION_GUIDE.md) ยท [`RTK_COMPRESSION.md`](docs/RTK_COMPRESSION.md) ยท [`COMPRESSION_ENGINES.md`](docs/COMPRESSION_ENGINES.md)
-๐Ÿ“– **Deep dives:** [Resilience Guide](docs/RESILIENCE_GUIDE.md) โ€ข [Proxy Guide](docs/PROXY_GUIDE.md) โ€ข [Setup Guide](docs/SETUP_GUIDE.md) โ€ข [Compression Guide](docs/COMPRESSION_GUIDE.md) - --- -## ๐Ÿ†“ Start Free โ€” Zero Configuration Cost - -> Setup AI coding in minutes at **$0/month**. Connect these free accounts and use the built-in **Free Stack** combo. - -| Step | Action | Providers Unlocked | -| ---- | -------------------------------------------------- | ------------------------------------------------------------------ | -| 1 | Connect **Kiro** (AWS Builder ID OAuth) | Claude Sonnet 4.5, Haiku 4.5 โ€” **unlimited** | -| 2 | Connect **Qoder** (Google OAuth) | kimi-k2-thinking, qwen3-coder-plus, deepseek-r1... โ€” **unlimited** | -| 3 | Connect **Qwen** (Device Code) | qwen3-coder-plus, qwen3-coder-flash... โ€” **unlimited** | -| 4 | Connect **Gemini CLI** (Google OAuth) | gemini-3-flash, gemini-2.5-pro โ€” **180K/mo free** | -| 5 | `/dashboard/combos` โ†’ **Free Stack ($0)** template | Round-robin all free providers automatically | - -**Point any IDE/CLI to:** `http://localhost:20128/v1` ยท API Key: `any-string` ยท Done. - -> **Optional extra coverage (also free):** Groq API key (30 RPM free), NVIDIA NIM (40 RPM free, 70+ models), Cerebras (1M tok/day), LongCat API key (50M tokens/day!), Cloudflare Workers AI (10K Neurons/day, 50+ models). - ## โšก Quick Start -### 1) Install and run +**1) Install & run** ```bash npm install -g omniroute omniroute ``` -Dashboard opens at `http://localhost:20128` ยท API at `http://localhost:20128/v1`. +Dashboard at `http://localhost:20128` ยท API at `http://localhost:20128/v1`. -### 2) Connect providers +**2) Connect a FREE provider (no signup)** -1. Dashboard โ†’ **Providers** โ†’ connect at least one provider (OAuth or API key) -2. Dashboard โ†’ **Endpoints** โ†’ create an API key -3. Dashboard โ†’ **Combos** โ†’ set your fallback chain (optional) +Dashboard โ†’ **Providers** โ†’ connect **Kiro AI** (free Claude unlimited) or **OpenCode Free** (no auth) โ†’ done. -### 3) Point your coding tool +**3) Point your coding tool** ```txt Base URL: http://localhost:20128/v1 -API Key: [copy from Endpoint page] -Model: if/kimi-k2-thinking (or any provider/model) +API Key: [copy from Dashboard โ†’ Endpoints] +Model: auto (zero-config smart routing โ€” or any provider/model) ``` -Works with Claude Code, Codex CLI, Gemini CLI, Cursor, Cline, OpenClaw, OpenCode, and any OpenAI-compatible tool. - -
-๐Ÿ“ฆ More install methods (Docker, source, Arch, Void, pnpm) - -**Docker:** +**4) Verify it's working** ```bash -docker run -d --name omniroute --restart unless-stopped -p 20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest +curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` -**From source:** +You should see your connected models listed. ๐ŸŽ‰ That's it โ€” start coding, and OmniRoute auto-routes & falls back for you. + +
+๐Ÿ“ฆ More install methods โ€” Docker, source, pnpm, Arch + +
+ +**๐Ÿณ Docker** + +```bash +docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ + -p 20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest +``` + +**๐Ÿ› ๏ธ From source** ```bash cp .env.example .env && npm install -PORT=20128 DASHBOARD_PORT=20129 NEXT_PUBLIC_BASE_URL=http://localhost:20129 npm run dev +PORT=20128 npm run dev ``` -**pnpm:** `pnpm install -g omniroute && pnpm approve-builds -g && omniroute` - -**Arch Linux (AUR):** `yay -S omniroute-bin && systemctl --user enable --now omniroute.service` - -**MCP:** `omniroute --mcp` (stdio transport) - -**CLI options:** `omniroute setup`, `omniroute doctor`, `omniroute providers available`, `omniroute providers list`, `omniroute --port 3000`, `omniroute --no-open`, `omniroute --help` - -**Split-port mode:** `PORT=20128 DASHBOARD_PORT=20129 omniroute` - -**Uninstall:** `npm run uninstall` (keeps data) or `npm run uninstall:full` (removes everything) - -๐Ÿ“– Full details: [Setup Guide](#-setup-guide) ยท [Docker](#-docker) ยท [Void Linux template](#-quick-start) - -
- ---- - -## ๐Ÿณ Docker - -OmniRoute is available as a public Docker image on [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). - -**Quick run:** +**๐Ÿ“ฆ pnpm** ```bash -docker run -d \ - --name omniroute \ - --restart unless-stopped \ - --stop-timeout 40 \ - -p 20128:20128 \ - -v omniroute-data:/app/data \ - diegosouzapw/omniroute:latest +pnpm install -g omniroute && pnpm approve-builds -g && omniroute ``` -**With environment file:** +**๐Ÿง Arch Linux (AUR)** ```bash -# Copy and edit .env first -cp .env.example .env - -docker run -d \ - --name omniroute \ - --restart unless-stopped \ - --stop-timeout 40 \ - --env-file .env \ - -p 20128:20128 \ - -v omniroute-data:/app/data \ - diegosouzapw/omniroute:latest +yay -S omniroute-bin && systemctl --user enable --now omniroute.service ``` -**Using Docker Compose:** - -```bash -# Base profile (no CLI tools) -docker compose --profile base up -d - -# CLI profile (Claude Code, Codex, OpenClaw built-in) -docker compose --profile cli up -d -``` - -Dashboard 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 `/v1` endpoint, and shows the generated `https://*.trycloudflare.com/v1` 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. - -Notes: - -- Quick Tunnel URLs are temporary and change after every restart. -- Quick Tunnels are not auto-restored after an OmniRoute or container restart. Re-enable them from the dashboard when needed. -- Managed install currently supports Linux, macOS, and Windows on `x64` / `arm64`. -- Managed Quick Tunnels default to HTTP/2 transport to avoid noisy QUIC UDP buffer warnings in constrained container environments. Set `CLOUDFLARED_PROTOCOL=quic` or `auto` if you want a different transport. -- Docker images bundle system CA roots and pass them to managed `cloudflared`, which avoids TLS trust failures when the tunnel bootstraps inside the container. -- SQLite runs in WAL mode. `docker stop` should be allowed to finish so OmniRoute can checkpoint the latest changes back into `storage.sqlite`. -- 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. -- Set `CLOUDFLARED_BIN=/absolute/path/to/cloudflared` if you want OmniRoute to use an existing binary instead of downloading one. - -**Using Docker Compose with Caddy (HTTPS Auto-TLS):** - -OmniRoute can be securely exposed using Caddy's automatic SSL provisioning. Ensure your domain's DNS A record points to your server's IP. - -```yaml -services: - omniroute: - image: diegosouzapw/omniroute:latest - container_name: omniroute - restart: unless-stopped - volumes: - - omniroute-data:/app/data - environment: - - PORT=20128 - - NEXT_PUBLIC_BASE_URL=https://your-domain.com - - caddy: - image: caddy:latest - container_name: caddy - restart: unless-stopped - ports: - - "80:80" - - "443:443" - command: caddy reverse-proxy --from https://your-domain.com --to http://omniroute:20128 - -volumes: - omniroute-data: -``` - -| Image | Tag | Size | Description | -| ------------------------ | -------- | ------ | --------------------- | -| `diegosouzapw/omniroute` | `latest` | ~250MB | Latest stable release | -| `diegosouzapw/omniroute` | `3.7.8` | ~250MB | Current version | - -๐Ÿ“– **Full Docker documentation:** [`docs/DOCKER_GUIDE.md`](docs/DOCKER_GUIDE.md) โ€” Compose profiles, Caddy HTTPS, Cloudflare tunnels, and more. - ---- - -## ๐Ÿ“ฑ Multi-Platform โ€” Run Anywhere - -> OmniRoute runs on **Web**, **Desktop (Electron)**, **Android (Termux)**, and as a **Progressive Web App (PWA)**. - -| Platform | Install | Highlights | -| -------------- | -------------------------------------------- | -------------------------------------------------------------------------- | -| ๐Ÿ–ฅ๏ธ **Desktop** | `npm run electron:build` | Native window, system tray, auto-start, offline mode โ€” Windows/macOS/Linux | -| ๐Ÿ“ฑ **Android** | `pkg install nodejs-lts && npx -y omniroute` | ARM native, no root, 24/7 via Termux:Boot โ€” your phone is an AI server | -| ๐Ÿ“ฒ **PWA** | "Add to Home Screen" in browser | Fullscreen, offline page, service worker caching โ€” Android/iOS/Desktop | - -
-๐Ÿ–ฅ๏ธ Desktop App details - -- Native Electron app with system tray, auto-start, native notifications -- One-click install: NSIS (Windows), DMG (macOS), AppImage (Linux) -- Dev: `npm run electron:dev` ยท Build: `npm run electron:build` -- ๐Ÿ“– Full docs: [`electron/README.md`](electron/README.md) - -
- -
-๐Ÿ“ฑ Android (Termux) details - -```bash -pkg update && pkg install nodejs-lts python build-essential git -npx -y omniroute@latest -``` - -Access from any device on the same network: `http://PHONE_IP:20128/v1` - -- ๐Ÿ“– Full guide: [`docs/TERMUX_GUIDE.md`](docs/TERMUX_GUIDE.md) - -
- -
-๐Ÿ“ฒ PWA details - -- **Android (Chrome):** โ‹ฎ โ†’ "Add to Home screen" -- **iOS (Safari):** Share โ†’ "Add to Home Screen" -- **Desktop (Chrome/Edge):** Install icon in address bar -- ๐Ÿ“– Full docs: [`docs/PWA_GUIDE.md`](docs/PWA_GUIDE.md) +๐Ÿ“– [Docker Guide](docs/DOCKER_GUIDE.md) โ€” Compose profiles, Caddy HTTPS, Cloudflare tunnels.
--- -## ๐ŸŒ Bypass Geographic Blocks โ€” Use AI From Any Country +## ๐ŸŽฌ OmniRoute in Action -> ๐Ÿ‡ท๐Ÿ‡บ ๐Ÿ‡จ๐Ÿ‡ณ ๐Ÿ‡ฎ๐Ÿ‡ท ๐Ÿ‡จ๐Ÿ‡บ ๐Ÿ‡น๐Ÿ‡ท **In Russia, China, Iran, or any blocked region?** OmniRoute's 3-level proxy system solves this completely. +
+ + + + + + +
+ Guia em Portuguรชs
+ ๐Ÿ‡ง๐Ÿ‡ท Portuguรชs
Guia completo +
+ English Guide
+ ๐Ÿ‡บ๐Ÿ‡ธ English
Complete walkthrough +
+ ะ ัƒะบะพะฒะพะดัั‚ะฒะพ
+ ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน
ะŸะพะปะฝะพะต ั€ัƒะบะพะฒะพะดัั‚ะฒะพ +
+
-| Level | Badge | Configure In | Use Case | -| ------------------ | ----- | ------------------ | ------------------------------- | -| **Global** | ๐ŸŸข | Settings โ†’ Proxy | All traffic through one proxy | -| **Per-Provider** | ๐ŸŸก | Provider โ†’ Proxy | Only specific providers proxied | -| **Per-Connection** | ๐Ÿ”ต | Connection โ†’ Proxy | Each API key uses its own proxy | - -**What gets proxied:** API requests โœ… โ€ข OAuth flows โœ… โ€ข Connection tests โœ… โ€ข Token refresh โœ… โ€ข Model sync โœ… - -**Protocols:** HTTP/HTTPS, SOCKS5 (`ENABLE_SOCKS5_PROXY=true`), Authenticated proxies - -### ๐Ÿ†“ 1proxy โ€” Free Proxy Marketplace - -> Contributed by [@oyi77](https://github.com/oyi77) โ€” [#1847](https://github.com/diegosouzapw/OmniRoute/pull/1847) - -No proxy? Use the built-in **1proxy** integration for **hundreds of free, validated proxies** worldwide: - -- One-click sync (up to 500 proxies) โ€ข Quality scores (0-100) โ€ข Country filter โ€ข Auto-rotation (quality/random/sequential) โ€ข Auto-degradation โ€ข Circuit breaker - -### Anti-Detection - -- ๐Ÿ”’ **TLS Fingerprint Spoofing** โ€” browser-like TLS via `wreq-js` -- ๐Ÿ” **CLI Fingerprint Matching** โ€” matches native CLI binary signatures -- ๐Ÿ  **Proxy IP Preservation** โ€” stealth + IP masking simultaneously - -๐Ÿ“– **Full proxy documentation:** [`docs/PROXY_GUIDE.md`](docs/PROXY_GUIDE.md) +> ๐ŸŽฌ **Made a video about OmniRoute?** Open an [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) or [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) with the link โ€” we'll feature it here. --- ---- - -## ๐Ÿ’ฐ Pricing at a Glance - -| Tier | Provider | Cost | Quota Reset | Best For | -| ------------------- | --------------------------- | ------------------------- | ---------------- | --------------------------------- | -| **๐Ÿ’ณ SUBSCRIPTION** | Claude Code (Pro) | $20/mo | 5h + weekly | Already subscribed | -| | Codex (Plus/Pro) | $20-200/mo | 5h + weekly | OpenAI users | -| | Gemini CLI | **FREE** | 180K/mo + 1K/day | Everyone! | -| | GitHub Copilot | $10-19/mo | Monthly | GitHub users | -| **๐Ÿ”‘ API KEY** | NVIDIA NIM | **FREE** (dev forever) | ~40 RPM | 70+ open models | -| | Cerebras | **FREE** (1M tok/day) | 60K TPM / 30 RPM | World's fastest | -| | Groq | **FREE** (30 RPM) | 14.4K RPD | Ultra-fast Llama/Gemma | -| | DeepSeek V3.2 | $0.27/$1.10 per 1M | None | Best price/quality reasoning | -| | xAI Grok-4 Fast | **$0.20/$0.50 per 1M** ๐Ÿ†• | None | Fastest + tool calling, ultralow | -| | xAI Grok-4 (standard) | $0.20/$1.50 per 1M ๐Ÿ†• | None | Reasoning flagship from xAI | -| | Mistral | Free trial + paid | Rate limited | European AI | -| | OpenRouter | Pay-per-use | None | 100+ models aggr. | -| | AgentRouter ๐Ÿ†• | Pay-per-use | None | $200 free credits at signup | -| **๐Ÿ’ฐ CHEAP** | GLM-5 (via Z.AI) ๐Ÿ†• | $0.5/1M | Daily 10AM | 128K output, newest flagship | -| | GLM-4.7 | $0.6/1M | Daily 10AM | Budget backup | -| | MiniMax M2.5 ๐Ÿ†• | $0.3/1M input | 5-hour rolling | Reasoning + agentic tasks | -| | MiniMax M2.1 | $0.2/1M | 5-hour rolling | Cheapest option | -| | Kimi K2.5 (Moonshot API) ๐Ÿ†• | Pay-per-use | None | Direct Moonshot API access | -| | Kimi K2 | $9/mo flat | 10M tokens/mo | Predictable cost | -| **๐Ÿ†“ FREE** | Qoder | **$0** | Unlimited | 5 models unlimited | -| | Qwen | **$0** | Unlimited | 4 models unlimited | -| | Kiro | **$0** | Unlimited | Claude Sonnet/Haiku (AWS Builder) | -| | LongCat Flash-Lite ๐Ÿ†• | **$0** (50M tok/day ๐Ÿ”ฅ) | 1 RPS | Largest free quota on Earth | -| | Pollinations AI ๐Ÿ†• | **$0** (no key needed) | 1 req/15s | GPT-5, Claude, DeepSeek, Llama 4 | -| | Cloudflare Workers AI ๐Ÿ†• | **$0** (10K Neurons/day) | ~150 resp/day | 50+ models, global edge | -| | Scaleway AI ๐Ÿ†• | **$0** (1M tokens total) | Rate limited | EU/GDPR, Qwen3 235B, Llama 70B | - -> ๐Ÿ†• **New models added (Mar 2026):** Grok-4 Fast family at $0.20/$0.50/M (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. - -**๐Ÿ’ก See the full [$0 Free Stack (11 providers)](#-free-models--11-providers-0-forever) below.** - -> ๐Ÿ’ก **Understanding Dashboard Costs:** -> -> The "cost" displayed in the Usage Analytics page is **for tracking and comparison purposes only**. -> OmniRoute itself **never charges you anything** โ€” it's free, open-source software running on your machine. -> If your dashboard shows "$290 total cost" while using free models, that's how much you **saved** compared to paid API pricing. -> Think of it as a **savings tracker**, not a bill. - ---- - -## ๐Ÿ†“ Free Models โ€” 11 Providers, $0 Forever - -> Combine all free providers into one unbreakable combo โ€” OmniRoute auto-routes between them when quota runs out. - -| Provider | Prefix | Free Models | Quota | -| ----------------- | ----------- | ------------------------------------------------------------- | -------------------- | -| **Kiro** | `kr/` | Claude Sonnet 4.5, Haiku 4.5, Opus 4.6 | 50 CREDITS per month | -| **Qoder** | `if/` | kimi-k2-thinking, qwen3-coder-plus, deepseek-r1, minimax-m2.1 | โ™พ๏ธ Unlimited | -| **Qwen** | `qw/` | qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next | โ™พ๏ธ Unlimited | -| **Pollinations** | `pol/` | GPT-5, Claude, Gemini, DeepSeek, Llama 4, Mistral | No key needed | -| **LongCat** | `lc/` | LongCat-Flash-Lite | 50M tokens/day ๐Ÿ”ฅ | -| **Gemini CLI** | `gc/` | gemini-3-flash, gemini-2.5-pro | 180K tok/mo | -| **Cloudflare AI** | `cf/` | 50+ models (Llama, Gemma, Mistral, Whisper) | 10K Neurons/day | -| **Groq** | `groq/` | Llama 3.3 70B, Qwen3 32B, Kimi K2 | 14.4K RPD | -| **NVIDIA NIM** | `nvidia/` | 129 models (DeepSeek, Llama, GLM, Kimi) | ~40 RPM | -| **Cerebras** | `cerebras/` | Qwen3 235B, GPT-OSS 120B, Llama 3.1 | 1M tok/day | -| **Scaleway** | `scw/` | Qwen3 235B, Llama 70B, DeepSeek V3 | 1M tokens (EU) | +## ๐Ÿ“š Explore More
-๐Ÿ“– 25+ more free providers โ€” Groq, Cerebras, Mistral, GitHub Models, OpenRouter, and more +๐Ÿ’ฐ Pricing at a glance & the $0 Free Stack (11 providers) -**Also free (API Key required):** -Mistral (1B tok/month) ยท OpenRouter (35+ `:free` models) ยท GitHub Models (GPT-5, 45+ models) ยท -Cohere (1K calls/month) ยท Z.AI/GLM (permanent free Flash models) ยท SiliconFlow (1K RPM, 50K TPM) ยท -Kilo Code (~200 req/hr auto-router) ยท HuggingFace ($0.10/mo credits) ยท Ollama Cloud (400+ models) ยท -LLM7.io (30+ models) ยท Kluster AI ยท IBM watsonx (300K tok/month) ยท OpenCode Zen ยท Vercel AI Gateway ($5/mo) +
-**Trial credits (one-time):** -Baseten ($30) ยท NLP Cloud ($15) ยท AI21 ($10) ยท Upstage ($10) ยท SambaNova ($5) ยท Modal ($5/mo) ยท -Fireworks ($1) ยท Nebius ($1) ยท Inference.net ($1 + $25 survey) ยท Hyperbolic ($1) ยท Novita ($0.50) +| Tier | Example | Cost | +| --------------------------- | ---------------------------------------- | ---------- | +| ๐Ÿ’ณ **Subscription** | Claude Code Pro / Codex / Copilot | $10โ€“200/mo | +| ๐Ÿ”‘ **API Key (free tiers)** | NVIDIA NIM, Cerebras, Groq | **FREE** | +| ๐Ÿ’ฐ **Cheap** | GLM-5 $0.5/1M ยท MiniMax M2.5 $0.3/1M | pennies | +| ๐Ÿ†“ **Free Forever** | Kiro, Qoder, Qwen, Pollinations, LongCat | **$0** | -**China-based (free tiers):** -ModelScope ยท Tencent Hunyuan ยท Volcengine ยท ChatAnywhere ยท InternAI ยท Bigmodel +**The $0 Free Stack โ€” combine into one unbreakable combo:** -**Combined capacity: ~31,000+ RPD ยท ~32B+ tokens/month ยท 500+ models ยท $0** +| Provider | Prefix | Free models | Quota | +| ----------------- | ----------- | ----------------------------------------------- | ----------------- | +| **Kiro** | `kr/` | Claude Sonnet 4.5, Haiku 4.5, Opus 4.6 | 50 credits/mo | +| **Qoder** | `if/` | kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 | โ™พ๏ธ Unlimited | +| **Qwen** | `qw/` | qwen3-coder-plus/flash/next | โ™พ๏ธ Unlimited | +| **Pollinations** | `pol/` | GPT-5, Claude, Gemini, DeepSeek, Llama 4 | No key needed | +| **LongCat** | `lc/` | LongCat-Flash-Lite | 50M tokens/day ๐Ÿ”ฅ | +| **Cloudflare AI** | `cf/` | 50+ models | 10K neurons/day | +| **NVIDIA NIM** | `nvidia/` | 129 models | ~40 RPM | +| **Cerebras** | `cerebras/` | Qwen3 235B, GPT-OSS 120B | 1M tok/day | + +> ๐Ÿ’ก The dashboard "cost" is a **savings tracker**, not a bill โ€” OmniRoute never charges you. A "$290 total cost" using free models means **$290 saved**. + +๐Ÿ“– Complete free directory โ†’ [`docs/FREE_TIERS.md`](docs/FREE_TIERS.md) โ€” 25+ providers, quotas, base URLs.
-๐Ÿ“– **Complete free provider directory:** [`docs/FREE_TIERS.md`](docs/FREE_TIERS.md) โ€” 25+ providers, quotas, base URLs, model tables, and OmniRoute combo setup. +
+๐ŸŽฏ Use Cases โ€” ready-made combo playbooks ---- +
-## ๐ŸŽ™๏ธ Free Transcription Combo - -> Transcribe any audio/video for **$0** โ€” Deepgram leads with $200 free, AssemblyAI $50 fallback, Groq Whisper as unlimited emergency backup. - -| Provider | Free Credits | Best Model | Rate Limit | -| ----------------- | ---------------------- | -------------------------------------------- | ---------------------------- | -| ๐ŸŸข **Deepgram** | **$200 free** (signup) | `nova-3` โ€” best accuracy, 30+ languages | No RPM limit on free credits | -| ๐Ÿ”ต **AssemblyAI** | **$50 free** (signup) | `universal-3-pro` โ€” chapters, sentiment, PII | No RPM limit on free credits | -| ๐Ÿ”ด **Groq** | **Free forever** | `whisper-large-v3` โ€” OpenAI Whisper | 30 RPM (rate limited) | - ---- - -**Suggested combo in `/dashboard/combos`:** +**$0 forever:** ``` -Name: free-transcription -Strategy: Priority -Nodes: - [1] deepgram/nova-3 โ†’ uses $200 free first - [2] assemblyai/universal-3-pro โ†’ fallback when Deepgram credits run out - [3] groq/whisper-large-v3 โ†’ free forever, emergency fallback +1. kr/claude-sonnet-4.5 (Kiro โ€” unlimited) +2. if/kimi-k2-thinking (Qoder โ€” unlimited) +3. pol/gpt-5 (Pollinations โ€” no key) +4. lc/longcat-flash-lite (50M tok/day backup) +Compression: aggressive (~50%) โ†’ double your free quota ยท Cost: $0/mo ``` -Then in `/dashboard/media` โ†’ **Transcription** tab: upload any audio or video file โ†’ select your combo endpoint โ†’ get transcription in supported formats. +**24/7 no interruptions:** chain 2 subscriptions โ†’ cheap โ†’ free for 5 layers of fallback. +**Blocked region:** free providers + global/per-provider proxy โ†’ access AI from any country. +**Max savings:** subscription + cheap backup + `ultra` compression (~75%) โ†’ ~$150โ€“300/mo saved for heavy users. -## ๐Ÿ’ก Key Features - -> **4,690+ automated tests** across 517 test files. Not just a relay โ€” a full operational platform. - -| Feature | Why It Matters | -| ---------------------------------------------------------------------------------------------------- | -------------------------------- | -| ๐Ÿง  **Smart 4-Tier Fallback** โ€” Subscription โ†’ API โ†’ Cheap โ†’ Free | Never stop coding, zero downtime | -| ๐Ÿ”„ **Format Translation** โ€” OpenAI โ†” Claude โ†” Gemini โ†” Responses API | Works with ANY CLI tool | -| ๐Ÿ—œ๏ธ **Prompt Compression** โ€” 7 options including Caveman, RTK, and stacked pipelines | Save 15-95% eligible tokens | -| ๐Ÿค– **MCP Server** โ€” 37 tools, 3 transports (stdio/SSE/HTTP), 10 scopes | IDE/agent tool integration | -| ๐Ÿ›ก๏ธ **Resilience Engine** โ€” circuit breakers, cooldowns, TLS spoofing, anti-thundering herd | Auto-recovery from any failure | -| ๐ŸŽต **10 Multi-Modal APIs** โ€” chat, embed, images, video, music, TTS, STT, moderation, rerank, search | One endpoint for everything | -| ๐ŸŒ **3-Level Proxy** โ€” global, per-provider, per-key + 1proxy free marketplace | Access AI from any country | -| ๐Ÿ“Š **Full Observability** โ€” unified logs, p50/p95/p99 telemetry, cost tracking, budget controls | Know exactly what's happening | +
-๐Ÿ“‹ Complete feature list โ€” 30+ capabilities +๐ŸŒ Bypass geo-blocks โ€” 3-level proxy + stealth -**Routing & Intelligence** +
-- 13 balancing strategies (priority, weighted, round-robin, P2C, cost-optimized, context-relay...) -- Task-aware smart routing (coding/vision/analysis) ยท Context relay session handoffs -- Thinking budget controls (passthrough/auto/custom) ยท Wildcard routing ยท System prompt injection +๐Ÿ‡ท๐Ÿ‡บ ๐Ÿ‡จ๐Ÿ‡ณ ๐Ÿ‡ฎ๐Ÿ‡ท ๐Ÿ‡จ๐Ÿ‡บ ๐Ÿ‡น๐Ÿ‡ท In a blocked region? OmniRoute's **3-level proxy** (Global / Per-Provider / Per-Connection) proxies API requests, OAuth flows, connection tests, token refresh & model sync. -**Translation & Compatibility** +- **Protocols:** HTTP/HTTPS, SOCKS5, authenticated proxies +- **๐Ÿ†“ 1proxy marketplace** โ€” hundreds of free validated proxies, quality scores, auto-rotation +- **Anti-detection** โ€” TLS fingerprint spoofing (`wreq-js`), CLI fingerprint matching, proxy IP preservation -- Auto token refresh (OAuth PKCE for 8 providers) ยท Multi-account round-robin -- Responses API โ€” full `/v1/responses` for Codex ยท Batch API with Files API -- OpenAPI 3.0 live spec + Try-It UI +๐Ÿ“– [`docs/PROXY_GUIDE.md`](docs/PROXY_GUIDE.md) -**Protocols** +
-- A2A Server โ€” JSON-RPC 2.0, SSE streaming, task lifecycle, skills -- ACP โ€” CLI agent discovery (14 agents + custom) +
+โœจ Full feature list โ€” 30+ capabilities (memory, evals, observability) -**Platform** +
-- Desktop (Electron) ยท Android (Termux) ยท PWA ยท Docker (AMD64 + ARM64) -- Cloudflare / Tailscale / ngrok tunnels ยท 40+ languages with RTL -- Semantic + signature cache (two-tier) ยท Request idempotency + deduplication +**Routing:** 14 strategies ยท task-aware smart routing ยท thinking budget controls ยท wildcard routing ยท system prompt injection. +**Compatibility:** OpenAI โ†” Claude โ†” Gemini โ†” Responses API ยท auto OAuth refresh (PKCE, 8 providers) ยท multi-account round-robin ยท Batch + Files API ยท live OpenAPI 3.0. +**Protocols:** MCP (37 tools, 3 transports, 13 scopes) ยท A2A (JSON-RPC 2.0, SSE, skills) ยท ACP ยท cloud agents (Codex, Devin, Jules). +**Quality & Ops:** built-in **Evals** (golden-set: exact/contains/regex/custom) ยท guardrails (PII, injection, vision) ยท health dashboard ยท p50/p95/p99 telemetry ยท webhooks ยท compliance audit. +**AI Agent Skills:** drop-in markdown manifests โ€” point any agent at `skills/omniroute/SKILL.md`. 10 skills available. -**Observability** +๐Ÿ“– [MCP Server](open-sse/mcp-server/README.md) ยท [A2A Server](src/lib/a2a/README.md) ยท [Resilience Guide](docs/architecture/RESILIENCE_GUIDE.md) ยท [Features Gallery](docs/FEATURES.md) -- Health dashboard โ€” uptime, breakers, cache, lockouts -- Evaluation framework โ€” golden set testing ยท Webhooks ยท Compliance audit +
-**v3.6+ Highlights:** -V1 WebSocket Bridge ยท Sync Tokens & Config Bundle ยท GLM Thinking (glmt) ยท Hybrid Token Counting ยท -Safe Outbound Fetch ยท Wait For Cooldown ยท Runtime Env Validation ยท Vision Bridge ยท -Grok-4 Fast ยท GLM-5 via Z.AI ยท MiniMax M2.5 ยท toolCalling flag ยท -Multilingual Intent Detection ยท Benchmark-Driven Fallbacks ยท Request Deduplication +
+๐Ÿ“– Setup, env vars & FAQ -**Architecture Examples:** +
-```txt -Combo: "my-coding-stack" Format Translation: - 1. cc/claude-opus-4-7 CLI โ†’ OpenAI format - 2. nvidia/llama-3.3-70b OmniRoute โ†’ translates - 3. glm/glm-4.7 Provider โ†’ native format - 4. if/kimi-k2-thinking -``` +| Env var | Default | Purpose | +| ----------------- | -------------- | -------------------------------- | +| `PORT` | `20128` | API + dashboard port | +| `REQUIRE_API_KEY` | `false` | Require API key for all requests | +| `DATA_DIR` | `~/.omniroute` | Database & config storage | -๐Ÿ“– [MCP Server README](open-sse/mcp-server/README.md) ยท [A2A Server README](src/lib/a2a/README.md) ยท [Resilience Guide](docs/RESILIENCE_GUIDE.md) ยท [Features Gallery](docs/FEATURES.md) +**Will I be charged by OmniRoute?** No โ€” it's free, open-source software on your machine. You only pay paid providers directly. OmniRoute has no billing system. +**Are FREE providers really unlimited?** Yes โ€” Kiro, Qoder, Pollinations, LongCat, Cloudflare. No catch. +**Will compression hurt quality?** No โ€” it only compresses the **input**; code, URLs, JSON are always protected. +**Does it work where AI is blocked?** Yes โ€” 3-level proxy + 1proxy marketplace reach all 177 providers. + +๐Ÿ“– [User Guide](docs/USER_GUIDE.md) ยท [API Reference](docs/API_REFERENCE.md) ยท [Environment Config](docs/ENVIRONMENT.md) + +
+ +
+๐Ÿ› Troubleshooting + +
+ +| Problem | Quick fix | +| ----------------------------------------- | ------------------------------------------------------------- | +| "Language model did not provide messages" | Provider quota exhausted โ†’ use a combo fallback | +| Rate limiting (429) | Add fallback: `cc/claude โ†’ glm/glm-4.7 โ†’ if/kimi-k2-thinking` | +| OAuth token expired | Auto-refreshed; if stuck, delete + re-auth in Providers | +| `unsupported_country_region_territory` | Configure proxy in Settings โ†’ Proxy | +| Docker SQLite locks | Use `--stop-timeout 40` for clean WAL checkpoint | +| Node runtime errors | Use Node `>=20.20.2 <21`, `>=22.22.2 <23`, or `>=24 <25` | + +๐Ÿ› **Reporting a bug?** Run `npm run system-info` and attach `system-info.txt`. ๐Ÿ“– [`docs/TROUBLESHOOTING.md`](docs/TROUBLESHOOTING.md) + +
+ +
+๐Ÿ“ธ Dashboard screenshots + +
+ +| Page | Screenshot | Page | Screenshot | +| ---------- | ------------------------------------------------- | ---------- | --------------------------------------------- | +| Providers | ![Providers](docs/screenshots/01-providers.png) | Combos | ![Combos](docs/screenshots/02-combos.png) | +| Analytics | ![Analytics](docs/screenshots/03-analytics.png) | Health | ![Health](docs/screenshots/04-health.png) | +| Translator | ![Translator](docs/screenshots/05-translator.png) | Settings | ![Settings](docs/screenshots/06-settings.png) | +| CLI Tools | ![CLI Tools](docs/screenshots/07-cli-tools.png) | Usage Logs | ![Usage](docs/screenshots/08-usage.png) |
--- -## ๐ŸŽฏ Use Cases โ€” Ready-Made Combo Playbooks +## ๐Ÿ“ง Support & Community -### Case 0: "I want zero-config, auto-routing NOW" +> ๐Ÿ’ฌ **Join our WhatsApp groups** โ€” get help, share tips, stay updated: +> ยท [**๐ŸŒ International**](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) ยท [**๐Ÿ‡ง๐Ÿ‡ท Portuguรชs**](https://chat.whatsapp.com/CeGCxdFzqBe5Uki288wOvf) -**Problem:** Don't want to create combos manually. Just want AI routing to work immediately. - -```bash -# No combo creation needed! Use auto/ prefix directly: -model: "auto" # Default LKGP routing across all connected providers -model: "auto/coding" # Quality-first weights for code generation -model: "auto/fast" # Low-latency routing (fastest provider first) -model: "auto/cheap" # Cost-optimized (cheapest per token) -model: "auto/offline" # High availability (most quota available) -model: "auto/smart" # Best discovery (10% exploration rate) -``` - -**How it works:** - -1. Add providers in Dashboard โ†’ Providers (OAuth or API key) -2. Use `auto/` prefix in any AI tool โ€” **no combo creation needed** -3. OmniRoute dynamically builds a virtual combo from your active connections -4. Routes using LKGP (Last Known Good Provider) + 6-factor scoring -5. Session stickiness ensures consistent provider selection - -**Dashboard indicator:** A blue banner at the top shows "Auto-Routing Active" with a link to `/dashboard/combos` for configuration. - -**Monthly cost:** $0 (uses your existing free providers) or whatever your connected providers cost +- ๐ŸŒ **Website**: [omniroute.online](https://omniroute.online) +- ๐Ÿ™ **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) +- ๐Ÿ› **Issues**: [report a bug](https://github.com/diegosouzapw/OmniRoute/issues) (attach `npm run system-info` output) +- ๐Ÿค **Contributing**: see [CONTRIBUTING.md](CONTRIBUTING.md) or pick a `good first issue` --- -### Case 1: "I have a Claude Pro subscription" - -**Problem:** Quota expires unused, rate limits during heavy coding sessions. - -``` -Combo: "maximize-claude" - 1. cc/claude-opus-4-7 (use subscription fully) - 2. glm/glm-5.1 (cheap backup when quota out โ€” $0.5/1M) - 3. kr/claude-sonnet-4.5 (free emergency fallback via Kiro) - -Compression: standard (caveman) โ€” saves 30% tokens = stretch quota further -Monthly cost: $20 (subscription) + ~$3 (backup) = $23 total -vs. $20 + hitting limits + lost productivity = frustration -``` - -### Case 2: "I want $0 forever" - -**Problem:** Can't afford subscriptions, need reliable AI for coding. - -``` -Combo: "free-forever" - 1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited via Kiro) - 2. if/kimi-k2-thinking (reasoning model free via Qoder) - 3. pol/gpt-5 (GPT-5 free via Pollinations โ€” no key) - 4. lc/longcat-flash-lite (50M tokens/day free backup) - -Compression: aggressive โ€” saves 50% tokens = double your free quota -Monthly cost: $0 -Quality: Production-ready models + 50% token savings -``` - -### Case 3: "I need 24/7 coding, no interruptions" - -**Problem:** Deadlines, can't afford any downtime. - -``` -Combo: "always-on" - 1. cc/claude-opus-4-7 (best quality โ€” subscription) - 2. cx/gpt-5.5 (second subscription โ€” OpenAI) - 3. glm/glm-5.1 (cheap, resets daily โ€” $0.5/1M) - 4. minimax/MiniMax-M2.5 (cheapest paid โ€” $0.3/1M) - 5. kr/claude-sonnet-4.5 (free unlimited โ€” never fails) - -Compression: lite โ€” saves 15% tokens passively, zero risk -Result: 5 layers of fallback = zero downtime -Monthly cost: $20-200 (subscriptions) + $5-10 (backup) -``` - -### Case 4: "I'm in a blocked region (Russia, China, Iran...)" - -**Problem:** AI providers block my country, VPNs are slow. - -``` -Combo: "unblocked-ai" - 1. kr/claude-sonnet-4.5 (free via Kiro + proxy) - 2. pol/deepseek-r1 (Pollinations โ€” no geo-block) - 3. groq/llama-3.3-70b (Groq + proxy) - -Proxy: Global proxy set in Settings โ†’ or per-provider proxy override -Result: Access ALL providers from ANY country -Monthly cost: $0 (free providers) + $0 (1proxy free marketplace) -``` - -### Case 5: "I want maximum token savings" - -**Problem:** Token costs are eating my budget, need to squeeze every token. - -``` -Combo: "ultra-saver" - 1. cc/claude-opus-4-7 (subscription โ€” best quality) - 2. glm/glm-5.1 (cheap backup) - -Compression: ultra โ€” saves 75% tokens -Result: 10K token prompt โ†’ 2.5K tokens sent -Montly savings: ~$150-300/month in token costs for heavy users -``` - -## ๐Ÿงช Evaluations (Evals) - -OmniRoute includes a built-in evaluation framework to test LLM response quality against a golden set. Access it via **Analytics โ†’ Evals** in the dashboard. - -### Built-in Golden Set - -The pre-loaded "OmniRoute Golden Set" contains test cases for: - -- Greetings, math, geography, code generation -- JSON format compliance, translation, markdown generation -- Safety refusal (harmful content), counting, boolean logic - -### Evaluation Strategies - -| Strategy | Description | Example | -| ---------- | ------------------------------------------------ | -------------------------------- | -| `exact` | Output must match exactly | `"4"` | -| `contains` | Output must contain substring (case-insensitive) | `"Paris"` | -| `regex` | Output must match regex pattern | `"1.*2.*3"` | -| `custom` | Custom JS function returns true/false | `(output) => output.length > 10` | - ---- - -## ๐Ÿ“– Setup Guide - -### Connect Your Coding Tool - -Point any OpenAI-compatible tool to OmniRoute: - -```txt -Base URL: http://localhost:20128/v1 -API Key: [from Dashboard โ†’ Endpoints] -``` - -| Tool | Config Location | -| --------------- | ----------------------------------------------------------------------------------------- | -| **Claude Code** | `claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream` | -| **Codex CLI** | `OPENAI_BASE_URL=http://localhost:20128/v1 OPENAI_API_KEY=your-key codex` | -| **Cursor** | Settings โ†’ Models โ†’ Add Model โ†’ Override Base URL | -| **Cline** | Extension settings โ†’ Custom API Base URL | -| **OpenClaw** | `OPENAI_BASE_URL=http://localhost:20128/v1 openclaw` | -| **Gemini CLI** | Uses native OAuth via OmniRoute โ€” connect in Providers | - -### Protocols (MCP + A2A) - -```bash -# MCP (stdio transport) -omniroute --mcp - -# A2A (JSON-RPC 2.0) -curl http://localhost:20128/.well-known/agent.json -``` - -### Key Environment Variables - -| Variable | Default | Purpose | -| -------------------- | -------------- | ----------------------------------------- | -| `PORT` | `20128` | API and dashboard port | -| `DASHBOARD_PORT` | โ€” | Separate dashboard port (split-port mode) | -| `REQUIRE_API_KEY` | `false` | Require API key for all requests | -| `DATA_DIR` | `~/.omniroute` | Database and config storage | -| `REQUEST_TIMEOUT_MS` | `600000` | Upstream response timeout | - -
-๐Ÿ“– Full Setup Guide โ€” All CLI tools, protocols, and environment variables - -๐Ÿ“– **Complete documentation:** - -- [User Guide](docs/USER_GUIDE.md) โ€” Providers, combos, CLI integration -- [API Reference](docs/API_REFERENCE.md) โ€” All endpoints with examples -- [MCP Server](open-sse/mcp-server/README.md) โ€” 37 tools, IDE configs -- [A2A Server](src/lib/a2a/README.md) โ€” JSON-RPC, skills, streaming -- [Environment Config](docs/ENVIRONMENT.md) โ€” Complete `.env` reference -- [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) โ€” VM + nginx + Cloudflare - -
- ---- - -## โ“ Frequently Asked Questions - -
-๐Ÿ“Š Why does my dashboard show high costs if I'm using free models? - -The 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. - -**Example:** - -- **Dashboard shows:** "$290 total cost" -- **Reality:** You're using Kiro + Qoder (FREE unlimited) -- **Your actual cost:** **$0.00** -- **What $290 means:** Amount you **saved** by using free models instead of paid APIs! - -The cost display is a "savings tracker" to help you understand your usage patterns and optimization opportunities. - -
- -
-๐Ÿ’ณ Will I be charged by OmniRoute? - -**No.** OmniRoute is free, open-source software that runs on your own computer. It never charges you anything. - -**You only pay:** - -- โœ… **Subscription providers** (Claude Code $20/mo, Codex $20-200/mo) โ†’ Pay them directly on their websites -- โœ… **API key providers** (DeepSeek, xAI, etc.) โ†’ Pay them directly, OmniRoute just routes your requests -- โŒ **OmniRoute itself** โ†’ **Never charges anything, ever** - -OmniRoute is a local proxy/router. It doesn't have your credit card, can't send invoices, and has no billing system. It's completely free software. - -
- -
-๐Ÿ†“ Are FREE providers really unlimited? - -**Yes!** The current FREE providers are genuinely free with **no hidden charges**: - -- **Kiro AI**: Free unlimited Claude Sonnet/Haiku via AWS Builder ID / Google / GitHub OAuth -- **Qoder**: Free unlimited kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 via PAT token -- **Pollinations AI**: No API key needed โ€” GPT-5, Claude, DeepSeek, Llama 4 -- **LongCat Flash-Lite**: 50M tokens/day โ€” largest free quota available -- **Cloudflare Workers AI**: 10K Neurons/day โ€” 50+ models at the edge - -OmniRoute just routes your requests to them โ€” there's no "catch" or future billing. - -
- -
-๐Ÿ’ฐ How do I minimize my actual AI costs? - -**Free-First Strategy:** - -1. **Start with 100% free combo:** - - ``` - 1. kr/claude-sonnet-4.5 (Kiro โ€” unlimited free) - 2. if/kimi-k2-thinking (Qoder โ€” unlimited free) - 3. pol/gpt-5 (Pollinations โ€” no key needed) - ``` - - **Cost: $0/month** - -2. **Enable Prompt Compression** โ€” even `lite` mode saves ~15% passively - -3. **Add cheap backup** only if you need it: - - ``` - 4. glm/glm-5.1 ($0.5/1M tokens) - ``` - - **Additional cost: Only pay for what you actually use** - -4. **Use subscription providers last** โ€” only if you already have them. OmniRoute helps maximize their value through quota tracking. - -**Result:** Most users can operate at **$0/month** using only free tiers! - -
- -
-๐Ÿ—œ๏ธ Will compression affect response quality? - -**No.** Compression only affects the **input** (your prompt), not the model's response. Each mode has been designed to preserve technical accuracy: - -- **Lite** (~15%): Only whitespace/formatting โ€” zero semantic change -- **Standard** (~30%): Removes filler words ("please", "I think", "basically") โ€” same meaning -- **Aggressive** (~50%): Summarizes old messages + compresses tool outputs โ€” core context preserved -- **Ultra** (~75%): Heuristic pruning โ€” use only when token budget is critical - -Code blocks, URLs, JSON, and structured data are **always protected** from compression via the preservation engine. - -
- -
-๐ŸŒ Does OmniRoute work in countries where AI is blocked? - -**Yes!** OmniRoute has a 3-level proxy system: - -1. **Global proxy** โ€” all requests go through your proxy -2. **Per-provider proxy** โ€” different proxy per provider -3. **Per-API-key proxy** โ€” different proxy per key - -Plus the **1proxy free marketplace** for community-shared proxies. Users in Russia, China, Iran, and other restricted regions can access all 160+ providers through OmniRoute's proxy infrastructure. - -See the [Proxy Guide](docs/PROXY_GUIDE.md) for setup instructions. - -
- ---- - -## ๐Ÿ› Troubleshooting - -| Problem | Quick Fix | -| --------------------------------------------- | ------------------------------------------------------------------------------------ | -| **"Language model did not provide messages"** | Provider quota exhausted โ†’ check quota tracker, use combo fallback | -| **Rate limiting (429)** | Add fallback combo: `cc/claude โ†’ glm/glm-4.7 โ†’ if/kimi-k2-thinking` | -| **OAuth token expired** | Auto-refreshed by OmniRoute. If stuck: delete + re-auth in Providers | -| **`unsupported_country_region_territory`** | Configure proxy in Settings โ†’ Proxy (see [Proxy Guide](docs/PROXY_GUIDE.md)) | -| **Docker SQLite locks** | Use `--stop-timeout 40` for clean WAL checkpoint on shutdown | -| **Node.js runtime errors** | Use Node.js `>=20.20.2 <21`, `>=22.22.2 <23`, or `>=24.0.0 <25` (24 LTS recommended) | -| **`system-info` for bug reports** | Run `npm run system-info` and attach `system-info.txt` to your issue | - -๐Ÿ“– **Full troubleshooting guide:** [`docs/TROUBLESHOOTING.md`](docs/TROUBLESHOOTING.md) - ## ๐Ÿ› ๏ธ Tech Stack
diff --git a/README_REDESIGN_MANUAL.md b/README_REDESIGN_MANUAL.md new file mode 100644 index 0000000000..53a506d549 --- /dev/null +++ b/README_REDESIGN_MANUAL.md @@ -0,0 +1,177 @@ +# ๐Ÿ“ Manual de Repaginaรงรฃo do README โ€” OmniRoute + +> Documento de trabalho. Analisa o README atual, compara com o 9router e propรตe **3 layouts** +> para a parte **acima** de `## ๐Ÿ› ๏ธ Tech Stack`. Nรฃo รฉ parte da documentaรงรฃo publicada โ€” pode +> ser apagado depois que o redesign for aplicado. + +--- + +## 0. Escopo do redesign + +| Faixa | Linhas | Aรงรฃo | +| --------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------- | +| **Topo โ†’ fim do Troubleshooting** | **1โ€“1468** | ๐ŸŽฏ **Redesenhar** (27 seรงรตes) | +| `## ๐Ÿ› ๏ธ Tech Stack` em diante | **1469โ€“1678** | ๐Ÿ”’ **Manter intacto** (Tech Stack, Documentation, Contributors, Star History, StarMapper, Acknowledgments, License) | + +Estado atual do alvo: **27 seรงรตes / ~1.468 linhas**. O 9router cobre o mesmo terreno em **~7 seรงรตes enxutas**. + +--- + +## 1. Diagnรณstico โ€” o que estรก quebrado + +### 1.1 Hero sobrecarregado (linhas 1โ€“60) + +- **Dois blocos de badges** separados (linhas 9โ€“13 e 41โ€“56): npm, license, node, stars, Trendshift, depois npm version/week/month/year, Docker, electron, license (de novo), contributions, streak, website, whatsapp. +- **Trendshift duplicado**: linha 13 **e** linha 25. +- **Promo AgentRouter gigante** (badge `for-the-badge` + subtรญtulo "Limited offer") logo no topo โ€” parece anรบncio antes de explicar o produto. +- **Mural de 40+ idiomas** (linha 35): uma parede de bandeiras a 35 linhas do topo. +- **Parรกgrafo-descriรงรฃo denso** (linha 7) com 6 nรบmeros em negrito numa sรณ frase โ€” nada "brilha", tudo compete pela atenรงรฃo. +- **Resultado**: a primeira tela รฉ uma muralha de badges/links/promo. Falta um soco visual de "o que รฉ + por que me importo". + +### 1.2 Nรบmeros inconsistentes (corrรณi credibilidade) + +| Mรฉtrica | Onde diverge | Valores conflitantes | +| -------------------------- | ------------------------------------------------------------------------------------------------------ | -------------------- | +| **Provedores totais** | hero (l.7) `160+` ยท Why (l.214) `207+` ยท tabela vs alternativas (l.260) `207+` ยท header (l.406) `160+` | **160+ vs 207+** | +| **MCP tools / scopes** | hero/Also-solves `37 tools` ยท tabela 31 problemas (l.708) `29 tools, 10 scopes` | **37/13 vs 29/10** | +| **Estratรฉgias de routing** | hero (l.7) `13` ยท tabela Why (l.261) `14` | **13 vs 14** | +| **Provedores free** | "11 Free Providers" (l.689, l.1024) ยท tabela visual (l.426) mostra `8` ยท About `50+` | **8 vs 11 vs 50+** | + +### 1.3 Conteรบdo duplicado / redundante + +- **DOIS diagramas de fallback** que atรฉ divergem: "Why OmniRoute?" mostra **3 tiers** (l.221โ€“246); "How It Works" mostra **4 tiers** (l.531โ€“555). +- **TRรŠS listas de benefรญcios sobrepostas**: "Why this matters / Also solves" (l.248โ€“289) + "What OmniRoute Solves" (l.680, tabela + 31 problemas) + "Key Features" (l.1091). Dizem quase a mesma coisa trรชs vezes. +- **Compressรฃo mencionada 5ร—**: hero, "Also solves", diagrama "How It Works", seรงรฃo dedicada, e "Key Features". + +### 1.4 Ordem de seรงรตes problemรกtica + +- `## ๐Ÿ“ง Support` na **linha 292** โ€” cedo demais (antes de mostrar CLI tools, provedores ou features). +- `## โšก Quick Start` sรณ na **linha 746** โ€” o dev rola ~745 linhas de marketing antes de descobrir como instalar. Para uma ferramenta de dev, isso รฉ invertido. +- `## ๐Ÿค– AI Agent Skills` (l.516) espremida entre Providers e How It Works โ€” quebra o fluxo. + +### 1.5 Muros de texto + +- **Docker** (l.807โ€“896): parรกgrafos longos de notas (Cloudflare tunnel, WAL, stop-timeoutโ€ฆ) que deveriam estar colapsados. +- **Compressรฃo** (l.559โ€“677): excelente conteรบdo, mas longo e tรฉcnico demais para a primeira dobra de um README. +- **FAQ** (l.1345โ€“1454, ~110 linhas), **Use Cases** (l.1159โ€“1265, ~106 linhas), **Pricing** (l.980โ€“1021): grandes e abertos. + +### 1.6 Tamanho + +~1.468 linhas antes do Tech Stack. Meta realista de reduรงรฃo: **โ€‘60% a โ€‘75%** de conteรบdo visรญvel (o resto vai para `
` ou links de docs, sem perder nada). + +--- + +## 2. Correรงรตes transversais (aplicam-se a QUALQUER layout escolhido) + +### 2.1 Fixar nรบmeros canรดnicos (escolher um valor e usar em todo lugar) + +| Mรฉtrica | Valor canรดnico recomendado | Observaรงรฃo | +| ---------------------- | -------------------------------------------------------------- | --------------------------------------------------------------- | +| Provedores totais | **160+** | Combina com a About nova e o header da seรงรฃo. Aposentar `207+`. | +| Provedores free | **11 grรกtis "forever" + 50+ com free-tier** | Alinhar a tabela visual (hoje 8) e os headers. | +| MCP | **37 tools ยท 3 transports ยท 13 scopes** | Corrigir `29 tools / 10 scopes` da tabela dos 31 problemas. | +| Estratรฉgias de routing | **14** | Corrigir o `13` do hero. | +| Compressรฃo | **15โ€“95% (RTK+Caveman stacked), ~89% mรฉdio** | Jรก consistente โ€” manter. | +| Provas sociais | **4.690+ testes ยท 517 arquivos ยท 40+ idiomas ยท 16+ CLI tools** | Manter como credibilidade. | + +### 2.2 Deduplicar + +- **Um รบnico** diagrama de fallback (unificar os dois; usar 4 tiers: Subscription โ†’ API Key โ†’ Cheap โ†’ Free). +- **Uma รบnica** tabela consolidada de capacidades (fundir "What Solves" + "Key Features" + "Also solves"). +- **Um รบnico** Trendshift no hero. + +### 2.3 Reordenar + +- `Quick Start` sobe para logo apรณs o pitch. +- `Support` desce para o rodapรฉ (logo antes do Tech Stack). +- Niche (Agent Skills, Transcription, Evals) viram `
` ou blocos curtos no fim. + +### 2.4 Persuasรฃo honesta (promessas que cumprimos) + +Manter o tom vendedor, mas toda afirmaรงรฃo ancorada: "never hit limits" โ†’ justificado pelo **auto-fallback**; "save up to 95%" โ†’ รฉ o teto do **stacked**, citar a mรฉdia ~89%; "unlimited FREE" โ†’ รฉ o que Kiro/Qoder/Qwen oferecem hoje (datado). Evitar superlativos sem lastro. + +--- + +## 3. Princรญpios de design + +**Do 9router (o que copiar):** hero curtรญssimo (logo + 1 tagline + 1 linha "conecte X โ†’ Y" + 5 badges + nav); bloco `โŒ problema / โœ… soluรงรฃo` escaneรกvel; **um** diagrama; Quick Start em 3 passos logo no inรญcio. + +**Nossa vantagem (o que destacar, e o 9router nรฃo tem):** 160+ provedores (vs 40+) ยท RTK **+ Caveman stacked** 15โ€“95% (vs RTK 20โ€“40%) ยท MCP (37 tools) ยท A2A ยท Memory ยท Skills ยท Guardrails ยท Evals ยท 14 estratรฉgias ยท multi-plataforma (Web/Desktop/Termux/PWA) ยท 40+ idiomas ยท TLS stealth ยท cloud agents. + +--- + +## 4. Os 3 layouts propostos + +### ๐Ÿ…ฐ๏ธ Layout A โ€” Minimalista / Dev-first + +**Filosofia:** chegar a valor + instalaรงรฃo no menor nรบmero de linhas. Colapsar agressivamente. Meta **~350โ€“450 linhas**. + +``` +1. Hero slim (img + tรญtulo + 1 tagline + 1 linha "conecte Xโ†’Y" + 5 badges + nav) + โ””โ”€
Badges extras, 40+ idiomas, sponsor AgentRouter +2. ๐Ÿค” Why โ€” โŒproblema / โœ…soluรงรฃo (estilo 9router) + 5 linhas do comparativo + โ””โ”€
tabela comparativa completa +3. ๐Ÿ”„ How It Works โ€” UM diagrama de fallback unificado +4. โšก Quick Start โ€” 3 passos โ””โ”€
Docker/source/Arch/pnpm +5. ๐Ÿค– Tools + Providers (grids enxutos) โ””โ”€
"+130 provedores" +6. ๐Ÿ’ก Capabilities โ€” UMA tabela consolidada โ””โ”€
31 problemas +7. ๐Ÿ—œ๏ธ Compressรฃo โ€” tabela + before/after โ””โ”€
arquitetura/math +8. ๐Ÿ“š Resto (Pricing, Use Cases, Proxy, Platforms, FAQโ€ฆ) โ†’
ou links docs +``` + +**Prรณs:** lรช em 1 minuto, dev instala rรกpido. **Contras:** marketing/visual mais discreto. + +--- + +### ๐Ÿ…ฑ๏ธ Layout B โ€” Vitrine visual / Marketing-first + +**Filosofia:** encantar e vender a promessa, depois provar. Landing-page. Meta **~600โ€“700 linhas**. + +``` +1. Hero visual (screenshot grande + headline-promessa + faixa de 3 stats + "160+ provedores ยท 15โ€“95% economia ยท $0 pra comeรงar" + CTAs) +2. ๐Ÿ’ฅ A Promessa โ€” grid 2ร—3 de cards (Never hit limits / Save 95% / $0 / Todo tool / 1 endpoint / Self-host) +3. ๐Ÿค” Why โ€” โŒ/โœ… +4. ๐Ÿ† vs Alternativas โ€” tabela comparativa VISรVEL (รฉ persuasiva) +5. ๐ŸŽฌ Prova social โ€” vรญdeos + Trendshift + estrelas no alto +6. ๐Ÿค– Funciona com suas ferramentas โ€” grid com โญ stars +7. ๐ŸŒ 160+ provedores โ€” grid visual, free destacado +8. ๐Ÿ—œ๏ธ Economize 15โ€“95% โ€” nรบmeros headline + before/after +9. โšก Quick Start โ€” 3 passos +10. ๐Ÿ“š Resto โ†’
+``` + +**Prรณs:** impressiona, รณtimo pra conversรฃo/compartilhamento. **Contras:** mais longo; dev tรฉcnico pode achar "vendedor demais". + +--- + +### ๐Ÿ…ฒ Layout C โ€” Equilibrado / Hรญbrido โญ (recomendado) + +**Filosofia:** hero limpo-mas-confiante, caminho rรกpido ao valor, prova persuasiva, e `
` disciplinado. Narrativa: Gancho โ†’ Por quรช โ†’ Prova โ†’ Instale โ†’ Capacidades โ†’ Aprofundamentos (colapsados). Meta **~500โ€“600 linhas**. + +``` +1. Hero limpo (img + tรญtulo + 1 tagline + 1 linha "conecte Xโ†’Y" + faixa de stats + + 5 badges + Trendshift รบnico + nav) + โ””โ”€
Badges secundรกrios + 40+ idiomas + sponsor +2. ๐Ÿค” Why OmniRoute? โ€” โŒ/โœ… + UM diagrama de 4 tiers +3. ๐Ÿ† What sets us apart โ€” top-8 do comparativo โ””โ”€
tabela completa +4. โšก Quick Start โ€” 3 passos + callout Free Stack โ””โ”€
outros mรฉtodos +5. ๐Ÿค– Works with 16+ tools โ€” grid coding-agents + CLI fundidos +6. ๐ŸŒ 160+ provedores (50+ free) โ€” OAuth + Free + top API โ””โ”€
"+130 mais" +7. โœจ Capabilities โ€” UMA tabela consolidada โ””โ”€
31 problemas +8. ๐Ÿ—œ๏ธ Compressรฃo โ€” save 15โ€“95% (tabela + before/after) โ””โ”€
arquitetura/math +9. ๐Ÿ“ฆ Platforms & Deploy โ€” Multi-plataforma + Docker condensados โ””โ”€
notas +10. ๐Ÿ“š More โ€” Pricing, Use Cases, Proxy, Evals, Free Models, Transcription, FAQ, + Troubleshooting, Skills, Vรญdeos โ†’ grupos colapsรกveis / links docs +11. ๐Ÿ“ง Support (movido pro fim) +``` + +**Prรณs:** limpo + persuasivo + completo, ~โ…“ do tamanho, nada importante perdido (sรณ colapsado). **Contras:** exige mais cuidado de execuรงรฃo que o A. + +--- + +## 5. Recomendaรงรฃo e prรณximos passos + +- **Recomendado: Layout C** โ€” equilibra a clareza do 9router com os nossos diferenciais, sem perder conteรบdo (sรณ colapsa). +- Independente da escolha, aplicar **todas** as correรงรตes transversais da seรงรฃo 2 (nรบmeros canรดnicos, deduplicaรงรฃo, reordenaรงรฃo). +- Prรณximo passo: vocรช escolhe o layout; eu reescrevo as linhas 1โ€“1468 do `README.md`, preservando 1469+ intactas, e depois propago para os READMEs traduzidos (`docs/i18n/*`) se desejar. diff --git a/docs/screenshots/MainOmniRoute.png b/docs/screenshots/MainOmniRoute.png index 9609587000..c9879cbd4b 100644 Binary files a/docs/screenshots/MainOmniRoute.png and b/docs/screenshots/MainOmniRoute.png differ diff --git a/src/lib/cloudAgent/baseAgent.ts b/src/lib/cloudAgent/baseAgent.ts index 26c2defb59..9f5689b90b 100644 --- a/src/lib/cloudAgent/baseAgent.ts +++ b/src/lib/cloudAgent/baseAgent.ts @@ -86,10 +86,10 @@ export abstract class CloudAgentBase { } protected generateTaskId(): string { - return `task_${Date.now()}_${crypto.randomUUID().replace(/-/g, "").substring(0, 9)}`; + return `task_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`; } protected generateActivityId(): string { - return `act_${Date.now()}_${crypto.randomUUID().replace(/-/g, "").substring(0, 9)}`; + return `act_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`; } } diff --git a/tests/unit/antigravity-discovery-bootstrap.test.ts b/tests/unit/antigravity-discovery-bootstrap.test.ts index 9f211e65e9..3d0aa82f98 100644 --- a/tests/unit/antigravity-discovery-bootstrap.test.ts +++ b/tests/unit/antigravity-discovery-bootstrap.test.ts @@ -152,7 +152,7 @@ describe("ensureAntigravityProjectAssigned", () => { const mockFetch = async (url: string, _init?: RequestInit): Promise => { hitUrls.push(url); - if (new URL(url).hostname === "daily-cloudcode-pa.googleapis.com") { + if (url.includes("daily-cloudcode-pa.googleapis.com")) { // First URL fails return new Response("not found", { status: 404 }); }