## 💰 ~1,62 md tokens/månad via kostnadsfria nivåer från tredje part
> **Använd dina egna leverantörskonton.** Detta är en uppskattad totalsumma för separata kostnadsfria nivåer från tredje part som du kan vara berättigad till, inte en tokentilldelning från OmniRoute. Registrera dig, skaffa autentiseringsuppgifter där det krävs och anslut de leverantörer du kan använda. Varje leverantör bestämmer sina egna gränser, sin tillgänglighet och sina villkor.
>
> Att kombinera kostnadsfria nivåer manuellt är besvärligt — dussintals SDK:er, dussintals hastighetsgränser och ingen aning om hur mycket du faktiskt har. OmniRoute katalogiserar **489 poster för kostnadsfria nivåer fördelade på 35 återkommande poolnycklar** och beräknar antalet tokens i rubriken utifrån de **17 poolerna med en publicerad positiv månadsbudget plus fem Groq-gränser per modell**, deduplicerade per delad pool. Kvoter som endast blir tillgängliga efter en regional identitetskontroll (i dag: ModelScope) visas separat, +~6M bakom regional identitetsverifiering, och räknas aldrig in i rubriken. Resultatet visas fortlöpande på kontrollpanelen (`/dashboard/free-tiers`).
> Animerad sammanfattning av den aktuella sidan `/dashboard/free-tiers`. Fullständig metodik (pooldeduplicering, kreditnivåer, leverantörsvillkor): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Dessa siffror granskas på nytt varannan vecka mot den aktuella katalogen och **kan ändras i båda riktningarna** — om en leverantör avslutar en kostnadsfri nivå sjunker siffran, och om en ny tillkommer stiger den. Vi publicerar det som katalogen faktiskt beräknar, aldrig ett uppåtrundat bästa scenario.
⭐ Stjärnmarkera repot om OMNIROUTE har hjälpt dig att spara pengar och gjort ditt arbete enklare.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Gå med i gemenskapen
**👋 Följ underhållaren — få information om nya leverantörer, utgåvor och tips först:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**Frågor, leverantörstips, färdplan och support → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Globalt](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasilien](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Gatewayen fortsätter att växa
## 🆓 Installera, anslut en leverantör och dirigera sedan via en enda slutpunkt
```bash
# När du har anslutit en leverantör kopierar du din OmniRoute-nyckel från Instrumentpanel → Slutpunkter:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto` kräver en kompatibel rutt. En ny installation kan sakna kompatibla nyckellösa mål, och en nyckellös leverantör kan avvisa tredjepartsklienter. Leverantörer som är märkta med `tos: avoid`, däribland OpenCode Free och Kiro, undantas som standard från automatisk dirigering. Att ansluta ett konto åsidosätter inte den inställningen. Läs [Guiden till kostnadsfria nivåer](docs/getting-started/FREE-TIERS-GUIDE.md) innan du väljer en leverantör.📦 Kopiera-och-klistra-in-snabbstartsskript för **Python, Node.js, PHP och cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Löftet
# 🤔 Varför OmniRoute?
## 🤝 Stöds av våra Open Source-vänner
> **Vill du bli en Open Source-vän?** Dessa företag stöder öppen källkod och hjälper till att hålla OmniRoute igång – och vi berättar offentligt vart varje token de ger oss går. Hör av dig: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Tack till Kimi (Moonshot AI), vår grundande Open Source-vän, för att de stöder detta projekt! Kimi är AI-labbet bakom de öppna K2- och K3-modellfamiljerna — Kimi K3 levererar ett 1M-token kontextfönster, inbyggd syn och kodning på gränsnivå till en bråkdel av priset för slutna modeller, och fungerar direkt med Claude Code, Codex och alla kodningsverktyg som OmniRoute använder.
Vad Kimis stöd driver: Kimis API-krediter driver OmniRoutes AI-validerade release-pipeline — steget *sammanslagningsvalidering driven av Kimi K3* som granskar varje pull request innan den släpps — plus daglig funktionsutveckling. Förstklassigt Kimi-stöd levereras på båda sätten: det direkta Kimi API (kimi-k3) och Kimi Code kodningsplan (OAuth och API-nyckel). OmniRoute är också det första brasilianska open source-projektet i Kimis supportprogram. Skaffa en Kimi API-nyckel med 15% extra krediter →
Cheaper Inference cheaperinference.com
Tack till Cheaper Inference, en OmniRoute Open Source-vän, för att de stöder detta projekt! Cheaper Inference är en kostnadsrankad gateway som säljer vidare 42 gränsmodeller — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok och MiniMax — bakom en OpenAI-kompatibel slutpunkt, som dirigerar varje förfrågan till den billigaste kvalificerade leverantören utan att någonsin ta ut mer än modellskaparens listpris.
Förstklassigt stöd i OmniRoute: Chat Completions, den inbyggda /v1/responses-slutpunkten, syn, verktygsanrop och 3 bildmodeller (grok-imagine, nano-banana-pro, nano-banana-2, nåbara som cheaperinference/<model>). Skaffa en API-nyckel →
Länkar taggade aff=omniroute är partnerlänkar. De finansierar projektet utan extra kostnad för dig. 🎟️ Affiliates Promo — gratis registreringskuponger från leverantörer vi inte sponsrar (klicka för att expandera)Detta avsnitt är endast för hänvisnings-/kupongkoder. Sponsrade partnerskap finns under 🤝 Stöds av våra Open Source-vänner ovan. OmniRoute har ingen sponsring eller partnerskap med de leverantörer som listas här — dessa är offentliga kuponger som vem som helst kan använda.
AgentRouter agentrouter.org
AgentRouter — affiliate-registrering · $100 gratis krediter vid registrering (gratis server, förvänta dig högre latens — bäst för testning, inte produktion). Förstklassigt stöd i OmniRoute sedan v3.8.50: Chat Completions, det Anthropic-kompatibla trådformatet och den OpenAI-kompatibla sökvägen. Tillgängliga modeller inkluderar claude-opus-4-8, claude-opus-5, gpt-5.6-sol och mer. Hämta dina $100 →
⚠️ Affiliatelänk — OmniRoute har ingen sponsring eller partnerskap med denna leverantör.
Känner du till någon annan leverantör med en generös gratis registreringskupong som gynnar OmniRoutes användare? Öppna ett ärende så lägger vi till den här.
## 🎯 Combos — flaggskeppet
> En **combo** är en kedja av modeller som OmniRoute dirigerar mellan **automatiskt**. Om kvoten tar slut, en leverantör slutar fungera eller kostnaderna skjuter i höjden kan combon gå vidare till nästa tillgängliga och fungerande modell. 🛡️
### ⚡ Ingen konfiguration — använd bara `auto`
Du behöver inte skapa någon combo. Ställ in din modell på `auto` (eller en variant), så bygger OmniRoute en virtuell combo från dina anslutna leverantörer som poängsätts i realtid:
Modell-ID
Vad den optimerar för
auto
🎯 Balanserat standardval (LKGP — håller fast vid din senast fungerande leverantör)
auto/coding
🧑💻 Kvalitetsorienterad viktning för kodgenerering
auto/fast
⚡ Lägsta latens först
auto/cheap
💰 Lägsta kostnad per token först
auto/offline
🔋 Störst marginal för kvot/hastighetsgräns först
auto/smart
🔭 Kvalitet först + 10 % utforskning för att hitta bättre modeller
auto/lkgp
📌 Håller uttryckligen fast vid den senast fungerande leverantören
auto/chaos
🧪 Parallell utskickning till en panel av modeller (en per leverantör, 5 som standard), returnerar ett svar; ett anrop till en extern tjänst per panelmodell, inte felinjicering
##
### 🔀 Eller bygg din egen — 19 routingstrategier
Alla **19** strategier — blanda fritt för varje steg i en combo:
#
Strategi
Vad den gör
1
priority
Ordnad lista med första målet först — töm varje mål innan nästa används 🥇
2
fill-first
Fyll varje måls kvot helt innan du går vidare
3
weighted
Viktat slumpmässigt val baserat på varje måls vikt
4
round-robin
Växla mellan målen i ordningsföljd
5
p2c
Slumpmässig lastbalansering enligt principen ”power of two choices”
6
least-used
Välj målet med lägst aktuell belastning
7
random
Likformigt slumpmässigt val (dubbletter tas bort)
8
strict-random
Slumpmässigt val utan borttagning av upprepningar 🎲
9
cost-optimized
Minimera kostnaden per begäran utifrån aktuella katalogpriser 💸
10
headroom
Välj målet med störst återstående kvot
11
reset-window
Föredra målet vars kvotfönster återställs först
12
reset-aware
Rangordna efter kvotens återställningstid — korta fönster först 📊
13
context-relay
Överlämna kontext mellan mål vid långa konversationer 🧠
14
context-optimized
Välj det bästa alternativet för den aktuella kontextstorleken
15
cache-optimized
Knyt varje återanvändbart promptprefix till samma konto — maximera träffarna i promptcachen 🎯
16
lkgp
Senast kända fungerande väg — håller fast vid den senast fungerande leverantören och faller sedan tillbaka på regler
17
auto
Poängsättning i realtid utifrån 16 faktorer för varje anslutning 🤖
18
fusion
Skickar ut till en panel av modeller + en domare sammanställer ett enda svar 🧬
19
pipeline
Kedja steg — utdata från varje mål matas till nästa 🔗
Auto-Combo-motorn poängsätter varje kandidat utifrån **16 faktorer** (hälsa, kvot, kostnad, latens, lämplighet för uppgiften, kvalitet, sessionstillgänglighet…) — se [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Motståndskraft är inbyggd (3 oberoende lager)
📖 [Automatisk kombinationsmotor](docs/routing/AUTO-COMBO.md) · [Resiliensguide](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Vad som skiljer OmniRoute från mängden
📊 Fullständig metodik och detaljinformation per funktion jämfört med 9router, OpenRouter, CLIProxyAPI och LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Stöd OmniRoute
OmniRoute är MIT-licensierat och underhålls öppet. Om det sparar tid eller pengar åt dig kan du hjälpa till att hålla det oberoende — välj det alternativ som passar dig. Sponsring påverkar aldrig routningsprioriteten; den ger synlighet, inte högre rankning.
**🇧🇷 PIX** — omedelbart, utan avgifter (Brasilien)
Nyckel (slumpmässig): `5d865059-bc44-483a-962d-43ceb80126eb`
Pix copia-e-cola:
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ Kryptovaluta — BTC · ETH · USDT-TRC20 · USDC-Solana (klicka för att expandera)
₿ BTC
Bitcoin (SegWit)
bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH
Ethereum (ERC20)
0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT
Tron (TRC20)
TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC
Solana
2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Skicka varje valuta endast via det nätverk som visas — om du skickar via fel nätverk kan pengarna gå förlorade.
🐛 Hittat ett fel eller har du synpunkter? Starta en [diskussion](https://github.com/diegosouzapw/OmniRoute/discussions).
Information för utvecklare: Projektet kan generera en lokal .env-fil under npm install/postinstall för att underlätta för utvecklare. Den här filen ignoreras avsiktligt via .gitignore (se .gitignore) och får aldrig checkas in — om den av misstag checkas in ska alla exponerade hemligheter bytas ut och filen tas bort från historiken. Se docs/DEVELOPER-ENVIRONMENT.md för vägledning om hantering av lokala miljöfiler och hemligheter.
## 📡 OmniRoute Radar
Den huvudsakliga rubriken för gratisnivån är fortfarande **~1,62 md tokens/månad** från den dokumenterade,
pooldeduplicerade katalogen ovan. Tillfälliga registreringskrediter från leverantörer kan separat höja den första
månaden till **~2,22 md**. Radar är ett valfritt, signerat katalogöverlägg för dem som vill ha mer aktuell
tillgänglighet för gratismodeller mellan OmniRoute-versioner; communitykatalogen och alla befintliga kostnadsfria
funktioner förblir gratis.
Supportrar kan få tillgång till livekatalogen och ytterligare leverantörsmöjligheter. Dess separata,
föränderliga tak är **högst cirka 3 md tokens/månad**, beroende på leverantörernas tillgänglighet.
Detta tak är ingen garanti: leverantörer kan när som helst ändra kvoter, behörighetskrav, modeller eller regioner.
Radar är frivilligt och använder endast GET. OmniRoute-klienten laddar inte upp prompter, trafik, leverantörs-
konfiguration, användningstelemetri eller lokal status för avfärdade meddelanden. Läs mer om behörighetskraven och
den aktuella katalogen på **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Nyheter
> De senaste höjdpunkterna från **v3.8.20 → v3.8.50**. Fullständig historik finns i [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — inkommande A2A-delegering till din agentflotta, Conductor-färdigheter på agentkortet och en instrumentpanel med Faro-röstchatt med talknapp. → [A2A-server](docs/frameworks/A2A-SERVER.md)
- **🛂 Adaptiv åtkomst- och överbelastningshantering** — resurskrävande chattförfrågningar köas i stället för att ge 503-fel, med atomära rullande RPM-leasingavtal per anslutning. → [Resiliensguide](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonisk ordning för `/v1/models`** — ett sammanhängande, leverantörsgrupperat block per leverantör (kombinationer fästs först), stabilt över alla katalogkällor. → [API-referens](docs/reference/API_REFERENCE.md)
- **🗜️ Förstärkt komprimering** — inflationsskydd aktiverat som standard, Caveman-paket för DE / FR / JA + kinesiska (wényán), RTK-filter för Gradle och .NET. → [Komprimering](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Korrekt fast kostnad** — leverantörer med prenumerations-/kodningsabonnemang visar **$0** i kostnadsanalysen; budget, kvot och dirigering fortsätter att göra uppskattningar. → [API-referens](docs/reference/API_REFERENCE.md)
- **⚖️ Kvotdelningsdirigering** — fördela ett delat kontos kvot rättvist mellan poolade nycklar, med arbetsbevarande utlåning av oanvända andelar. → [Resiliensguide](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Konfiguration av CLI/agent med ett kommando** — 13 registrerade `setup-*`-kommandon; `omniroute run` startar 7 CLI-verktyg (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` stöder 10 mål med en interaktiv väljare för leverantör och modell samt favoriter per kontext. → [CLI-integrationer](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Fjärrläge** — styr en fjärransluten OmniRoute med avgränsade token (`connect` / `contexts` / `tokens`) samt en `antigravity`-OAuth-hjälpare för VPS-installationer. → [Fjärrläge](docs/guides/REMOTE-MODE.md)
- **🧭 Smartare automatisk dirigering** — `auto/:`-kombinationer, **Fusion** (modellpanel + domare), uppgiftsmedveten dirigering samt åsidosättningar per begäran för modell, läge och USD-budget. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Utbytbar komprimering** — 12 kombinerbara motorer + Compression Studios: LLMLingua-2, Ultra i två nivåer, omniglyph, tillförlitlighetskontroll per steg, GCF v3.2 och dra-och-släpp-redigerare för omordning. → [Komprimering](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparent MITM-dekryptering (TPROXY)** — fånga upp CLI-verktyg som ignorerar proxymiljövariabler, med en CA per SNI samt installation i betrodda certifikatarkiv. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Kostnadstelemetri överallt** — `X-OmniRoute-*`-huvuden för kostnad/användning på varje slutpunkt, ett huvud för besparing vid cache-HIT samt USD-utgiftskvoter per nyckel. → [API-referens](docs/reference/API_REFERENCE.md)
- **🧠 Minne som du kontrollerar** — avstängt som standard, valfri int8-vektorkvantisering + typad avklingning samt `x-omniroute-no-memory` per begäran. → [Minne](docs/frameworks/MEMORY.md)
- **🛡️ Säkerhet** — skydd mot promptinjektion på varje LLM-rutt (red-team-svit), valfritt skydd för maskering av autentiseringsuppgifter (maskerar läckta API-nycklar/hemligheter i båda riktningarna), kostnadsfri DuckDuckGo-webbsökning som sista utväg samt en valfri OIDC-inloggningsspärr för instrumentpanelen (lösenordsinloggning förblir alltid tillgänglig). → [Skyddsmekanismer](docs/security/GUARDRAILS.md)
- **🖼️ Nya slutpunkter** — `/v1/ocr` (Mistral OCR) och `/v1/audio/translations` (i Whisper-stil) kompletterar mediestödet. → [API-referens](docs/reference/API_REFERENCE.md)
- **🎨 Bild-, video- och ljudgenerering** — ett API för medier: xAI Grok Imagine och Novita AI-video, ComfyUI, Magnific, Adobe Firefly, Segmind samt talleverantörer som ElevenLabs. → [API-referens](docs/reference/API_REFERENCE.md)
- **🌍 Driftsättning och drift** — omvänd proxy med `basePath`, automatisk identifiering av webbläsarspråk, enhetsspårning per nyckel, root-fritt MITM-förtroende och zh-TW-lokalisering. → [Miljö](docs/reference/ENVIRONMENT.md)
- **🤝 Fler leverantörer och agenter** — molnagenter (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) med webbläsare + OAuth-inloggning, fullvärdigt Ollama-kort, Claude Opus 5 och Sonnet 5, officiellt Kimi-partnerskap (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… samt en uppdaterad **katalog med 352 leverantörer**. → [Leverantörer](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Transparent dirigering** — varje svar innehåller ett `X-OmniRoute-Decision`-huvud som anger strategin/leverantören/latensen som hanterade det, en ny `cache-optimized`-kombinationsstrategi + Auto-Combo-faktorn `cacheAffinity` dirigerar upprepade begäranden tillbaka till anslutningen som innehåller det cachade prefixet, och en skrivskyddad `/v1/auto-combo/{channel}/candidates`-slutpunkt visar den aktuella kandidatpoolen för en `auto/*`-kanal. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokal prestanda och infrastruktur** — lokal Redis med ett klick, relädistributionsverktyg för Cloudflare Workers / Deno Deploy samt Bifrost och Mux som övervakade inbäddade tjänster. → [Inbäddade tjänster](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Ingår också** — ramverk för insticksprogram + marknadsplats, färdighetsramverk för Omni/Agent/GitHub, Obsidian-valvintegration (22 MCP-verktyg), OpenAI-kompatibla Batch- och Files-API:er, semantisk svarscache, spelifiering med topplistor, ACP-agentidentifiering (15 inbyggda agenter), schemalagd loggexport till BigQuery, parallell multimodellsutspridning med `auto/chaos`, en Telegram-botbrygga, en versionshanterare i appen samt LMArena-ELO-rankningar för kostnadsfria leverantörer. → [Dokumentation](docs/README.md)
## 🤖 Kompatibla CLI:er och kodningsagenter
> En konfiguration — `http://localhost:20128/v1` — och **varje** AI-IDE eller CLI körs med kostnadsfria och billiga modeller.
+ fungerar även med · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · alla OpenAI-kompatibla verktyg
📖 Verktygsspecifik konfiguration för alla 36 verktyg (26 CLI-kodverktyg + 10 CLI-agenter) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode-plugin → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Starta valfri CLI som stöds via OmniRoute med ett enda kommando** — inga konfigurationsfiler skrivs,
autentiseringsuppgifter injiceras per process och Qwen/Gemini får en tillfällig, isolerad hemkatalog:
```bash
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# Eller välj leverantör och modell interaktivt och skriv verktygets egen konfiguration:
omniroute configure codex # även: claude opencode qwen aider goose gemini cline continue kilo
```
Varje kommando respekterar den aktiva fjärrkontexten (`omniroute connect `), `--dry-run`
förhandsvisar exakt miljö och argument utan att köra något, och `--api-key-env NAME` håller hemligheter borta
från din skikhistorik. → [CLI-integrationer](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 372 AI-leverantörer — 154 katalogmarkerade som kostnadsfria
> **372 registrerade leverantörer** i de kanoniska samlingarna för chatt, media, sökning, lokala tjänster, molnagenter och system, varav **154 har identifieringsmetadata med `hasFree: true`**. Chattmodellregistret omfattar **237 leverantörer / 3 009 unika par av leverantör och modell / 1 443 råa modell-ID:n**; den separata katalogen över kostnadsfria budgetar har **491 rader per modell**, **35 återkommande pooler** och **54 återkommande/nyckellösa leverantörer som är kostnadsfria för alltid**. Dessa har avsiktligt olika nämnare; definitioner och pooldeduplicerade beräkningar finns i [Leverantörsreferensen](docs/reference/PROVIDER_REFERENCE.md) och [Kostnadsfria nivåer](docs/reference/FREE_TIERS.md).
### 🏢 Alla större labb — via en enda slutpunkt
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…och fler än 330 andra — varje ikon hämtas direkt från instrumentpanelens leverantörskatalog. 📖 [Leverantörsreferens](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Kostnadsfritt för alltid — $0, inget kort krävs
OpenCode Zen DeepSeek V4, Nemotron 3 Ingen tokengräns
Kilo Code Automatisk dirigering, Tencent Hy3 Gratis för alltid
Requesty GPT-OSS 120B, Nemotron Gratis för alltid
SiliconFlow DeepSeek V3.2 / R1 Gratisnivå
Z.AI GLM GLM-4.7 / 4.5-Flash Gratis för alltid
Baidu ERNIE ERNIE 4.0 Gratis för alltid
Qoder AI Qwen3-Max, Kimi-K2 Obegränsat GRATIS
Pollinations GPT, Llama, Claude Ingen nyckel krävs
Cloudflare AI 50+ modeller 10 000 neuroner/dag
NVIDIA NIM GLM, MiniMax ~40 RPM gratis
Cerebras GLM 4.7, GPT-OSS Engångskredit på $5; kort krävs
### 🧩 Nytt: OmniRoute i VS Codes inbyggda Copilot Chat
> Inget nytt sidofält, inget nytt chattgränssnitt — varje modell som OmniRoute tillhandahåller visas direkt i
> **Copilot Chats modellväljare som du redan använder**. Sedan VS Code 1.122 fungerar leverantörsmodeller
> utan GitHub-inloggning eller Copilot-prenumeration — agentläge, verktygsanrop och bildstöd,
> kostnadsfritt.
Installera tillägget **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, rikta det
mot din OmniRoute-server (standard är `localhost:20128`) och öppna sedan Copilot Chat → modellväljaren
→ **Hantera modeller…** → **OmniRoute**.
Inifrån redigeraren: öppna vyn **Tillägg**, sök efter **"OmniRoute"** och klicka på **Installera**
— det fungerar på samma sätt i båda butikerna. Källkod, ärenden och publiceringsinstruktioner finns på
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Guide för VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — konfiguration, vad väljaren visar, instrumentpanel i en flik, felsökning
### 🎩 Nytt: OmniRouteTray — din gateway, direkt i menyraden
> `omniroute serve` trivs bäst när den alltid är igång. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> gör den till en menyradsapp för macOS som du kan konfigurera och sedan glömma: den startar servern, håller den igång
> mellan omstarter, uppdaterar den på plats och gör din aktuella tokenbudget tillgänglig med ett klick — **inget
> terminalfönster behöver lämnas öppet och ingen `npm install -g omniroute` behöver övervakas.**
Den är byggd med [Tauri v2](https://v2.tauri.app/) (en Rust-kärna lika liten som ett avrundningsfel) och levereras
med en egen signerad Node 24-körmiljö samt hanterar en appägd OmniRoute-installation, så den krockar aldrig med din
globala `node`/`bun`. Den **delar din befintliga konfiguration och databas i `~/.omniroute/`** — så det är samma
OmniRoute som du redan kör, bara med en hatt på. 🎩
Vad den gör
Hur
🟢 Övervakar servern
Startar omniroute serve och tar över en instans som redan körs i stället för att duplicera den
📊 Aktuell användning i korthet
Kvotindikatorer för leverantörer, Claude-gränser per session/vecka med nedräkning till återställning samt kostnadsöversikt för 30 dagar
🔄 Uppdateras automatiskt på plats
Stegvis installation, atomärt byte och återställning vid fel — alltid den senaste versionen
🚀 Starta vid inloggning
Valfri start vid inloggning; endast menyraden, ingen Dock-ikon
🩺 Diagnostik och loggar
Diagnostik och åtkomst till serverloggar med ett klick
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Föredrar du en nedladdning? Hämta den senaste .dmg-filen från
Releases. Källkod, ärenden och byggdokumentation
finns på zoispag/omniroute-tray.
💛 Ett communityprojekt av @zoispag — inte en officiell OmniRoute-version.
> Utöver servern är OmniRoute en **fullständig kommandoradscentral** med **över 80 kommandon**, samt öppna agentprotokoll så att en AI-agent kan styra den **på egen hand**.
### ⌨️ En riktig CLI (inte bara `start`)
```bash
omniroute # starta gateway + kontrollpanel (port 20128)
omniroute chat # interaktiv TUI-chattklient (snedstreck: /model /combo /skill /memory)
omniroute setup # guidad konfiguration vid första körningen
omniroute doctor # diagnostisera leverantörer, portar och inbyggda beroenden
```
### 🛰️ Fjärrläge — kör CLI:n här och OmniRoute på en VPS
Kör du OmniRoute på en server? Styr den från din bärbara dator med **samma CLI**. Logga in en gång
med en åtkomsttoken med begränsad behörighet; därefter riktas varje kommando mot fjärrservern.
```bash
omniroute connect 192.168.0.15 # lösenord → token med begränsad behörighet, sparad som en kontext
omniroute models list # ← körs mot FJÄRRSERVERN
omniroute configure codex # ← väljer en fjärrmodell och skriver en lokal Codex-profil
omniroute tokens create --name ci --scope read # skapa mer begränsade token för andra datorer
omniroute contexts use default # ← växla tillbaka till den lokala servern
```
Token har behörighetsnivåerna `read` / `write` / `admin`; rutter som startar processer förblir begränsade till loopback.
📖 [Fjärrläge](docs/guides/REMOTE-MODE.md)
### 🤝 Anslut en agent — så styr den OmniRoute själv
Exponera OmniRoute via **MCP**, **A2A**, ett **REST API**, **webhooks** eller en **fjärr-CLI** — valfri kapabel agent (eller din egen kod) får nycklarna till hela gatewayen: dirigering, leverantörer, kombinationer, cache, komprimering och minne — autonomt. HTTP-slutpunkterna nedan tillhandahålls under `http://localhost:20128`.
Gränssnitt
Slutpunkt/kommando
Använd det för att
🧰 MCP (stdio)
omniroute --mcp
Ansluta till Claude Desktop, Cursor eller valfri MCP-klient
🌊 MCP (HTTP)
/api/mcp/stream
MCP på distans — 110 verktyg, 33 behörighetsområden (tillämpning är valfri), fullständig granskningslogg
Skicka begärande- och kvothändelser till Slack, Discord, Telegram eller valfri URL
🛰️ Fjärr-CLI
omniroute connect
Styr en fjärrinstans med åtkomsttoken som har begränsad behörighet
```bash
# Ge Claude Code tillgång till OmniRoutes fullständiga verktygsuppsättning via 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) · [Agentprotokoll](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Spara 15–95 % tokens — automatiskt
### 📖 Så fungerar det — pipeline, arkitektur och besparingsberäkning
Den staplade standardkombinationen kör `RTK → Caveman`. När båda bearbetar samma verktygs-/kontextnyttolast ackumuleras besparingarna:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Kodblock, URL:er, JSON och strukturerade data skyddas **alltid** av bevarandemotorn.
> **Varför använda många tokens när få tokens räcker?** Varje begäran passerar genom OmniRoutes komprimeringspipeline **transparent** — inga klientändringar behövs. Det är nu en **stack med 12 kombinerbara motorer** som körs i ordning och kan kombineras fritt per routningskombination — baserat på idéer från [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) och [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Stacken med 12 motorer
Motorerna körs i pipelineordning; var och en kan aktiveras/inaktiveras och konfigureras oberoende för varje kombination:
#
Motor
Vad den gör
1
Session-Dedup
Tar bort innehåll som upprepas mellan turer (innehållsadresserat, mellan turer)
2
CCR
Arkiverar stora block bakom hämtningsmarkörer och hämtar dem på begäran
3
Lite
Beskärning av blanksteg och bild-URL:er (grundnivå med låg latens)
4
RTK
Smart filtrering, deduplicering och trunkering av verktygsresultat (kommandomedveten)
5
Responses Tool Output
I första hand förlustfri JSON samt begränsad diagnostisk komprimering för utdata från skal/patchning/sökning/byggen (Responses API)
6
Headroom
Förlustfri tabellkomprimering av JSON-matriser (~30 %) via en inkluderad GCF-kodek
7
Relevance
Extraktiv meningspoängsättning mot den senaste användarfrågan
8
Caveman
Regelbaserad prosakomprimering (~65–75 % av utdata)
9
Aggressive
Sammanfattning och progressiv åldring av gamla turer
10
LLMLingua-2
Semantisk ML-gallring via MobileBERT ONNX — kodsäker, asynkron
11
Ultra
Heuristisk tokengallring med en valfri nivå för små modeller (SLM)
12
OmniGlyph
Experimentell kodning av kontext som bild för uppmätta Claude Fable 5 via den direkta Anthropic-anslutningen; GPT 5.6-transformatorer fortsätter att stoppa bearbetningen i väntan på leverantörskvitton. Fyra komprimeringsprofiler (aggressiv standard, balanserad, kodsäker, direktöverföring) (mest aggressiv; måste aktiveras uttryckligen)
Kodblock, URL:er och strukturerade data bevaras **alltid** byteperfekt. **Förinställningar med ett klick** kombinerar motorerna:
Läge
Besparing
Bäst för
🪶 Lite
~15 %
Säker standard som alltid är aktiv
🪨 Standard (Caveman)
~30 %
Daglig kodning
⚡ Aggressive
~50 %
Långa sessioner med många verktyg
🔥 Ultra
~75 %
Maximal besparing
🧰 RTK
60–90 %
Utdata från skal/tester/byggen/git
🔗 Staplat (RTK → Caveman)
78–95 %
Blandade prompter och verktygsloggar
**Verkligt exempel — standardläge:**
> **Före (69 tokens):** _"Anledningen till att din React-komponent renderas om är sannolikt att du skapar en ny objektreferens vid varje renderingscykel. När du skickar ett infogat objekt som en prop ser Reacts ytliga jämförelse det som ett annat objekt varje gång, vilket utlöser en omrendering. Jag rekommenderar att du använder useMemo för att memorera objektet."_
>
> **Efter (19 tokens):** _"Ny objektreferens vid varje rendering. Infogat objekt som prop = ny referens = omrendering. Omslut med useMemo."_
>
> **Samma svar. 72 % färre tokens. Ingen noggrannhetsförlust.** ✅
**PT-BR-exempel — läget [Troglodita](https://github.com/leninejunior/troglodita):**
> **Före (42 token):** _"Problemet är att komponenten renderas om eftersom en ny objektreferens skapas i varje renderingscykel. Jag skulle rekommendera att använda useMemo."_
>
> **Efter (12 token):** _"Omrendering: ny ref varje cykel (inline-objekt återskapas). Använd `useMemo`."_
>
> **Samma svar. ~70 % färre token. Den tekniska precisionen är intakt.** ✅
### 🎚️ Bortom motorerna — utdatastilar, det adaptiva reglaget och styrning per begäran
De 12 motorerna ovan minskar det som går **in**. Ytterligare tre lager formar **hur**, **när** och vad som kommer **ut**:
- **🪄 Utdatastilar** _(styrning längs utdataaxeln)_ — injicerar deterministiska, cachesäkra instruktioner för att forma svar; kan kombineras, var och en med intensiteten `lite` / `full` / `ultra`. Att lägga till en stil kräver en enda rad i registret:
- **Kortfattad prosa** — ta bort utfyllnad / artiklar / garderingar; behåll det tekniska innehållet exakt.
- **Mindre kod** — ”lat seniorutvecklare”-YAGNI: minsta fungerande ändring, ingen byggnadsställning som inte efterfrågats.
- **Ponytail (lat seniorutvecklare)** — klättra på YAGNI-stegen, åtgärda grundorsaken, minsta fungerande diff.
- **Jag har ADHD (åtgärd först)** — börja med nästa åtgärd, numrerade steg, ett konkret nästa steg, ingen inledning.
- **Kortfattad CJK (文言)** — ultrakortfattad stil på klassisk kinesiska (begränsad till språkvarianten `zh`).
- **🎯 Adaptiv kontextbudget** _(reglaget)_ — i stället för ett enda på/av-tröskelvärde för token eskaleras de billigaste motorerna med minst informationsförlust bara så långt som behövs för att **rymmas i modellens kontextfönster**. Policy: `reserve-output` (standard, modellanpassad) · `percentage` · `absolute`. Läge: `floor` (garanterar att det ryms) · `replace-autotrigger` (ditt uttryckliga val gäller) · `off` (äldre tröskelvärde).
- **🎛️ Var komprimeringen avgörs** _(prioritetsordning, hög → låg)_ — `x-omniroute-compression`-header per begäran › åsidosättning för routingkombination › aktiv namngiven profil › adaptiv / automatisk utlösare › panelstandard › av. Den tillämpade planen återges i svarsheadern `X-OmniRoute-Compression: ; source=`.
Utlös automatiskt via ett tröskelvärde för token, slå på det adaptiva reglaget, lås en namngiven profil, ange ett engångsval per begäran eller tilldela en pipeline per routingkombination — välj det som passar arbetsbelastningen. Ett valfritt offlinebaserat **utvärderingsverktyg** (`npm run eval:compression`) bedömer återgivningstrohet kontra besparing på en låst korpus innan du produktionssätter en ändring.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Snabbstart
**1) Installera och kör**
```bash
npm install -g omniroute
omniroute
```
> 💡 Ser du `npm warn ERESOLVE` eller varningar om peer-beroenden? [De är ofarliga](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Använder du npm 11 eller senare?** npm kan blockera pakets livscykelskript om de inte är tillåtna. OmniRoutes `postinstall` (`node scripts/build/postinstall.mjs`) krävs för att förbereda dess systemspecifika körningsfiler. Tillåt paketen som anges i npm:s varning när du installerar globalt. För paketuppsättningen som rapporteras av OmniRoute 3.8.51:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Om du vill återanvända den här tillåtelselistan för framtida globala installationer konfigurerar du den en gång och installerar sedan som vanligt:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Beroendelistan kan ändras mellan versioner. Om npm rapporterar en annan lista använder du paketnamnen från den varningen. När du tillåter ett paket får dess installationsskript köras.
> **Använder du Gemini Web eller någon annan leverantör som använder webbcookies?** npm-paketet inkluderar
> Playwright, men inte dess Chromium-binärfil. Läs anmärkningen om
> [konfiguration av Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> innan du gör den första begäran till webbleverantören.
Kontrollpanelen finns på `http://localhost:20128` · API:et finns på `http://localhost:20128/v1`.
**2) Anslut en berättigad leverantör med ditt eget konto**
Kontrollpanelen → **Leverantörer** → välj en leverantör vars aktuella villkor och kvot passar ditt användningsfall → lägg till dess API-nyckel eller slutför dess kontoflöde. Kostnadsfria nivåer kan kräva registrering, godkännande eller en betalningsmetod. Läs [Guiden till kostnadsfria nivåer](docs/getting-started/FREE-TIERS-GUIDE.md); nyckelfri tillgänglighet garanteras inte, och leverantörer märkta med `tos: avoid` utesluts som standard från `auto`.
**3) Anslut ditt kodningsverktyg**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) Kontrollera att det fungerar**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Du bör se en lista över dina anslutna modeller. 🎉 Klart — börja koda, så dirigerar OmniRoute automatiskt och använder reservlösningar åt dig.
Om din klient inte kan skicka anpassade headers erbjuder OmniRoute även tokeniserade kompatibilitetsalias:
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Använd dessa endast för klienter som inte kan bifoga `Authorization: Bearer ...`. Autentisering via header är fortfarande det föredragna läget.
## 📦 Fler installationsmetoder — Docker, källkod, pnpm, Arch
**🐳 Docker**
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
`:latest` följer den högsta **publicerade** stabila SemVer-versionen. Den följer inte git `main`. Lås till `:X.Y.Z` för GitOps. Se [Docker-utgivningskanaler](docs/guides/DOCKER_GUIDE.md#release-channels). Avbildningen låser **`OMNIROUTE_MEMORY_MB=1024`**. Det räcker för kontrollpanelen och enklare chatt. **Kodningsagenter** (`POST /v1/responses` från Claude Code, Codex, Grok, …) behöver en mycket större V8-heap, annars får processen ett `FATAL ERROR` vid cirka 12 GiB med två överlappande långa kontexter. Dimensionera containern större än heapen (inbyggda buffertar ligger utanför V8):
| Arbetsbelastning | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) |
| ----------------------------------- | ------------------------------- | ---------------------- |
| Kontrollpanel/enklare chatt | `1024` (avbildningens standard) | ≥2 g |
| En kodningsagent | `8192` | ≥10 g |
| Två samtidiga långa `/v1/responses` | `10240`–`12288` | ≥12–16 g |
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
Fullständig tabell: [Docker-guide — RAM vid körning](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Docker-kanal för förhandsversioner:** `diegosouzapw/omniroute:next` och
> `diegosouzapw/omniroute:next-web` följer den aktuella standardgrenen `release/v*`.
> Dessa föränderliga taggar är endast avsedda för att testa ännu ej utgivna korrigeringar och
> **stöds inte för produktion**. Se
> [Docker-utgivningskanaler](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Standardinstallation med `bun install` och global installation (`bun install -g omniroute`) stöds via detektering av Bun-körmiljön:
- **Inbyggd `bun:sqlite`**: OmniRoute använder Buns inbyggda `bun:sqlite`-drivrutin när det körs under Bun och återgår till `better-sqlite3` på Node.js eller `sql.js`.
- **Automatiskt val av Webpack-paketerare vid utveckling**: Utvecklingsläget (`bun run dev`) identifierar automatiskt Bun och inaktiverar Turbopack till förmån för Webpack för att förhindra inkompatibilitet med inbyggda V8-bindningar. Produktionsbyggen (`bun run build`) följer `OMNIROUTE_USE_TURBOPACK` exakt som på Node: Turbopack som standard, `OMNIROUTE_USE_TURBOPACK=0` för att bygga med Webpack (`Dockerfile.bun` exponerar detta som ett `--build-arg`).
- **Dedikerad Dockerfile för Bun**: `Dockerfile.bun` i flera steg för produktionsdistributioner med inbyggd Bun (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Installera och kör med Bun
bun install
bun run dev
```
**🛠️ Från källkod**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux (AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix (Flake)**
```bash
# Med Nix flakes
nix develop
npm run dev
# Eller med devbox
devbox run npm run dev
```
📖 [Docker-guide](docs/guides/DOCKER_GUIDE.md) — Compose-profiler, Caddy HTTPS, Cloudflare-tunnlar.
**🦭 Podman**
```bash
# 1. Förbered datakatalogen som ska bind-monteras
mkdir -p data
# 2. Endast Linux + lokal rootless Podman (aldrig en fjärrklient för Podman Machine):
podman unshare chown 1000:1000 ./data
# 3. Ange körmiljötips, bygg den lokala Compose-avbildningen och starta
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
På macOS eller Windows använder Podman en fjärransluten Podman Machine: hoppa över `podman unshare` och
följ den [topologispecifika vägledningen för datakataloger](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Podman-guide](contrib/podman/README.md) — Compose-byggen, Podman Machine och
konfiguration av Quadlet för Linux/systemd.
**⚡ Snabbare/resurssnålare installation (hoppa över det inbyggda bygget)**
Den inbyggda SQLite-motorn (`better-sqlite3`) är ett **valfritt** beroende, så en global
installation blockeras aldrig av kompilering från källkod: den använder en förkompilerad binärfil när någon matchar
din plattform/Node och återgår annars transparent till en ren JS-motor
(`node:sqlite` på Node 22+, annars medföljande `sql.js` WASM) — inga byggverktyg krävs.
Så här hoppar du helt över den inbyggda uppvärmningen efter installationen (CI, headless eller långsamma datorer):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 hoppar också över den
```
För de snabbaste installationerna bör du använda **pnpm** (innehållsadresserat lager + hårda länkar — se ovan).
För en headless-körmiljö utan kontrollpanel använder du Docker-profilen `base` (ovan) eller
[Termux-guiden](docs/guides/TERMUX_GUIDE.md). CLI-verktyget och webbkontrollpanelen tillhandahålls av samma
process på en port, så det finns för närvarande inget separat paket enbart för CLI.
OAuth 2.0 (PKCE) + JWT + API-nycklar + omfångsbegränsad MCP-autentisering · AES-256-GCM för lagrade data · DOMPurify
Kamouflering
wreq-js — imitation av JA3-/JA4-TLS-fingeravtryck, proxy i tre nivåer
Robusthet
Kretsbrytare, exponentiell återgång, skydd mot samtidiga belastningstoppar, självläkande automatisk kombination
Loggning
pino — strukturerade JSON-loggar med kontext för begäranden
Testning
Node.js test runner + Vitest — över 39 000 statiska testdeklarationer i över 5 100 spårade testfiler (enhets-, integrations-, E2E-, säkerhets- och ekosystemtester)
Strategi för testtäckning av fler än 39 000 statiska testdeklarationer i fler än 5 100 spårade testfiler
# ⭐ Främsta bidragsgivare
> OmniRoute formas av en engagerad öppen källkodsgemenskap. Dessa personer har gjort exceptionella insatser som direkt påverkar projektets kvalitet, stabilitet och räckvidd. **Tack.**
### Externa bidragsgivare efter antal sammanslagna pull requests
Fryst vid den aktuella spetsen dafb4ae808 för release/v3.8.50, med sammanslagningar till och med 2026-08-24 05:26:03 UTC. Den sidindelade kartläggningen via GitHub GraphQL omfattar 5 911 sammanslagna PR:er: 2 707 av lagrets ägare, 179 av Dependabot och 3 025 externa PR:er från 535 unika bidragsgivare. ”Ändrade rader” är summan av tillägg och borttagningar på GitHub och inkluderar genererade filer, låsfiler, kataloger, översättningar och dokumentation; det är kodomsättning, inte författade kodrader. Delade placeringar vid gränsen behålls.
### Commits tillskrivna av GitHub
Bob.Hou 🏅 51 GitHub-tillskrivna commits · delad plats 10
Xiangzhe 🏅 51 GitHub-tillskrivna commits · delad plats 10
Kontrollerades på nytt 2026-08-24 06:14:31 UTC: GitHub-tillskrivna commits som rapporterats av datalagrets Contributors API för standardgrenen release/v3.8.50. API:et returnerade 525 identiteter (415 användare, 2 botar, 108 anonyma); den här tabellen exkluderar underhållaren, botar och anonyma identiteter samt behåller delade placeringar. Den skiljer sig både från rankningen över sammanslagna PR:er ovan och inventeringen av Git-metadata för 639 personer nedan.
> 🙏 Dessa bidragsgivares funktioner, felrättningar och förbättringar av infrastrukturen är en **central del** av det som gör OmniRoute tillförlitligt och funktionsrikt. Varje pull request, varje testfall och varje i18n-översättningsfil spelar roll. Öppen källkod byggs av människor som dem.
---
## 💖 Sponsorer
Ett varmt tack till de personer som finansierar OmniRoute ur egen ficka — varje bidrag hjälper projektet att förbli kostnadsfritt, oberoende och i ständig utveckling.
… och andra som föredrar att förbli privata 💛Offentliga GitHub Sponsors verifierades på nytt 2026-08-24. GitHubs activeOnly-status avgör de aktiva etiketterna ovan. Tidigare offentliggjorda offentliga engångssupporter fortsätter att uppmärksammas, medan privata sponsorer förblir anonyma.💖 Bli sponsor → — varje dollar hjälper OmniRoute att förbli kostnadsfritt och oberoende.
## 👥 Fler än 600 bidragsgivare
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Granskad 2026-08-24 vid den frysta basen ac02c5b42f och kontrollerad på nytt vid den aktuella spetsen dafb4ae808 för release/v3.8.50: 639 normaliserade mänskliga Git-identiteter — 407 förekommer som commit-författare (inklusive underhållaren) och 232 förekommer endast i uttryckliga Co-authored-by-trailers. Inventeringen normaliserar GitHub-noreply-handtag, utesluter 26 bot-, agent-, tjänste- eller platshållaridentiteter och slår inte samman vanliga e-postadresser enbart för att deras visningsnamn överensstämmer.
### Så bidrar du
1. Forka kodförrådet
2. Skapa grenen från spetsen för den **aktiva** `release/vX.Y.Z`-grenen (inte `main`) — se [Gren- och versionsmodellen](docs/ops/BRANCHING_MODEL.md)
3. Skapa din funktionsgren (`git checkout -b feat/amazing-feature`)
4. Checka in dina ändringar (`git commit -m 'feat: add amazing feature'`)
5. Pusha till grenen (`git push origin feat/amazing-feature`)
6. Öppna en pull-begäran med **base = den `release/vX.Y.Z`-grenen**
Se [CONTRIBUTING.md](CONTRIBUTING.md) för detaljerade riktlinjer.
### Publicera en ny version
```bash
# Skapa en release — npm publish sker automatiskt
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Stjärnor
## 🌍 StarMapper
## 🙏 Tack
OmniRoute står på jättars axlar. Det började som en fork av **[9router](https://github.com/decolua/9router)** och en TypeScript-portning av Go-projektet **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — och därefter inspirerades varje delsystem nedan av ett projekt med öppen källkod som var först med att lösa uppgiften. Vart och ett av dem formade en konkret del av OmniRoute. Detta är vårt sätt att tacka dem alla. 🙏
> ⭐ antalet stjärnor verifierades via GitHubs REST API den 24 augusti 2026 — ge gärna dessa projekt en stjärna. Antalen är en exakt ögonblicksbild från det datumet och kommer naturligtvis att förändras.
### 🧬 Ursprung och gateway
AI-gatewayen vars offentliga prisdata används av vår synkronisering av kostnadsspårning och vars modell för leverantörsnormalisering låg till grund för vår routning.
MIT-källkod som anpassats till den inkluderade bryggan ChatGPT Web → Codex Responses, inklusive adaptrar för webbläsarsessioner, svarsramning, användning och webbsökning.
Mönster som portats till strömåterställning, alias utan tänkande, reservlösning för webbsökning, gränser med glidande fönster, maskning av loggar och härdade startflöden.
Claude Code-kompatibla standardvärden för transformering och beteenden för faktureringshuvuden som generaliserats i OmniRoutes konfigurationsdrivna brygga.
Projektets Grok-modellmappningar, Statsig-generator med simulerad TypeError, standardvärden för förfrågningar och enheter samt NDJSON-svarsprocessor har i väsentlig grad anpassats till OmniRoutes Grok Web-exekverare.
Den huvudsakliga transitiva kodkällan bakom grok2api-merged; dess implementeringar av modeller, huvuden, nyttolaster, Statsig och processorer är bevarade i Grok Web-härstamningen.
Den underliggande MIT-källkoden för Groks nyttolast- och enhetsstandardvärden, Statsig-generatorn och result.response-processorn som förts vidare via TQZHR och grok2api-merged.
En transitiv källa som grok2api-merged hänvisar till för sitt proxypoolslager; OmniRoute bevarar hänvisningen till denna härstamning men gör inte anspråk på någon portning av en proxypool i sin avgränsade Grok Web-exekverare.
Den ursprungliga Grok Web-implementeringen konsulterade projektets uppströmsdesign för HTTP/webbläsare; dess direkta HTTP-sökväg härrör från GrokProxy, så ingen oberoende kodportning görs gällande.
Det virala projektet ”varför använda många token när få token gör jobbet” — dess grottmänniskofilosofi driver vårt standardläge för komprimering och över 30 regler för utfyllnadsborttagning och kondensering.
Tokenkomprimering för brasiliansk portugisiska — driver vårt pt-BR-språkpaket: reducering av pleonasmer och borttagning av utfyllnadsord, finjusterat för brasiliansk-portugisisk grammatik.
Den virala YAGNI-kodningsfärdigheten ”lat seniorutvecklare” — inspirerade vår utdatastil less-code: styrning mot minsta fungerande ändring som minskar _genererad_ kod (motsvarigheten på utdataaxeln till Cavemans korthuggna prosa).
Innehållsmedveten utdatakomprimering per filtyp med felmedveten avbrytning — bekräftade vår dirigering per typ och överhoppning vid otillräcklig vinst.
Kolumnär JSON i Rust + innehållsadresserad hämtning + avduplicering över flera meddelanden — bekräftade utformningen av våra headroom/ccr/session-dedup-motorer och den cachestabila invarianten ”den komprimerade formen är positionsoberoende”.
MITM-avlyssning och analys av trafik mellan kodningsassistenter och LLM:er låg till grund för de tidiga kraven på Traffic Inspector. Fyra tidigare härledda moduler — SSE-sammanslagning, konversationsnormalisering, maskering av hemligheter och sanering av huvuden — har ersatts av oberoende clean-room-implementationer baserade på offentliga protokollstandarder. De två ytorna för vidarebefordran till värdar (passthrough.ts och _internal/bypass.cjs) förblir interna OmniRoute-implementationer som klassificeras separat; de skrevs inte om som en del av denna ersättning.
Transparent proxy-routing per process — inspirerade vår kraschsäkra nedstängning av MITM, inaktivitetstimeouter för socketar, processtillskrivning via /proc och TPROXY-infångning.
### 📚 Modelldata, observerbarhet och användargränssnitt
En kurerad lista över bibliotek med säkra standardinställningar som vägleder våra säkerhetsval (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Inspirerade deduplicering av förfrågningar, kostnadsfri reservlösning för nödsituationer, utbytbara Auto-Combo-strategier och flerspråkig avsiktsklassificering.
Dess kontomedvetna ommappning av modeller, validering av sökvägar till körbara filer och beteende för abonnemangsetiketter låg till grund för OmniRoutes Antigravity-körmiljö.
Identifierade kvotgränssnittet för Grok Build; OmniRoute verifierade och korrigerade sedan det aktiva dataformatet oberoende.
## 📄 Licens
MIT-licens – se [LICENSE](LICENSE) för mer information.
---
**[⬆ Tillbaka till toppen](#-omniroute)** · Byggd med ❤️ för AI-communityn kring öppen källkod.
OmniRoute v3.8.52 · Node ≥22.22.2 · MIT-licens · omniroute.online