> 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 över 35 återkommande poolnycklar** och beräknar det angivna antalet token utifrån de **17 poolerna med en publicerad positiv månadsbudget plus fem Groq-gränser per modell**, deduplicerade efter 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 huvudvärdet. Resultatet förblir synligt på instrumentpanelen (`/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 **rör sig åt båda hållen** — om en leverantör avslutar en kostnadsfri nivå sjunker siffran; om en ny tillkommer stiger den. Vi publicerar det som katalogen faktiskt beräknar, aldrig ett avrundat optimalt scenario.
⭐ Stjärnmärk 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, versioner 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
## 🆓 Fungerar direkt efter installation — inga nycklar, ingen konfiguration
```bash
# Ny installation, inga referenser — `auto` fungerar redan:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
Föredrar du en specifik gratis backend? Anropa `oc/…` (OpenCode Free) direkt. Gå sedan över till `auto` och låt OmniRoute välja.📦 Kopiera-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 berättigade och fungerande modell. 🛡️
### ⚡ Nollkonfiguration — använd bara `auto`
Ingen combo behöver skapas. Ställ in din modell på `auto` (eller en variant) så bygger OmniRoute en virtuell combo från dina anslutna leverantörer, poängsatt i realtid:
Modell-ID
Vad den optimerar för
auto
🎯 Balanserat standardval (LKGP — håller fast vid din senast fungerande leverantör)
auto/coding
🧑💻 Kvalitetsprioriterade vikter 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/hastighetsbegränsning 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
🧪 Vikter för felinjektion vid resiliensprovning (kaosteknik)
##
### 🔀 Eller bygg din egen — 19 routningsstrategier
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 🥇
2
fill-first
Fyll varje måls kvot helt innan du går vidare
3
weighted
Viktat slumpval utifrån varje måls vikt
4
round-robin
Växla mellan målen i turordning
5
p2c
Slumpmässig lastbalansering med två val
6
least-used
Välj målet med lägst aktuell belastning
7
random
Likformigt slumpval (deduplicerat)
8
strict-random
Slumpval utan deduplicering av upprepningar 🎲
9
cost-optimized
Minimera $ 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 tidigast
12
reset-aware
Rangordna efter kvotens återställningstid — korta fönster först 📊
13
context-relay
Överlämna kontext mellan mål för långa konversationer 🧠
14
context-optimized
Välj det mål som bäst passar den aktuella kontextstorleken
15
cache-optimized
Fäst varje återanvändbart promptprefix vid samma konto — maximera träffar i promptcachen 🎯
16
lkgp
Senast fungerande sökväg — fäster vid den senast fungerande leverantören och faller sedan tillbaka på reglerna
17
auto
Realtidspoängsättning med 16 faktorer för varje anslutning 🤖
18
fusion
Skickar till en panel av modeller + en domare sammanställer ett enda svar 🧬
19
pipeline
Kedja av steg — varje måls utdata matas till nästa mål 🔗
📊 Fullständig metodik & detaljer per funktion jämfört med 9router, OpenRouter, CLIProxyAPI & 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 via 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 returnera 503, med atomiska rullande RPM-leasingar per anslutning. → [Guide om motståndskraft](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonisk ordning för `/v1/models`** — ett sammanhängande block grupperat efter leverantör per leverantör (kombinationer fästs först), stabilt i alla katalogkällor. → [API-referens](docs/reference/API_REFERENCE.md)
- **🗜️ Härdad 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)
- **💸 Ärlig kostnad för fast pris** — leverantörer med abonnemang/kodningsplan visas som **$0** i kostnadsanalysen; budget, kvot och dirigering fortsätter att göra uppskattningar. → [API-referens](docs/reference/API_REFERENCE.md)
- **⚖️ Kvotandelsdirigering** — fördela ett delat kontos kvot rättvist mellan poolade nycklar, med bibehållen resurseffektivitet så att outnyttjade andelar lånas ut. → [Guide om motståndskraft](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 ett OAuth-hjälpverktyg för `antigravity` vid VPS-installationer. → [Fjärrläge](docs/guides/REMOTE-MODE.md)
- **🧭 Smartare automatisk dirigering** — `auto/:`-kombinationer, **Fusion** (modellpanel + domare), uppgiftsmedveten dirigering samt åsidosättningar per förfrågan för modell/läge/USD-budget. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Utbytbar komprimering** — 12 kombinerbara motorer + Compression Studios: LLMLingua-2, Ultra i två nivåer, omniglyph, trohetskontroll per steg, GCF v3.2 och redigerare med dra-och-släpp-omordning. → [Komprimering](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparent MITM-dekryptering (TPROXY)** — fånga trafik från CLI-verktyg som ignorerar proxy-miljövariabler, med en CA per SNI samt installation i förtroendelagret. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Kostnadstelemetri överallt** — kostnads-/användningshuvuden av typen `X-OmniRoute-*` på varje slutpunkt, besparingshuvud för cache-HIT och utgiftskvoter i USD per nyckel. → [API-referens](docs/reference/API_REFERENCE.md)
- **🧠 Minne som du styr** — inaktiverat som standard, valfri int8-vektorkvantisering + typad avklingning, `x-omniroute-no-memory` per förfrågan. → [Minne](docs/frameworks/MEMORY.md)
- **🛡️ Säkerhet** — skydd mot promptinjektion på varje LLM-rutt (red-team-svit), valfritt skydd för maskering av inloggningsuppgifter (maskerar läckta API-nycklar/hemligheter i båda riktningarna), kostnadsfri DuckDuckGo-webbsökning som sista utväg och en valfri OIDC-inloggningsspärr för instrumentpanelen (lösenordsinloggning är alltid fortsatt tillgänglig). → [Skyddsmekanismer](docs/security/GUARDRAILS.md)
- **🖼️ Nya slutpunkter** — `/v1/ocr` (Mistral OCR) och `/v1/audio/translations` (i Whisper-stil) kompletterar medieutbudet. → [API-referens](docs/reference/API_REFERENCE.md)
- **🎨 Bild-/video-/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)
- **🌍 Distribution och drift** — `basePath` för omvänd proxy, 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, förstklassigt kort för Ollama, Claude Opus 5 och Sonnet 5, officiellt partnerskap med Kimi (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 vilken strategi/leverantör/latens som hanterade det, en ny kombinationsstrategi `cache-optimized` + Auto-Combo-faktorn `cacheAffinity` dirigerar upprepade förfrågningar tillbaka till anslutningen med det cachade prefixet, och en skrivskyddad slutpunkt `/v1/auto-combo/{channel}/candidates` 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, distributionsverktyg för Cloudflare Workers-/Deno Deploy-reläer samt Bifrost och Mux som övervakade inbäddade tjänster. → [Inbäddade tjänster](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Ingår också** — pluginramverk + marknadsplats, färdighetsramverk för Omni/Agent/GitHub, integrering med Obsidian-valv (22 MCP-verktyg), OpenAI-kompatibla Batch- och Files-API:er, semantisk svarscache, spelifiering med topplistor, ACP-agentidentifiering (15 inbyggda agenter), schemalagd loggexport till BigQuery, `auto/chaos`-felinjektion, en Telegram-brygga för bottar, en versionshanterare i appen och 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)
## 🌐 357 AI-leverantörer — 152 katalogmärkta som kostnadsfria
> **357 registrerade leverantörer** i de kanoniska samlingarna för chatt, media, sökning, lokala tjänster, molnagenter och system, inklusive **152 med identifieringsmetadata `hasFree: true`**. Chattmodellregistret omfattar **229 leverantörer / 2 554 unika par av leverantörer och modeller / 1 283 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 beräkningar där pooler har deduplicerats 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 över 330 till — 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 router, 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 behö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 besparingskalkyl
Den staplade standardkombinationen kör `RTK → Caveman`. När båda bearbetar samma verktygs-/kontextnyttolast multipliceras 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 några få räcker?** Varje begäran passerar **transparent** genom OmniRoutes komprimeringspipeline — inga klientändringar krävs. Den består nu av en **stack med 12 kombinerbara motorer** som körs i ordning och kan kombineras fritt för varje routningskombination — baserat på idéer från [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90 000+), [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 eller inaktiveras och konfigureras separat 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, som hämtas vid behov
3
Lite
Rensning av blanksteg och bild-URL:er (basnivå 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 av utdata från skal, patchning, sökning och byggen (Responses API)
6
Headroom
Förlustfri tabellkomprimering av JSON-arrayer (~30 %) via en inkluderad GCF-kodek
7
Relevance
Extraktiv poängsättning av meningar mot den senaste användarfrågan
8
Caveman
Regelbaserad komprimering av prosa (~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 token-gallring 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 en direkt Anthropic-anslutning; GPT 5.6-transformatorer förblir felsäkert stängda i väntan på leverantörskvitton. Fyra komprimeringsprofiler (aggressiv som standard, balanserad, kodsäker, oförändrad vidarebefordran) (mest aggressiv; kräver aktivt val)
Kodblock, URL:er och strukturerade data bevaras **alltid** byteperfekt. **Förinställningar med ett klick** kombinerar motorerna:
Läge
Besparing
Passar bäst för
🪶 Lite
~15 %
Säker standard som alltid är aktiverad
🪨 Standard (Caveman)
~30 %
Daglig programmering
⚡ Aggressive
~50 %
Långa sessioner med omfattande verktygsanvändning
🔥 Ultra
~75 %
Maximal besparing
🧰 RTK
60–90 %
Utdata från skal/tester/byggen/git
🔗 Staplad (RTK → Caveman)
78–95 %
Blandade prompter och verktygsloggar
**Verkligt exempel — standardläge:**
> **Före (69 tokens):** _"Anledningen till att din React-komponent återrenderas är troligen att du skapar en ny objektreferens i varje renderingscykel. När du skickar ett inline-objekt som en prop ser Reacts ytliga jämförelse det som ett nytt objekt varje gång, vilket utlöser en återrendering. Jag rekommenderar att du använder useMemo för att memoisera objektet."_
>
> **Efter (19 tokens):** _"Ny objektreferens vid varje rendering. Inline-objekt som prop = ny referens = återrendering. 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 tokens):** _"Problemet är att komponenten renderas om eftersom en ny objektreferens skapas i varje renderingscykel. Jag rekommenderar att använda useMemo."_
>
> **Efter (12 tokens):** _"Omrendering: ny ref varje cykel (inline-objekt återskapas). Använd `useMemo`."_
>
> **Samma svar. ~70 % färre tokens. Den tekniska precisionen är intakt.** ✅
### 🎚️ Bortom motorerna — utdatastilar, det adaptiva reglaget och kontroll 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 av utdataaxeln)_ — injicera deterministiska, cachesäkra instruktioner som formar svaret; kan kombineras, var och en med intensiteten `lite` / `full` / `ultra`. Att lägga till en stil kräver en enda rad i registret:
- **Koncis prosa** — ta bort utfyllnad / artiklar / garderingar; behåll den tekniska innebörden exakt.
- **Mindre kod** — YAGNI enligt en ”lat seniorutvecklare”: minsta fungerande ändring, ingen struktur som inte efterfrågats.
- **Hästsvans (lat seniorutvecklare)** — klättra uppför YAGNI-stegen, åtgärda grundorsaken, minsta fungerande diff.
- **Jag har ADHD (åtgärden först)** — börja med nästa åtgärd, numrera stegen, ett konkret nästa steg, ingen inledning.
- **Koncis CJK (文言)** — ultrakoncis stil på klassisk kinesiska (begränsad till språkvarianten `zh`).
- **🎯 Adaptiv kontextbudget** _(reglaget)_ — i stället för ett enda tröskelvärde för tokens som slår av eller på eskaleras de billigaste motorerna med minst informationsförlust endast så långt som krävs för att **rymmas i modellens kontextfönster**. Policy: `reserve-output` (standard, modellanpassad) · `percentage` · `absolute`. Läge: `floor` (garantera att det ryms) · `replace-autotrigger` (ditt uttryckliga val gäller) · `off` (äldre tröskelbeteende).
- **🎛️ Var komprimeringen beslutas** _(prioritetsordning, hög → låg)_ — `x-omniroute-compression`-header per begäran › åsidosättning för routningskombination › aktiv namngiven profil › adaptiv / automatisk utlösning › panelstandard › av. Den tillämpade planen returneras i svarsheadern `X-OmniRoute-Compression: ; source=`.
Utlös automatiskt utifrån ett tröskelvärde för tokens, slå på det adaptiva reglaget, fäst en namngiven profil, ange en engångsinställning per begäran eller tilldela en pipeline per routningskombination — välj det som passar arbetsbelastningen. En valfri lokal **utvärderingsmiljö** (`npm run eval:compression`) mäter trohet mot besparingar på en fixerad korpus innan du lanserar 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).
Kontrollpanelen finns på `http://localhost:20128` · API:t finns på `http://localhost:20128/v1`.
**2) Anslut en KOSTNADSFRI leverantör (ingen registrering)**
Kontrollpanelen → **Leverantörer** → anslut **Kiro AI** (kostnadsfri Claude, ~50 krediter/månad per konto) eller **OpenCode Free** (ingen autentisering) → klart.
**3) Konfigurera ditt kodningsverktyg**
```txt
Bas-URL: http://localhost:20128/v1
API-nyckel: [kopiera från Kontrollpanelen → Slutpunkter]
Modell: auto (smart routning utan konfiguration — eller valfri leverantör/modell)
```
**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å sköter OmniRoute automatisk routning och reservväxling åt dig.
Om din klient inte kan skicka anpassade headers exponerar OmniRoute även tokeniserade kompatibilitetsalias:
```txt
OpenAI-katalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI-modeller: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI-chatt: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI-svar: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama-chatt: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama-taggar: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Använd endast dessa 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.
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.51 · Node ≥22.22.2 · MIT-licens · omniroute.online