> Det er tungvint å stable gratisnivåer manuelt — dusinvis av SDK-er, dusinvis av hastighetsgrenser og ingen oversikt over hvor mye du faktisk har. OmniRoute katalogiserer **489 gratisnivåoppføringer fordelt på 35 gjentakende poolnøkler** og beregner tokenoverskriften ut fra de **17 poolene med et publisert positivt månedsbudsjett, pluss fem Groq-grenser per modell**, deduplisert etter delt pool. Kvoter som bare blir tilgjengelige etter en regional identitetskontroll (i dag: ModelScope), vises separat, +~6M bak regional identitetsverifisering, og tas aldri med i overskriftstallet. Resultatet forblir synlig i kontrollpanelet (`/dashboard/free-tiers`).
> Animert sammendrag av den aktive siden `/dashboard/free-tiers`. Full metodikk (pooldeduplisering, kredittrinn, leverandørvilkår): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Disse tallene gjennomgås på nytt annenhver uke mot den aktive katalogen og **beveger seg begge veier** — hvis en leverandør avslutter et gratisnivå, synker tallet; hvis en ny kommer til, stiger det. Vi publiserer det katalogen faktisk beregner, aldri et oppjustert bestefall.
⭐ Gi kodelageret en stjerne hvis OMNIROUTE har hjulpet deg med å spare penger og gjøre arbeidet enklere.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Bli med i fellesskapet
**👋 Følg vedlikeholderen — få nye leverandører, utgivelser og 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)
**Spørsmål, leverandørtips, veikart og støtte → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Globalt](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](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 fortsetter å vokse
## 🆓 Fungerer med en gang du installerer det — ingen nøkler, ingen konfigurasjon
```bash
# Fersk installasjon, null legitimasjon — `auto` fungerer allerede:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
Foretrekker du en spesifikk gratis backend? Kall `oc/…` (OpenCode Free) direkte. Gå deretter over til `auto` og la OmniRoute velge.📦 Kopier-lim inn hurtigstartskript for **Python, Node.js, PHP og cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Løftet
# 🤔 Hvorfor OmniRoute?
## 🤝 Støttet av våre åpen kildekode-venner
> **Vil du bli med som en åpen kildekode-venn?** Dette er selskapene som støtter åpen kildekode og hjelper OmniRoute med å holde det gående – og vi sier offentlig hvor hver token de gir oss går. Ta kontakt: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Takk til Kimi (Moonshot AI), vår grunnleggende åpen kildekode-venn, for å støtte dette prosjektet! Kimi er AI-laboratoriet bak de åpen-vektede K2- og K3-modellfamiliene – Kimi K3 leverer et 1M-token kontekstvindu, innebygd syn og grense-nivå koding til en brøkdel av prisen for lukkede modeller, og fungerer ut av boksen med Claude Code, Codex og alle kodingsverktøy OmniRoute tilbyr.
Hva Kimis støtte driver: Kimis API-kreditter driver OmniRoutes AI-validerte utgivelses-pipeline – sammenslåingsvalideringen drevet av Kimi K3-stadiet som gjennomgår hver pull-forespørsel før den sendes – pluss daglig funksjonsutvikling. Førsteklasses Kimi-støtte leveres på begge måter: den direkte Kimi API (kimi-k3) og Kimi Code kodingplanen (OAuth og API-nøkkel). OmniRoute er også det første brasilianske åpen kildekode-prosjektet i Kimis støtteprogram. Få en Kimi API-nøkkel med 15 % ekstra kreditter →
Cheaper Inference cheaperinference.com
Takk til Cheaper Inference, en OmniRoute åpen kildekode-venn, for å støtte dette prosjektet! Cheaper Inference er en kostnadsrangert gateway som videreselger 42 grensemodeller – Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok og MiniMax – bak ett OpenAI-kompatibelt endepunkt, og ruter hver forespørsel til den billigste kvalifiserte leverandøren uten å noensinne ta mer enn modellprodusentens listepris.
Førsteklasses støtte i OmniRoute: Chat Completions, det native /v1/responses-endepunktet, visjon, verktøykall og 3 bildemodeller (grok-imagine, nano-banana-pro, nano-banana-2, tilgjengelig som cheaperinference/<model>). Få en API-nøkkel →
Lenker merket aff=omniroute er partnerlenker. De finansierer prosjektet uten ekstra kostnad for deg. 🎟️ Affiliates Promo — gratis registreringskuponger fra leverandører vi ikke sponser (klikk for å utvide)Denne seksjonen er kun for henvisnings-/kupongkoder. Sponsede partnerskap finnes i 🤝 Støttet av våre åpen kildekode-venner ovenfor. OmniRoute har ingen sponsing eller partnerskap med leverandørene som er oppført her – dette er offentlige kuponger som alle kan bruke.
AgentRouter agentrouter.org
AgentRouter — affiliate-registrering · $100 gratis kreditter ved registrering (gratis server, forvent høyere latens – best for testing, ikke produksjon). Førsteklasses støtte i OmniRoute siden v3.8.50: Chat Completions, det Anthropic-kompatible trådformatet og den OpenAI-kompatible stien. Tilgjengelige modeller inkluderer claude-opus-4-8, claude-opus-5, gpt-5.6-sol og mer. Hent dine $100 →
⚠️ Affiliate-lenke — OmniRoute har ingen sponsing eller partnerskap med denne leverandøren.
Kjenner du en annen leverandør med en generøs gratis registreringskupong som gagner OmniRoute-brukere? Åpne en sak, så legger vi den til her.
## 🎯 Kombinasjoner — flaggskipet
> En **kombinasjon** er en kjede av modeller som OmniRoute ruter mellom **automatisk**. Hvis kvoten brukes opp, en leverandør svikter eller kostnadene øker kraftig, kan kombinasjonen gå videre til den neste kvalifiserte og fungerende modellen. 🛡️
### ⚡ Null konfigurasjon — bare bruk `auto`
Du trenger ikke å opprette noen kombinasjon. Sett modellen til `auto` (eller en variant), så bygger OmniRoute en virtuell kombinasjon fra de tilkoblede leverandørene dine, poengberegnet i sanntid:
Modell-ID
Hva den optimaliserer for
auto
🎯 Balansert standardvalg (LKGP — holder seg til den sist fungerende leverandøren)
auto/coding
🧑💻 Kvalitetsorientert vekting for kodegenerering
auto/fast
⚡ Laveste latenstid først
auto/cheap
💰 Laveste kostnad per token først
auto/offline
🔋 Størst margin for kvoter/frekvensgrenser først
auto/smart
🔭 Kvalitet først + 10 % utforsking for å oppdage bedre modeller
auto/lkgp
📌 Eksplisitt binding til sist fungerende leverandør
auto/chaos
🧪 Vekting med feilinjisering for robusthetstesting (kaosteknikk)
##
### 🔀 Eller bygg din egen — 19 rutingsstrategier
Alle **19** strategiene — kombiner fritt for hvert trinn i kombinasjonen:
#
Strategi
Hva den gjør
1
priority
Ordnet liste med første mål først — tøm hvert mål før det neste 🥇
2
fill-first
Fyll kvoten til hvert mål helt før du går videre
3
weighted
Vektet tilfeldig valg basert på vekten til hvert mål
4
round-robin
Gå gjennom målene etter tur i rekkefølge
5
p2c
Tilfeldig lastbalansering med «power of two choices»
6
least-used
Velg målet med lavest belastning akkurat nå
7
random
Ensartet tilfeldig valg (duplikater fjernes)
8
strict-random
Tilfeldig valg uten å fjerne gjentakelser 🎲
9
cost-optimized
Minimer $ per forespørsel ut fra oppdaterte katalogpriser 💸
10
headroom
Velg målet med størst gjenværende kvote
11
reset-window
Foretrekk målet som får kvotevinduet nullstilt først
12
reset-aware
Ranger etter tidspunkt for nullstilling av kvoten — korte vinduer først 📊
13
context-relay
Overfør kontekst mellom mål for lange samtaler 🧠
14
context-optimized
Velg det som passer best til den gjeldende kontekststørrelsen
15
cache-optimized
Bind hvert gjenbrukbare promptprefiks til samme konto — maksimer treff i promptbufferen 🎯
16
lkgp
Sist fungerende rute — binder til den sist vellykkede leverandøren og faller deretter tilbake på reglene
17
auto
Poengberegning i sanntid basert på 16 faktorer på tvers av alle tilkoblinger 🤖
18
fusion
Sender ut til et panel av modeller + en dommer sammenfatter ett svar 🧬
19
pipeline
Koble sammen trinn — utdataene fra hvert mål sendes videre til det neste 🔗
Auto-Combo-motoren gir hver kandidat poeng basert på **16 faktorer** (tilstand, kvote, kostnad, latenstid, oppgavetilpasning, kvalitet, økttilgjengelighet …) — se [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Robusthet er innebygd (3 uavhengige lag)
📖 [Automatisk kombinasjonsmotor](docs/routing/AUTO-COMBO.md) · [Robusthetsveiledning](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Hva skiller OmniRoute ut
📊 Full metodikk & detaljer per funksjon vs 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Støtt OmniRoute
OmniRoute er MIT-lisensiert og vedlikeholdes åpent. Hvis det sparer deg for tid eller penger, kan du bidra til å holde det uavhengig — velg det som passer deg. Sponsing påvirker aldri rutingsprioriteten; det kjøper synlighet, ikke rangering.
**🇧🇷 PIX** — umiddelbart, uten gebyrer (Brasil)
Nøkkel (tilfeldig): `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 (klikk for å utvide)
₿ BTC
Bitcoin (SegWit)
bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH
Ethereum (ERC20)
0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT
Tron (TRC20)
TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC
Solana
2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Send hver valuta kun via nettverket som vises — sending via feil nettverk kan føre til at midlene går tapt.
🐛 Funnet en feil eller har du tilbakemeldinger? Start en [diskusjon](https://github.com/diegosouzapw/OmniRoute/discussions).
Merknader for utviklere: Prosjektet kan generere en lokal .env-fil under npm install/postinstall for å gjøre det enklere for utviklere. Denne filen ignoreres med hensikt via .gitignore (se .gitignore) og må aldri legges inn i repositoriet — hvis den ved et uhell blir lagt inn, må alle eksponerte hemmeligheter roteres og filen fjernes fra historikken. Se docs/DEVELOPER-ENVIRONMENT.md for veiledning om håndtering av lokale miljøfiler og hemmeligheter.
## 📡 OmniRoute Radar
Hovedtallet for gratisnivået er fortsatt **~1,62 mrd. tokens/måned** fra den dokumenterte,
utvalgsduplikatfjernede katalogen ovenfor. Midlertidige registreringskreditter fra leverandører kan separat øke den første
måneden til **~2,22 mrd.** Radar er et valgfritt, signert katalogoverlegg for dem som ønsker mer oppdatert
tilgjengelighet av gratismodeller mellom OmniRoute-utgivelser. Fellesskapskatalogen og alle eksisterende
gratisfunksjoner forblir gratis.
Støttespillere kan motta den oppdaterte katalogen og flere leverandørmuligheter. Den separate,
variable øvre grensen er **maksimalt omtrent 3 mrd. tokens/måned**, avhengig av leverandørtilgjengeligheten.
Denne grensen er ingen garanti: Leverandører kan når som helst endre kvoter, kvalifikasjonskrav, modeller eller
regioner.
Radar er valgfritt og bruker kun GET. OmniRoute-klienten laster ikke opp ledetekster, trafikk, leverandørkonfigurasjon,
brukstelemetri eller lokal status for avviste kunngjøringer. Les mer om kvalifikasjonskravene og
den gjeldende katalogen på **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Nyheter
> Nylige høydepunkter fra **v3.8.20 → v3.8.50**. Full historikk finnes i [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — innkommende A2A-delegering til agentflåten din, Conductor-ferdigheter på Agent Card og et kontrollpanel med Faro push-to-talk-talechat. → [A2A-server](docs/frameworks/A2A-SERVER.md)
- **🛂 Adaptiv tilgangs- og overbelastningsbeskyttelse** — ressurskrevende chatforespørsler legges i kø i stedet for å returnere 503, med atomiske, rullerende RPM-leieavtaler per tilkobling. → [Veiledning for robusthet](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonisk rekkefølge for `/v1/models`** — én sammenhengende, leverandørgruppert blokk per leverandør (kombinasjoner festet først), stabil på tvers av alle katalogkilder. → [API-referanse](docs/reference/API_REFERENCE.md)
- **🗜️ Forsterket komprimering** — inflasjonsvern aktivert som standard, Caveman-pakker for DE / FR / JA + kinesisk (wényán), RTK-filtre for Gradle og .NET. → [Komprimering](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Ærlige fastpriskostnader** — abonnements-/kodeplanleverandører vises med **$0** i kostnadsanalysen; budsjett, kvote og ruting fortsetter å beregne estimater. → [API-referanse](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share-ruting** — fordel kvoten til en delt konto rettferdig mellom samlede nøkler, med arbeidsbevarende utlån av ubrukte andeler. → [Veiledning for robusthet](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Oppsett av CLI/agent med én kommando** — 13 registrerte `setup-*`-kommandoer; `omniroute run` starter 7 CLI-er (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` støtter 10 mål med en interaktiv velger for leverandør og modell samt favoritter per kontekst. → [CLI-integrasjoner](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Ekstern modus** — styr en ekstern OmniRoute med omfangsbegrensede tokener (`connect` / `contexts` / `tokens`) + en `antigravity` OAuth-hjelper for VPS-installasjoner. → [Ekstern modus](docs/guides/REMOTE-MODE.md)
- **🧭 Smartere automatisk ruting** — `auto/:`-kombinasjoner, **Fusion** (modellpanel + dommer), oppgavebevisst ruting og overstyringer per forespørsel for modell / modus / USD-budsjett. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Utvidbar komprimering** — 12 kombinerbare motorer + Compression Studios: LLMLingua-2, Ultra med to nivåer, omniglyph, kvalitetssperre per trinn, GCF v3.2 og redigeringsverktøy med dra-og-slipp-omorganisering. → [Komprimering](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparent MITM-dekryptering (TPROXY)** — fang opp CLI-er som ignorerer proxy-miljøvariabler, med en CA per SNI + installasjonsverktøy for tillitslager. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Kostnadstelemetri overalt** — `X-OmniRoute-*`-hoder for kostnad/bruk på alle endepunkter, sparehode for cache-HIT og forbrukskvoter i USD per nøkkel. → [API-referanse](docs/reference/API_REFERENCE.md)
- **🧠 Minne du kontrollerer** — deaktivert som standard, valgfri int8-vektorkvantisering + typet nedbrytning, `x-omniroute-no-memory` per forespørsel. → [Minne](docs/frameworks/MEMORY.md)
- **🛡️ Sikkerhet** — vern mot promptinjeksjon på alle LLM-ruter (red-team-testpakke), valgfritt vern for maskering av legitimasjon (sladder lekkede API-nøkler/hemmeligheter i begge retninger), gratis DuckDuckGo-nettsøk som siste utvei og en valgfri OIDC-påloggingssperre for kontrollpanelet (passordpålogging er alltid tilgjengelig). → [Sikkerhetsmekanismer](docs/security/GUARDRAILS.md)
- **🖼️ Nye endepunkter** — `/v1/ocr` (Mistral OCR) og `/v1/audio/translations` (Whisper-stil) kompletterer mediestøtten. → [API-referanse](docs/reference/API_REFERENCE.md)
- **🎨 Generering av bilder / video / lyd** — ett API for medier: xAI Grok Imagine og Novita AI-video, ComfyUI, Magnific, Adobe Firefly, Segmind og taleleverandører som ElevenLabs. → [API-referanse](docs/reference/API_REFERENCE.md)
- **🌍 Distribusjon og drift** — `basePath` for omvendt proxy, automatisk gjenkjenning av nettleserspråk, enhetssporing per nøkkel, rotløs MITM-tillit og zh-TW-lokalisering. → [Miljø](docs/reference/ENVIRONMENT.md)
- **🤝 Flere leverandører og agenter** — skyagenter (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) med nettleser + OAuth-pålogging, fullverdig Ollama-kort, Claude Opus 5 og Sonnet 5, offisielt Kimi-partnerskap (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI … og en oppdatert **katalog med 352 leverandører**. → [Leverandører](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Gjennomsiktig ruting** — hvert svar inneholder et `X-OmniRoute-Decision`-hode som angir strategien/leverandøren/ventetiden som betjente det, en ny `cache-optimized`-kombinasjonsstrategi + Auto-Combo-faktoren `cacheAffinity` ruter gjentatte forespørsler tilbake til tilkoblingen som har det bufrede prefikset, og et skrivebeskyttet `/v1/auto-combo/{channel}/candidates`-endepunkt viser den aktive kandidatgruppen til en `auto/*`-kanal. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokal ytelse og infrastruktur** — lokal Redis med ett klikk, distribusjonsverktøy for Cloudflare Workers-/Deno Deploy-reléer samt Bifrost og Mux som overvåkede, innebygde tjenester. → [Innebygde tjenester](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Også inkludert** — rammeverk + markedsplass for programtillegg, ferdighetsrammeverk for Omni/Agent/GitHub, Obsidian-hvelvintegrasjon (22 MCP-verktøy), OpenAI-kompatible API-er for Batch og Files, semantisk svarbuffer, spillifisering med ledertavler, ACP-agentoppdagelse (15 innebygde agenter), planlagt loggeksport til BigQuery, `auto/chaos`-feilinjisering, en Telegram-brobot, en versjonsbehandler i appen og LMArena-ELO-rangeringer for gratisleverandører. → [Dokumentasjon](docs/README.md)
## 🤖 Kompatible CLI-er og kodeagenter
> Én konfigurasjon — `http://localhost:20128/v1` — og **alle** AI-IDE-er eller CLI-er kjører på gratis og rimelige modeller.
+ fungerer også med · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · alle OpenAI-kompatible verktøy
📖 Verktøyspesifikt oppsett for alle de 36 verktøyene (26 CLI-kodeverktøy + 10 CLI-agenter) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode-programtillegg → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Start et hvilket som helst støttet CLI-verktøy gjennom OmniRoute med én kommando** — ingen konfigurasjonsfiler skrives,
legitimasjon injiseres per prosess, og Qwen/Gemini får en midlertidig, isolert hjemmekatalog:
```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 velg leverandør og modell interaktivt, og skriv verktøyets egen konfigurasjon:
omniroute configure codex # også: claude opencode qwen aider goose gemini cline continue kilo
```
Alle kommandoer respekterer den aktive eksterne konteksten (`omniroute connect `), `--dry-run`
forhåndsviser nøyaktige miljøvariabler og argumenter uten å kjøre noe, og `--api-key-env NAME` holder hemmeligheter ute
av skallhistorikken din. → [CLI-integrasjoner](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 KI-leverandører — 152 katalogmerket som gratis
> **357 registrerte leverandører** på tvers av de kanoniske samlingene for chat, medier, søk, lokal kjøring, skyagenter og systemer, inkludert **152 med oppdagelsesmetadataene `hasFree: true`**. Chatmodellregisteret dekker **229 leverandører / 2 554 unike leverandør–modell-par / 1 283 rå modell-ID-er**; den separate katalogen over gratisbudsjetter har **491 rader per modell**, **35 gjentakende kvotepuljer** og **54 gjentakende/nøkkelfrie leverandører som er gratis for alltid**. Nevnerne er med hensikt forskjellige; definisjoner og beregninger der kvotepuljer er deduplisert, finnes i [Leverandørreferansen](docs/reference/PROVIDER_REFERENCE.md) og [Gratisnivåer](docs/reference/FREE_TIERS.md).
### 🏢 Alle større laboratorier — gjennom ett endepunkt
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…og over 330 til — hvert ikon hentes direkte fra kontrollpanelets leverandørkatalog. 📖 [Leverandørreferanse](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Gratis for alltid — $0, uten kort
OpenCode Zen DeepSeek V4, Nemotron 3 Ingen tokenbegrensning
Kilo Code Automatisk ruting, Tencent Hy3 Gratis for alltid
Requesty GPT-OSS 120B, Nemotron Gratis for alltid
SiliconFlow DeepSeek V3.2 / R1 Gratisnivå
Z.AI GLM GLM-4.7 / 4.5-Flash Gratis for alltid
Baidu ERNIE ERNIE 4.0 Gratis for alltid
Qoder AI Qwen3-Max, Kimi-K2 Ubegrenset GRATIS
Pollinations GPT, Llama, Claude Ingen nøkkel nødvendig
### 🧩 Nytt: OmniRoute i VS Codes integrerte Copilot Chat
> Ingen ny sidestolpe, ikke noe nytt chatgrensesnitt — alle modellene OmniRoute leverer, vises direkte i
> **modellvelgeren i Copilot Chat som du allerede bruker**. Fra og med VS Code 1.122 fungerer leverandørmodeller
> uten GitHub-innlogging eller Copilot-abonnement — agentmodus, verktøykall og bildeanalyse,
> helt gratis.
Installer utvidelsen **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, koble den
til OmniRoute-serveren din (standard er `localhost:20128`), og åpne deretter Copilot Chat → modellvelger
→ **Administrer modeller…** → **OmniRoute**.
Fra redigeringsprogrammet: åpne visningen **Utvidelser**, søk etter **«OmniRoute»**, og klikk på **Installer**
— fungerer på samme måte i begge butikkene. Kildekode, saker og publiseringshåndboken finnes på
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Veiledning for VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — oppsett, hva modellvelgeren viser, kontrollpanel i en fane, feilsøking
### 🎩 Nytt: OmniRouteTray — gatewayen din, rett i menylinjen
> `omniroute serve` trives best når den alltid er på. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> gjør dette til en menylinjeapp for macOS som du kan sette opp og glemme: Den starter serveren, holder den i gang
> på tvers av omstarter, oppdaterer den på stedet og gir deg direkte tilgang til gjeldende tokenbudsjett med ett klikk — **uten
> et terminalvindu som står åpent, og uten en `npm install -g omniroute`-installasjon som må passes på.**
Den er bygget med [Tauri v2](https://v2.tauri.app/) (en Rust-kjerne på størrelse med en avrundingsfeil) og leveres med
sin egen signerte Node 24-kjøretid. Den administrerer en appeid OmniRoute-installasjon, slik at den aldri kommer i konflikt med din
globale `node`/`bun`. Den **deler den eksisterende konfigurasjonen og databasen din i `~/.omniroute/`** — så det er
den samme OmniRoute du allerede kjører, bare med hatt på. 🎩
Hva den gjør
Hvordan
🟢 Overvåker serveren
Starter omniroute serve og overtar en instans som allerede kjører, i stedet for å duplisere den
📊 Direkte bruksoversikt
Kvotelinjer for leverandører, økt- og ukesgrenser for Claude med nedtelling til tilbakestilling, kostnadsfordeling for 30 dager
🔄 Autooppdaterer på stedet
Trinnvis installasjon, atomisk bytte, tilbakerulling ved feil — alltid på den nyeste utgivelsen
🚀 Start ved innlogging
Valgfri oppstart ved innlogging; kun systemstatusfelt, uten Dock-ikon
🩺 Diagnostikk og logger
Diagnostikk med ett klikk og tilgang til serverlogger
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Foretrekker du en nedlasting? Hent den nyeste .dmg-filen fra
Utgivelser. Kildekode, feilrapporter og byggedokumentasjon
finner du på zoispag/omniroute-tray.
💛 Et fellesskapsprosjekt av @zoispag — ikke en offisiell OmniRoute-utgivelse.
> I tillegg til serveren er OmniRoute et **komplett kommandolinjekontrollsenter** med **over 80 kommandoer**, samt åpne agentprotokoller slik at en KI-agent kan styre det **på egen hånd**.
### ⌨️ Et ekte CLI (ikke bare `start`)
```bash
omniroute # kjør gateway + kontrollpanel (port 20128)
omniroute chat # interaktiv TUI-chatklient (skråstrek: /model /combo /skill /memory)
omniroute setup # veiledet oppstartsveiviser
omniroute doctor # diagnostiser leverandører, porter og plattformspesifikke avhengigheter
```
### 🛰️ Ekstern modus — kjør CLI-et her og OmniRoute på en VPS
Kjører OmniRoute på en server? Styr det fra den bærbare datamaskinen din med **samme CLI**. Logg inn én gang
med et avgrenset tilgangstoken; deretter retter hver kommando seg mot den eksterne serveren.
```bash
omniroute connect 192.168.0.15 # passord → avgrenset token, lagret som en kontekst
omniroute models list # ← kjører mot den EKSTERNE serveren
omniroute configure codex # ← velger en ekstern modell og skriver en lokal Codex-profil
omniroute tokens create --name ci --scope read # opprett mer begrensede tokener for andre maskiner
omniroute contexts use default # ← bytt tilbake til den lokale serveren
```
Tokener er avgrenset til `read` / `write` / `admin`; ruter som starter prosesser, forblir begrenset til loopback.
📖 [Ekstern modus](docs/guides/REMOTE-MODE.md)
### 🤝 Koble til en agent — så styrer den OmniRoute selv
Gjør OmniRoute tilgjengelig via **MCP**, **A2A**, et **REST API**, **webhooks** eller et **eksternt CLI** — enhver agent med nødvendig funksjonalitet (eller din egen kode) får nøklene til hele gatewayen: ruting, leverandører, kombinasjoner, hurtigbuffer, komprimering og minne — autonomt. HTTP-endepunktene nedenfor er tilgjengelige under `http://localhost:20128`.
Grensesnitt
Endepunkt / kommando
Bruk det til
🧰 MCP (stdio)
omniroute --mcp
Koble til Claude Desktop, Cursor eller en hvilken som helst MCP-klient
Send forespørsels-/kvotehendelser til Slack, Discord, Telegram eller en hvilken som helst URL
🛰️ Eksternt CLI
omniroute connect
Styr en ekstern instans med avgrensede tilgangstokener
```bash
# Gi Claude Code hele OmniRoute-verktøysettet 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) · [Agentprotokoller](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Spar 15–95% tokens — automatisk
### 📖 Slik fungerer det — prosesslinje, arkitektur og beregning av besparelser
Den stablede standardkombinasjonen kjører `RTK → Caveman`. Når begge behandler den samme verktøy-/kontekstnyttelasten, forsterkes besparelsene:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Kodeblokker, URL-er, JSON og strukturerte data er **alltid beskyttet** av bevaringsmotoren.
> **Hvorfor bruke mange tokens når få tokens gjør jobben?** Hver forespørsel passerer **transparent** gjennom OmniRoutes komprimeringsprosesslinje — uten endringer på klientsiden. Den er nå en **stabel med 12 kombinerbare motorer** som kjøres i rekkefølge og kan blandes og tilpasses for hver rutingskombinasjon — basert på ideer fra [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) og [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Stabelen med 12 motorer
Motorene kjøres i prosesslinjens rekkefølge. Hver av dem kan slås av eller på og konfigureres uavhengig for hver kombinasjon:
#
Motor
Hva den gjør
1
Session-Dedup
Fjerner innhold som gjentas på tvers av samtalerunder (innholdsadressert, på tvers av runder)
2
CCR
Arkiverer store blokker bak hentemarkører, som hentes ved behov
3
Lite
Reduksjon av mellomrom og bilde-URL-er (grunnnivå med lav ventetid)
4
RTK
Smart filtrering, deduplisering og avkorting av verktøyresultater (kommandobevisst)
5
Responses Tool Output
Tapsfri JSON først, pluss begrenset diagnostisk komprimering av resultater fra skall, oppdateringer, søk og bygging (Responses API)
6
Headroom
Tapsfri tabellkomprimering av JSON-matriser (~30%) via en integrert GCF-kodek
7
Relevance
Ekstraktiv poengsetting av setninger opp mot den siste brukerforespørselen
8
Caveman
Regelbasert komprimering av prosa (~65–75% av resultatet)
9
Aggressive
Oppsummering og gradvis aldring av gamle samtalerunder
10
LLMLingua-2
ML-basert semantisk beskjæring via MobileBERT ONNX — trygg for kode, asynkron
11
Ultra
Heuristisk tokenbeskjæring med et valgfritt nivå basert på en liten modell (SLM)
12
OmniGlyph
Eksperimentell koding av kontekst som bilde for målte Claude Fable 5 på den direkte Anthropic-forbindelsen. GPT 5.6-transformatorer forblir lukket ved feil i påvente av leverandørkvitteringer. Fire komprimeringsprofiler (aggressiv som standard, balansert, trygg for koding, uendret videreføring) (mest aggressiv, må aktiveres eksplisitt)
Kodeblokker, URL-er og strukturerte data **bevares alltid** helt identisk på bytenivå. **Forhåndsinnstillinger med ett klikk** kombinerer motorene:
Modus
Besparelse
Best egnet for
🪶 Lite
~15%
Trygg standard som alltid er aktiv
🪨 Standard (Caveman)
~30%
Daglig koding
⚡ Aggressive
~50%
Lange økter med omfattende verktøybruk
🔥 Ultra
~75%
Maksimal besparelse
🧰 RTK
60–90%
Resultater fra skall, tester, bygging og git
🔗 Stablet (RTK → Caveman)
78–95%
Blandede ledetekster og verktøylogger
**Reelt eksempel — standardmodus:**
> **Før (69 tokens):** _«Årsaken til at React-komponenten din gjengis på nytt, er sannsynligvis at du oppretter en ny objektreferanse i hver gjengivelsessyklus. Når du sender et internt definert objekt som en prop, oppfatter Reacts overfladiske sammenligning det som et nytt objekt hver gang, noe som utløser en ny gjengivelse. Jeg anbefaler å bruke useMemo for å mellomlagre objektet.»_
>
> **Etter (19 tokens):** _«Ny objektreferanse ved hver gjengivelse. Internt objekt som prop = ny referanse = ny gjengivelse. Pakk inn i useMemo.»_
>
> **Samme svar. 72% færre tokens. Ingen tap av nøyaktighet.** ✅
**PT-BR-eksempel — [Troglodita](https://github.com/leninejunior/troglodita)-modus:**
> **Før (42 tokens):** _«Problemet er at komponenten rendres på nytt fordi en ny objektreferanse opprettes i hver renderingssyklus. Jeg vil anbefale å bruke useMemo.»_
>
> **Etter (12 tokens):** _«Ny rendering: ny ref. hver syklus (inline-objekt opprettes på nytt). Bruk `useMemo`.»_
>
> **Samme svar. ~70 % færre tokens. Den tekniske presisjonen er intakt.** ✅
### 🎚️ Utover motorene — utdatastiler, den adaptive bryteren og kontroll per forespørsel
De 12 motorene ovenfor reduserer det som går **inn**. Tre ekstra lag former **hvordan**, **når** og hva som kommer **ut**:
- **🪄 Utdatastiler** _(styring av utdataaksen)_ — injiser deterministiske, hurtigbuffersikre instruksjoner for utforming av svar; kan kombineres, hver med intensiteten `lite` / `full` / `ultra`. En stil legges til med én enkelt oppføring i registeret:
- **Kortfattet prosa** — fjern fyllord / artikler / forbehold; behold det tekniske innholdet nøyaktig.
- **Mindre kode** — «lat seniorutvikler»-YAGNI: minste fungerende endring, ingen struktur som ikke er etterspurt.
- **Hestehale (lat seniorutvikler)** — klatre opp YAGNI-stigen, løs rotårsaken, minste fungerende diff.
- **Jeg har ADHD (handling først)** — start med neste handling, nummerer trinnene, ett konkret neste trinn, ingen innledning.
- **Kortfattet CJK (文言)** — ultrakortfattet stil på klassisk kinesisk (begrenset til språkinnstillingen `zh`).
- **🎯 Adaptivt kontekstbudsjett** _(bryteren)_ — i stedet for én av/på-terskel for tokens, eskaleres de rimeligste motorene med minst informasjonstap bare så langt som nødvendig for å **få plass i modellens kontekstvindu**. Retningslinje: `reserve-output` (standard, modellbevisst) · `percentage` · `absolute`. Modus: `floor` (garanter at det får plass) · `replace-autotrigger` (det eksplisitte valget ditt vinner) · `off` (eldre terskel).
- **🎛️ Hvor komprimering avgjøres** _(prioritet, høy → lav)_ — `x-omniroute-compression`-header per forespørsel › overstyring for rutingskombinasjon › aktiv navngitt profil › adaptiv / automatisk utløser › standardinnstilling i panelet › av. Den anvendte planen returneres i responsheaderen `X-OmniRoute-Compression: ; source=`.
Bruk automatisk utløsning etter token-terskel, slå på den adaptive bryteren, fest en navngitt profil, angi en engangsinnstilling per forespørsel eller tilordne en pipeline per rutingskombinasjon — velg det som passer arbeidsmengden. Et valgfritt, frakoblet **eval-oppsett** (`npm run eval:compression`) vurderer nøyaktighet mot besparelse på et fast datasett før du setter en endring i produksjon.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Hurtigstart
**1) Installer og kjør**
```bash
npm install -g omniroute
omniroute
```
> 💡 Ser du `npm warn ERESOLVE` eller peer-dep-advarsler? [De er ufarlige](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
Kontrollpanelet er tilgjengelig på `http://localhost:20128` · API-et på `http://localhost:20128/v1`.
**2) Koble til en GRATIS leverandør (ingen registrering)**
Kontrollpanel → **Leverandører** → koble til **Kiro AI** (gratis Claude, ~50 kreditter/måned per konto) eller **OpenCode Free** (ingen autentisering) → ferdig.
**3) Koble til kodeverktøyet ditt**
```txt
Basis-URL: http://localhost:20128/v1
API-nøkkel: [kopier fra Kontrollpanel → Endepunkter]
Modell: auto (smart ruting uten konfigurasjon — eller en valgfri leverandør/modell)
```
**4) Kontroller at det fungerer**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Du skal se en liste over de tilkoblede modellene dine. 🎉 Det var det — begynn å kode, så ruter OmniRoute automatisk og bruker reserveløsninger for deg.
Hvis klienten din ikke kan sende egendefinerte headere, tilbyr OmniRoute også tokeniserte kompatibilitetsaliaser:
```txt
OpenAI-katalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI-modeller: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI-chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI-responser: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama-chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama-tagger: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Bruk disse bare for klienter som ikke kan legge ved `Authorization: Bearer ...`. Autentisering via header er fortsatt den foretrukne metoden.
## 📦 Flere installasjonsmetoder — Docker, kildekode, 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ølger den høyeste **publiserte** stabile SemVer-versjonen. Den følger ikke git `main`. Fest til `:X.Y.Z` for GitOps. Se [Docker-utgivelseskanaler](docs/guides/DOCKER_GUIDE.md#release-channels).Avbildningen angir **`OMNIROUTE_MEMORY_MB=1024`**. Det er nok for kontrollpanelet og lett bruk av chat. **Kodeagenter** (`POST /v1/responses` fra Claude Code, Codex, Grok, …) trenger en mye større V8-heap, ellers får prosessen `FATAL ERROR` ved ~12 GiB med to overlappende lange kontekster. Dimensjoner containeren større enn heapen (interne buffere ligger utenfor V8):
| Arbeidsbelastning | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) |
| ---------------------------------- | ---------------------------------- | ---------------------- |
| Kontrollpanel / lett bruk av chat | `1024` (standard for avbildningen) | ≥2 g |
| Én kodeagent | `8192` | ≥10 g |
| To samtidige lange `/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
```
Fullstendig tabell: [Docker-veiledning — RAM under kjøring](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Docker-kanal for forhåndsutgivelser:** `diegosouzapw/omniroute:next` og
> `diegosouzapw/omniroute:next-web` følger den gjeldende standardgrenen `release/v*`.
> Disse foranderlige taggene er kun beregnet på testing av rettelser som ennå ikke er utgitt, og
> **støttes ikke i produksjon**. Se
> [Docker-utgivelseskanaler](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Standard `bun install` og global installasjon (`bun install -g omniroute`) støttes gjennom registrering av Bun-kjøremiljøet:
- **Innebygd `bun:sqlite`**: OmniRoute bruker Buns innebygde `bun:sqlite`-driver når det kjøres under Bun, og faller tilbake til `better-sqlite3` på Node.js eller `sql.js`.
- **Automatisk valg av Webpack-pakker i utviklingsmiljøet**: Utviklingsmiljøet (`bun run dev`) registrerer automatisk Bun og deaktiverer Turbopack til fordel for Webpack for å unngå inkompatibilitet med native V8-bindinger. Produksjonsbygg (`bun run build`) følger `OMNIROUTE_USE_TURBOPACK` på nøyaktig samme måte som på Node: Turbopack som standard, `OMNIROUTE_USE_TURBOPACK=0` for å bygge med Webpack (`Dockerfile.bun` eksponerer den som et `--build-arg`).
- **Dedikert Dockerfile for Bun**: Flertrinns `Dockerfile.bun` for native Bun-produksjonsdistribusjoner (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Installer og kjør med Bun
bun install
bun run dev
```
**🛠️ Fra kildekode**
```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
# Bruk av Nix-flakes
nix develop
npm run dev
# Eller bruk av devbox
devbox run npm run dev
```
📖 [Docker-veiledning](docs/guides/DOCKER_GUIDE.md) — Compose-profiler, Caddy HTTPS, Cloudflare-tunneler.
**🦭 Podman**
```bash
# 1. Klargjør den bind-monterte datakatalogen
mkdir -p data
# 2. Kun Linux + lokal rotløs Podman (aldri en ekstern Podman Machine-klient):
podman unshare chown 1000:1000 ./data
# 3. Angi kjøretidshintet, bygg det lokale Compose-avbildningen og start
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
På macOS eller Windows bruker Podman en ekstern Podman Machine: hopp over `podman unshare` og
følg [den topologispesifikke veiledningen for datakatalogen](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Podman-veiledning](contrib/podman/README.md) — Compose-bygg, Podman Machine og
oppsett av Linux/systemd Quadlet.
**⚡ Raskere / slankere installasjon (hopp over native-byggingen)**
Den native SQLite-motoren (`better-sqlite3`) er en **valgfri** avhengighet, så en global
installasjon blokkeres aldri av kompilering fra kildekode: Den bruker en forhåndsbygd binærfil når en samsvarer med
plattformen/Node-versjonen din, og faller ellers transparent tilbake til en ren JS-motor
(`node:sqlite` på Node 22+, ellers den medfølgende `sql.js` WASM) — ingen byggeverktøy kreves.
Slik hopper du helt over den native oppvarmingen etter installasjon (CI, uten grafisk grensesnitt eller trege maskiner):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 hopper også over den
```
For de raskeste installasjonene bør du foretrekke **pnpm** (innholdsadressert lager + harde lenker — se ovenfor).
For et kjøremiljø uten kontrollpanel og grafisk grensesnitt bruker du Docker-profilen `base` (ovenfor) eller
[Termux-veiledningen](docs/guides/TERMUX_GUIDE.md). CLI-verktøyet og nettkontrollpanelet betjenes av den
samme prosessen på én port, så det finnes foreløpig ingen separat pakke kun for CLI-verktøyet.
Strategi for testdekning av over 39 000 statiske testerklæringer fordelt på over 5 100 sporede testfiler
# ⭐ Viktigste bidragsytere
> OmniRoute formes av et lidenskapelig fellesskap basert på åpen kildekode. Disse personene har gitt eksepsjonelle bidrag som har direkte innvirkning på prosjektets kvalitet, stabilitet og rekkevidde. **Tusen takk.**
### Eksterne bidragsytere etter innlemmede pull requests
Fryst ved spissen av den aktive grenen release/v3.8.50, dafb4ae808, med innlemminger til og med 2026-08-24 05:26:03 UTC. Den paginerte GitHub GraphQL-opptellingen inneholder 5 911 innlemmede PR-er: 2 707 fra eieren av repositoriet, 179 fra Dependabot og 3 025 eksterne PR-er fra 535 unike bidragsytere. «Endrede linjer» er tillegg + slettinger på GitHub og omfatter genererte filer, låsefiler, kataloger, oversettelser og dokumentasjon; det måler endringsmengde, ikke egenproduserte kodelinjer. Delte plasseringer ved grensen er beholdt.
### Commits tilskrevet av GitHub
Bob.Hou 🏅 51 GitHub-tilskrevne commits · delt 10.-plass
Xiangzhe 🏅 51 GitHub-tilskrevne commits · delt 10.-plass
Kontrollert på nytt 2026-08-24 06:14:31 UTC: GitHub-tilskrevne commits rapportert av repositoriets Contributors API for standardgrenen release/v3.8.50. API-et returnerte 525 identiteter (415 brukere, 2 boter, 108 anonyme); denne tabellen utelater vedlikeholderen, boter og anonyme identiteter og beholder delte plasseringer. Den er forskjellig fra både rangeringen etter sammenslåtte pull requests ovenfor og opptellingen av 639 personer basert på Git-metadata nedenfor.
> 🙏 Disse bidragsyternes funksjoner, feilrettinger og forbedringer av infrastrukturen er en **sentral del** av det som gjør OmniRoute pålitelig og funksjonsrikt. Hver pull request, hvert testtilfelle og hver i18n-oversettelsesfil teller. Åpen kildekode bygges av mennesker som dem.
---
## 💖 Sponsorer
En hjertelig takk til dem som finansierer OmniRoute av egen lomme — hvert bidrag holder prosjektet gratis, uavhengig og i utvikling.
… og andre som foretrekker å forbli private 💛Offentlige GitHub-sponsorer ble kontrollert på nytt 2026-08-24. GitHubs activeOnly-status bestemmer de aktive merkelappene ovenfor. Tidligere offentliggjorte engangsbidragsytere blir fortsatt takket, mens private sponsorer forblir anonyme.💖 Bli sponsor → — hver dollar bidrar til å holde OmniRoute gratis og uavhengig.
## 👥 Over 600 bidragsytere
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Revidert 2026-08-24 ved den frosne basen ac02c5b42f og kontrollert på nytt ved det gjeldende release/v3.8.50-endepunktet dafb4ae808: 639 normaliserte menneskelige Git-identiteter — 407 forekommer som commit-forfattere (inkludert vedlikeholderen), og 232 forekommer bare i eksplisitte Co-authored-by-trailere. Opptellingen normaliserer GitHub-noreply-brukernavn, utelukker 26 bot-/agent-/tjeneste-/plassholderidentiteter og slår ikke sammen vanlige e-postadresser bare fordi visningsnavnene deres er like.
### Slik bidrar du
1. Fork repositoriet
2. Opprett en gren fra det **aktive** `release/vX.Y.Z`-endepunktet (ikke `main`) — se [Gren- og utgivelsesmodell](docs/ops/BRANCHING_MODEL.md)
3. Opprett funksjonsgrenen din (`git checkout -b feat/amazing-feature`)
4. Commit endringene dine (`git commit -m 'feat: add amazing feature'`)
5. Push til grenen (`git push origin feat/amazing-feature`)
6. Åpne en Pull Request med **base = den aktuelle `release/vX.Y.Z`-grenen**
Se [CONTRIBUTING.md](CONTRIBUTING.md) for detaljerte retningslinjer.
### Utgivelse av en ny versjon
```bash
# Opprett en utgivelse — npm publish skjer automatisk
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Stjerner
## 🌍 StarMapper
## 🙏 Takk
OmniRoute står på skuldrene til kjemper. Det startet som en forgrening av **[9router](https://github.com/decolua/9router)** og en TypeScript-portering av Go-prosjektet **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — og derfra ble hvert undersystem nedenfor inspirert av et åpen kildekode-prosjekt som var først ute. Hvert av dem formet en konkret del av OmniRoute. Dette er vår takk til dem alle. 🙏
> ⭐ antall stjerner ble verifisert via GitHubs REST API 24. august 2026 — gi gjerne disse prosjektene en stjerne. Antallene er et nøyaktig øyeblikksbilde fra denne datoen og vil naturligvis endre seg.
### 🧬 Opphav og gateway
AI-gatewayen der det offentlige prisdatasettet forsyner synkroniseringen av kostnadssporingen vår, og der modellen for leverandørnormalisering dannet grunnlaget for rutingen vår.
MIT-kildekode tilpasset til den inkluderte broen ChatGPT Web → Codex Responses, inkludert adaptere for nettleserøkter, responsinnramming, bruk og nettsøk.
Mønstre portert til gjenoppretting av strømmer, aliaser uten tenking, reservebasert nettsøk, grenser med glidende vindu, sladding av logger og sikrede oppstartsforløp.
Claude Code-kompatible standardinnstillinger for transformasjon og oppførsel for faktureringshoder, generalisert i OmniRoutes konfigurasjonsstyrte bro.
Prosjektets Grok-modelltilordninger, Statsig-generator med falsk TypeError, standardinnstillinger for forespørsler og enheter samt NDJSON-responsbehandler ble i vesentlig grad tilpasset til OmniRoutes Grok Web-eksekveringsmotor.
Den viktigste indirekte kodekilden bak grok2api-merged; implementasjonene av modeller, hoder, nyttelast, Statsig og behandlere er bevart i Grok Web-opphavslinjen.
Den underliggende MIT-kilden for Grok-nyttelast og standardinnstillinger for enheter, Statsig-generatoren og result.response-behandleren som er videreført gjennom TQZHR og grok2api-merged.
En indirekte kilde kreditert av grok2api-merged for proxy-pool-laget; OmniRoute bevarer henvisningen til dette opphavet, men hevder ikke å ha portert en proxy-pool i sin avgrensede Grok Web-eksekveringsmotor.
Den opprinnelige Grok Web-implementasjonen konsulterte prosjektets oppstrømsdesign for HTTP/nettleser; den direkte HTTP-banen stammer fra GrokProxy, så det hevdes ikke at noen uavhengig kodeportering har funnet sted.
Prosjektets Rust-baserte ChatOptions- og responskonvoluttskjemaer dannet grunnlaget for OmniRoutes TypeScript-typer for Grok-forespørsler og strømmesvar.
Det virale «hvorfor bruke mange token når få token gjør susen»-prosjektet — filosofien om huleboerspråk driver standardmodusen vår for komprimering og over 30 regler for fyllord og kondensering.
Høyytelses komprimering av kommandoutdata — inspirerte RTK-motoren vår, JSON-filter-DSL-en, gjenoppretting av rådata og den stablede RTK → Caveman-pipelinen.
PT-BR-tokenkomprimering — driver språkpakken vår for pt-BR: reduksjon av pleonasmer og fjerning av fyllord tilpasset brasiliansk-portugisisk grammatikk.
Den virale «late seniorutvikleren»-ferdigheten for YAGNI-koding — inspirerte utdatastilen vår mindre kode: styring mot den minste fungerende endringen som reduserer _generert_ kode (utdataaksens motstykke til Cavemans knappe prosa).
Innholdsbevisst komprimering av utdata per filtype med feilbevisst avbrudd — bekreftet rutingen vår per type og muligheten til å hoppe over ved minimal gevinst.
Kolonnebasert JSON i Rust + innholdsadressert henting + deduplisering på tvers av meldinger — bekreftet motordesignet vårt for headroom/ccr/session-dedup og den hurtigbufferstabile invarianten «komprimert form er posisjonsuavhengig».
MITM-avskjæring og -analyse av trafikk mellom kodeassistenter og LLM-er dannet grunnlaget for de tidlige kravene til Traffic Inspector. Fire tidligere avledede moduler — SSE-sammenslåing, samtalenormalisering, maskering av hemmeligheter og rensing av headere — er erstattet av uavhengige renromsimplementasjoner basert på offentlige protokollstandarder. De to vertsflater for direktegjennomgang (passthrough.ts og _internal/bypass.cjs) er fortsatt interne OmniRoute-implementasjoner som er klassifisert uavhengig; de ble ikke omskrevet som en del av denne erstatningen.
Transparent proxy-ruting per prosess — inspirerte vår krasjsikre avslutning av MITM, tidsavbrudd for inaktive sokler, prosesstilknytning via /proc og TPROXY-registrering.
### 📚 Modelldata, observerbarhet og brukergrensesnitt
En kuratert liste over biblioteker med sikre standardinnstillinger som veileder sikkerhetsvalgene våre (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Kontobevisst omtilordning av modeller, validering av kjørbare filbaner og håndtering av abonnementsetiketter dannet grunnlaget for OmniRoutes Antigravity-kjøretid.
Identifiserte Grok Build-kvotegrensesnittet; OmniRoute verifiserte og korrigerte deretter det aktive overføringsformatet uavhengig.
## 📄 Lisens
MIT-lisens – se [LICENSE](LICENSE) for detaljer.
---
**[⬆ Tilbake til toppen](#-omniroute)** · Bygget med ❤️ for AI-fellesskapet med åpen kildekode.
OmniRoute v3.8.51 · Node ≥22.22.2 · MIT-lisens · omniroute.online