> Det er besværligt at kombinere gratisniveauer manuelt — dusinvis af SDK'er, dusinvis af hastighedsgrænser og ingen idé om, hvor meget du faktisk har. OmniRoute katalogiserer **489 poster på gratisniveauer fordelt på 35 tilbagevendende puljenøgler** og beregner tokenoverskriften ud fra de **17 puljer med et offentliggjort positivt månedligt budget plus fem Groq-grænser pr. model**, deduplikeret efter delt pulje. Kvoter, der først bliver tilgængelige efter en regional identitetskontrol (i dag: ModelScope), vises separat som +~6M bag regional identitetsbekræftelse og medregnes aldrig i overskriften. Resultatet forbliver synligt på dashboardet (`/dashboard/free-tiers`).
> Animeret oversigt over den aktuelle side `/dashboard/free-tiers`. Fuld metode (puljededuplikering, kreditniveauer, udbydervilkår): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Disse tal revideres igen hver anden uge i forhold til det aktuelle katalog og **bevæger sig i begge retninger** — afslutter en udbyder et gratisniveau, falder tallet; kommer et nyt til, stiger det. Vi offentliggør det, som kataloget faktisk beregner, aldrig et oprundet bedste scenarie.
⭐ Giv repoet en stjerne, hvis OMNIROUTE har hjulpet dig med at spare penge og gjort dit arbejde lettere.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Bliv en del af fællesskabet
**👋 Følg vedligeholderen — få nye udbydere, udgivelser 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ørgsmål, tips om udbydere, roadmap og 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 med at vokse
## 🆓 Virker med det samme du installerer det — ingen nøgler, ingen konfiguration
```bash
# Frisk installation, nul legitimationsoplysninger — `auto` virker allerede:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
Foretrækker du en specifik gratis backend? Kald `oc/…` (OpenCode Free) direkte. Gå derefter over til `auto` og lad OmniRoute vælge.📦 Kopiér-indsæt quickstart-scripts til **Python, Node.js, PHP og cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Løftet
# 🤔 Hvorfor OmniRoute?
## 🤝 Støttet af vores open source-venner
> **Vil du være med som open source-ven?** Det er virksomhederne, der støtter open source og hjælper med at holde OmniRoute i gang — og vi fortæller offentligt, hvor hvert eneste token, de giver os, bliver brugt. Kontakt os: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Tak til Kimi (Moonshot AI), vores stiftende open source-ven, for at støtte dette projekt! Kimi er AI-laboratoriet bag K2- og K3-modelfamilierne med åbne vægte — Kimi K3 leverer et kontekstvindue på 1 mio. tokens, indbygget vision og kodning på højeste niveau til en brøkdel af priserne på lukkede modeller og fungerer direkte med Claude Code, Codex og alle de kodningsværktøjer, som OmniRoute understøtter.
Det muliggør Kimis støtte: Kimis API-kreditter driver OmniRoutes AI-validerede udgivelsespipeline — fasen mergevalidering drevet af Kimi K3, som gennemgår hver pull request, før den udgives — samt den daglige funktionsudvikling. Førsteklasses understøttelse af Kimi leveres via begge muligheder: den direkte Kimi API (kimi-k3) og Kimi Code-abonnementet til kodning (OAuth og API-nøgle). OmniRoute er også det første brasilianske open source-projekt i Kimis støtteprogram. Få en Kimi API-nøgle med 15 % ekstra kreditter →
Cheaper Inference cheaperinference.com
Tak til Cheaper Inference, en af OmniRoutes open source-venner, for at støtte dette projekt! Cheaper Inference er en gateway rangeret efter pris, som videresælger 42 banebrydende modeller — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok og MiniMax — via ét OpenAI-kompatibelt endpoint og videresender hver anmodning til den billigste kvalificerede udbyder uden nogensinde at opkræve mere end modelproducentens listepris.
Førsteklasses understøttelse i OmniRoute: Chat Completions, det indbyggede /v1/responses-endpoint, vision, værktøjskald og 3 billedmodeller (grok-imagine, nano-banana-pro, nano-banana-2, tilgængelige som cheaperinference/<model>). Få en API-nøgle →
Links mærket med aff=omniroute er partnerlinks. De finansierer projektet uden ekstra omkostninger for dig. 🎟️ Partnerkampagner — gratis tilmeldingskuponer fra udbydere, der ikke sponsorerer os (klik for at udvide)Dette afsnit er kun til henvisnings-/kuponkoder. Sponsorerede partnerskaber findes under 🤝 Støttet af vores open source-venner ovenfor. OmniRoute har intet sponsorat eller partnerskab med de udbydere, der er anført her — det er offentlige kuponer, som alle kan bruge.
AgentRouter agentrouter.org
AgentRouter — partnertilmelding · $100 i gratis kreditter ved tilmelding (gratis server, forvent højere latenstid — bedst til test, ikke produktion). Førsteklasses understøttelse i OmniRoute siden v3.8.50: Chat Completions, det Anthropic-kompatible wire-format og den OpenAI-kompatible sti. Tilgængelige modeller omfatter claude-opus-4-8, claude-opus-5, gpt-5.6-sol og flere. Få dine $100 →
⚠️ Partnerlink — OmniRoute har intet sponsorat eller partnerskab med denne udbyder.
Kender du en anden udbyder med en generøs gratis tilmeldingskupon, som gavner OmniRoute-brugere? Opret en issue, så tilføjer vi den her.
## 🎯 Comboer — flagskibet
> En **combo** er en kæde af modeller, som OmniRoute router på tværs af **automatisk**. Hvis kvoten slipper op, en udbyder fejler, eller omkostningerne stiger kraftigt, kan comboen gå videre til den næste kvalificerede, velfungerende model. 🛡️
### ⚡ Ingen konfiguration — brug blot `auto`
Du behøver ikke oprette en combo. Indstil din model til `auto` (eller en variant), så bygger OmniRoute en virtuel combo ud fra dine tilsluttede udbydere, som bedømmes i realtid:
Model-id
Hvad den optimerer til
auto
🎯 Afbalanceret standard (LKGP — holder sig til din senest velfungerende udbyder)
auto/coding
🧑💻 Kvalitetsprioriterede vægte til kodegenerering
auto/fast
⚡ Laveste latenstid først
auto/cheap
💰 Billigste pr. token først
auto/offline
🔋 Mest råderum i kvote/hastighedsgrænse først
auto/smart
🔭 Kvalitet først + 10 % udforskning for at finde bedre modeller
auto/lkgp
📌 Eksplicit fastholdelse af den senest velfungerende udbyder
auto/chaos
🧪 Fejlinjektionsvægte til robusthedstest (chaos engineering)
##
### 🔀 Eller byg din egen — 19 routingstrategier
Alle **19** strategier — bland og kombiner dem for hvert trin i en combo:
#
Strategi
Hvad den gør
1
priority
Ordnet liste med det første mål først — udtøm hvert mål før det næste 🥇
2
fill-first
Udnyt hvert måls kvote fuldt ud, før der fortsættes
3
weighted
Vægtet tilfældig udvælgelse baseret på vægten for hvert mål
4
round-robin
Gå gennem målene på skift i rækkefølge
5
p2c
Tilfældig belastningsfordeling med valget mellem to mål
6
least-used
Vælg målet med den laveste aktuelle belastning
7
random
Ensartet tilfældigt valg (uden dubletter)
8
strict-random
Tilfældigt valg uden at fjerne gentagelser 🎲
9
cost-optimized
Minimer $ pr. anmodning ud fra aktuelle katalogpriser 💸
10
headroom
Vælg målet med den største resterende kvote
11
reset-window
Foretræk det mål, hvis kvotevindue nulstilles først
12
reset-aware
Rangér efter tidspunktet for nulstilling af kvoten — korte vinduer først 📊
13
context-relay
Overdrag kontekst på tværs af mål i lange samtaler 🧠
14
context-optimized
Vælg det bedste match til den aktuelle kontekststørrelse
15
cache-optimized
Fastgør hvert genanvendeligt promptpræfiks til den samme konto — maksimer træffere i promptcachen 🎯
16
lkgp
Senest kendte velfungerende rute — fastgør til den senest vellykkede udbyder og falder derefter tilbage på reglerne
17
auto
Bedømmelse i realtid ud fra 16 faktorer på tværs af alle forbindelser 🤖
18
fusion
Sender ud til et panel af modeller + en bedømmer sammenfatter ét svar 🧬
19
pipeline
Sammenkæd trin — hvert måls output føres videre til det næste 🔗
Auto-Combo-motoren bedømmer hver kandidat ud fra **16 faktorer** (driftstilstand, kvote, omkostninger, latenstid, egnethed til opgaven, kvalitet, sessionstilgængelighed …) — se [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Robusthed er indbygget (3 uafhængige lag)
📖 [Automatisk kombinationsmotor](docs/routing/AUTO-COMBO.md) · [Resiliensvejledning](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Hvad adskiller OmniRoute
📊 Fuld metodologi & detaljer pr. funktion sammenlignet med 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Støt OmniRoute
OmniRoute er MIT-licenseret og vedligeholdes åbent. Hvis det sparer dig tid eller penge, kan du hjælpe med at holde det uafhængigt på følgende måder — vælg den, der passer dig. Sponsorater påvirker aldrig routingprioriteten; de giver synlighed, ikke en bedre placering.
**🇧🇷 PIX** — øjeblikkeligt, ingen gebyrer (Brasilien)
Nøgle (tilfældig): `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 (klik for at udvide)
₿ BTC
Bitcoin (SegWit)
bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH
Ethereum (ERC20)
0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT
Tron (TRC20)
TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC
Solana
2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Send kun hver mønt via det viste netværk — overførsel via det forkerte netværk kan medføre, at midlerne går tabt.
🐛 Har du fundet en fejl eller har du feedback? Opret en [diskussion](https://github.com/diegosouzapw/OmniRoute/discussions).
Udviklerbemærkninger: Projektet kan generere en lokal .env-fil under npm-installation/postinstall af hensyn til udviklernes bekvemmelighed. Denne fil ignoreres bevidst via .gitignore (se .gitignore) og må aldrig committes — hvis den committes ved en fejl, skal alle eksponerede hemmeligheder udskiftes, og filen fjernes fra historikken. Se docs/DEVELOPER-ENVIRONMENT.md for vejledning i håndtering af lokale miljøfiler og hemmeligheder.
## 📡 OmniRoute Radar
Det primære hovedtal for gratisniveauet er fortsat **~1.62B tokens/måned** fra det dokumenterede,
puljededuplikerede katalog ovenfor. Midlertidige tilmeldingskreditter fra udbydere kan separat øge
den første måned til **~2.22B**. Radar er et valgfrit, signeret katalog-overlay til brugere, der ønsker
mere opdateret tilgængelighed af gratis modeller mellem OmniRoute-udgivelser; fællesskabskataloget
og alle eksisterende gratisfunktioner forbliver gratis.
Støtter kan få adgang til livekataloget og yderligere muligheder hos udbydere. Dets separate,
variable loft er **højst cirka 3B tokens/måned**, afhængigt af udbydernes tilgængelighed.
Dette loft er ikke en garanti: Udbydere kan når som helst ændre kvoter, adgangskrav, modeller eller
regioner.
Radar er valgfrit og bruger kun GET. OmniRoute-klienten uploader ikke prompts, trafik,
udbyderkonfiguration, brugstelemetri eller lokal status for afviste meddelelser. Læs mere om
adgangskrav og det aktuelle katalog på **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Nyt
> Seneste højdepunkter fra **v3.8.20 → v3.8.50**. Den fulde historik findes i [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — indgående A2A-delegering til din agentflåde, Conductor-færdigheder på Agent Card og et dashboardpanel med Faro push-to-talk-stemmechat. → [A2A-server](docs/frameworks/A2A-SERVER.md)
- **🛂 Adaptiv adgangskontrol og overbelastningsbeskyttelse** — tunge chatanmodninger sættes i kø i stedet for at returnere 503, med atomare, rullende RPM-leases pr. forbindelse. → [Robusthedsvejledning](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonisk rækkefølge for `/v1/models`** — én sammenhængende blok grupperet efter udbyder pr. udbyder (kombinationer fastgjort først), stabil på tværs af alle katalogkilder. → [API-reference](docs/reference/API_REFERENCE.md)
- **🗜️ Hærdning af komprimering** — inflationsværn aktiveret som standard, Caveman-pakker til DE / FR / JA + kinesisk (wényán), RTK-filtre til Gradle og .NET. → [Komprimering](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Retvisende fastprishåndtering** — udbydere med abonnementer/kodningsplaner vises med **$0** i omkostningsanalyser; budget, kvote og routing fortsætter med at estimere. → [API-reference](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share-routing** — fordel en delt kontos kvote retfærdigt på tværs af samlede nøgler med arbejdsbevarende udlån af ubrugte andele. → [Robusthedsvejledning](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Opsætning af CLI/agent med én kommando** — 13 registrerede `setup-*`-kommandoer; `omniroute run` starter 7 CLI'er (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` understøtter 10 mål med en interaktiv udbyder- og modelvælger samt kontekstspecifikke favoritter. → [CLI-integrationer](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Fjerntilstand** — styr en ekstern OmniRoute med afgrænsede tokens (`connect` / `contexts` / `tokens`) samt en `antigravity` OAuth-hjælper til VPS-installationer. → [Fjerntilstand](docs/guides/REMOTE-MODE.md)
- **🧭 Smartere automatisk routing** — `auto/:`-kombinationer, **Fusion** (modelpanel + dommer), opgavebevidst routing samt tilsidesættelse af model/tilstand/USD-budget pr. anmodning. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Modulær komprimering** — 12 kombinerbare motorer + Compression Studios: LLMLingua-2, todelt Ultra, omniglyph, pålidelighedskontrol pr. trin, GCF v3.2, redigering med træk-og-slip-omrokering. → [Komprimering](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparent MITM-dekryptering (TPROXY)** — opfang CLI'er, der ignorerer proxy-miljøvariabler, med en CA pr. SNI samt et installationsprogram til tillidslageret. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Omkostningstelemetri overalt** — `X-OmniRoute-*`-headere for omkostninger/forbrug på alle endpoints, header for besparelser ved cache-HIT og USD-forbrugskvoter pr. nøgle. → [API-reference](docs/reference/API_REFERENCE.md)
- **🧠 Hukommelse, du styrer** — deaktiveret som standard, tilvalgt int8-vektorkvantisering + typestyret henfald, `x-omniroute-no-memory` pr. anmodning. → [Hukommelse](docs/frameworks/MEMORY.md)
- **🛡️ Sikkerhed** — beskyttelse mod prompt-injektion på alle LLM-ruter (red-team-testsuite), valgfri sikkerhedsforanstaltning til maskering af legitimationsoplysninger (bortredigerer lækkede API-nøgler/hemmeligheder i begge retninger), gratis DuckDuckGo-websøgning som sidste udvej og en valgfri OIDC-logingateway til dashboardet (adgangskodelogin forbliver altid tilgængeligt). → [Sikkerhedsforanstaltninger](docs/security/GUARDRAILS.md)
- **🖼️ Nye endpoints** — `/v1/ocr` (Mistral OCR) og `/v1/audio/translations` (Whisper-lignende) fuldender mediefladen. → [API-reference](docs/reference/API_REFERENCE.md)
- **🎨 Generering af billeder/video/lyd** — én API til medier: xAI Grok Imagine- og Novita AI-video, ComfyUI, Magnific, Adobe Firefly, Segmind samt taleudbydere som ElevenLabs. → [API-reference](docs/reference/API_REFERENCE.md)
- **🌍 Udrulning og drift** — reverse proxy-`basePath`, automatisk registrering af browsersprog, enhedssporing pr. nøgle, root-fri MITM-tillid, zh-TW-lokalisering. → [Miljø](docs/reference/ENVIRONMENT.md)
- **🤝 Flere udbydere og agenter** — cloudagenter (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) med browser + OAuth-login, førsteklasses Ollama-kort, Claude Opus 5 og Sonnet 5, officielt partnerskab med Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… samt et opdateret **katalog med 352 udbydere**. → [Udbydere](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Gennemsigtig routing** — hvert svar indeholder en `X-OmniRoute-Decision`-header, der angiver den strategi/udbyder/latens, som håndterede det; en ny `cache-optimized`-kombinationsstrategi + Auto-Combo-`cacheAffinity`-faktor sender gentagne anmodninger tilbage til forbindelsen med det cachelagrede præfiks, og et skrivebeskyttet `/v1/auto-combo/{channel}/candidates`-endpoint viser den aktive kandidatpulje for en `auto/*`-kanal. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokal ydeevne og infrastruktur** — lokal Redis med ét klik, relæudrullere til Cloudflare Workers / Deno Deploy samt Bifrost og Mux som overvågede, indlejrede tjenester. → [Indlejrede tjenester](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Også inkluderet** — plugin-framework + markedsplads, Omni-/Agent-/GitHub-færdighedsframeworks, Obsidian-vaultintegration (22 MCP-værktøjer), OpenAI-kompatible Batch- og Files-API'er, semantisk svarcache, gamification med ranglister, ACP-agentregistrering (15 indbyggede agenter), planlagt eksport af logge til BigQuery, `auto/chaos`-fejlinjektion, en Telegram-botbro, en versionsadministrator i appen og LMArena-ELO-rangeringer af gratis udbydere. → [Dokumentation](docs/README.md)
## 🤖 Kompatible CLI'er og kodeagenter
> Én konfiguration — `http://localhost:20128/v1` — og **alle** AI-IDE'er og CLI'er kører på gratis modeller og lavprismodeller.
📖 Opsætning pr. værktøj for alle 36 værktøjer (26 CLI Code's + 10 CLI Agents) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode-plugin → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Start enhver understøttet CLI gennem OmniRoute med én kommando** — der skrives ingen konfigurationsfiler,
legitimationsoplysninger indlæses pr. proces, og Qwen/Gemini får en midlertidig, isoleret hjemmemappe:
```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ælg udbyder+model interaktivt, og skriv værktøjets egen konfiguration:
omniroute configure codex # også: claude opencode qwen aider goose gemini cline continue kilo
```
Alle kommandoer respekterer den aktive fjernkontekst (`omniroute connect `), `--dry-run`
viser de præcise miljøvariabler/argumenter uden at køre noget, og `--api-key-env NAME` holder hemmeligheder ude
af din shell-historik. → [CLI-integrationer](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 AI-udbydere — 152 katalogmarkerede som gratis
> **357 registrerede udbydere** på tværs af de kanoniske samlinger for chat, medier, søgning, lokale tjenester, cloud-agenter og systemer, herunder **152 med registreringsmetadataene `hasFree: true`**. Registeret over chatmodeller dækker **229 udbydere / 2.554 forskellige udbyder-model-par / 1.283 rå model-id'er**; det separate katalog over gratisbudgetter har **491 rækker pr. model**, **35 tilbagevendende puljer** og **54 tilbagevendende/nøglefri udbydere, der er gratis for altid**. Disse nævnere er forskellige med vilje; definitioner og beregninger med deduplikerede puljer findes i [Udbyderreferencen](docs/reference/PROVIDER_REFERENCE.md) og [Gratisniveauer](docs/reference/FREE_TIERS.md).
### 🏢 Alle større laboratorier — gennem ét slutpunkt
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…og 330+ yderligere — hvert ikon indlæses direkte fra dashboardets udbyderkatalog. 📖 [Udbyderreference](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Gratis for altid — $0, intet kort
OpenCode Zen DeepSeek V4, Nemotron 3 Ingen tokenbegrænsning
Kilo Code Automatisk router, Tencent Hy3 Gratis for altid
Requesty GPT-OSS 120B, Nemotron Gratis for altid
SiliconFlow DeepSeek V3.2 / R1 Gratis niveau
Z.AI GLM GLM-4.7 / 4.5-Flash Gratis for altid
Baidu ERNIE ERNIE 4.0 Gratis for altid
Qoder AI Qwen3-Max, Kimi-K2 Ubegrænset og GRATIS
Pollinations GPT, Llama, Claude Ingen nøgle nødvendig
### 🧩 Nyt: OmniRoute i VS Codes integrerede Copilot Chat
> Ingen ny sidebjælke, ingen ny chatgrænseflade — alle modeller, som OmniRoute leverer, vises direkte i
> **den Copilot Chat-modelvælger, du allerede bruger**. Siden VS Code 1.122 fungerer udbydermodeller
> uden GitHub-login eller Copilot-abonnement — agenttilstand, værktøjskald og billedforståelse, helt
> gratis.
Installer udvidelsen **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, forbind den
til din OmniRoute-server (standarden er `localhost:20128`), og åbn derefter Copilot Chat → modelvælger
→ **Administrer modeller…** → **OmniRoute**.
Inde fra editoren: Åbn visningen **Udvidelser**, søg efter **"OmniRoute"**, og klik på **Installer**
— det fungerer på samme måde i begge butikker. Kildekode, problemrapporter og udgivelsesvejledningen findes på
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Vejledning til VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — opsætning, hvad vælgeren viser, kontrolpanel i en fane, fejlfinding
### 🎩 Nyt: OmniRouteTray — din gateway direkte i menulinjen
> `omniroute serve` fungerer bedst, når den altid er aktiv. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> gør den til en menulinje-app til macOS, som du kan konfigurere og derefter glemme: Den starter serveren, holder den kørende
> efter genstarter, opdaterer den på stedet og giver adgang til dit aktuelle tokenbudget med ét klik — **intet
> terminalvindue skal stå åbent, og ingen `npm install -g omniroute` skal passes.**
Den er bygget med [Tauri v2](https://v2.tauri.app/) (en Rust-kerne på størrelse med en afrundingsfejl), leveres
med sit eget signerede Node 24-kørselsmiljø og administrerer en app-ejet OmniRoute-installation, så den aldrig er i konflikt med din
globale `node`/`bun`. Den **deler din eksisterende konfiguration og database i `~/.omniroute/`** — så det er den
samme OmniRoute, du allerede kører, bare med hat på. 🎩
Hvad den gør
Hvordan
🟢 Overvåger serveren
Starter omniroute serve og overtager en allerede kørende instans i stedet for at duplikere den
📊 Direkte overblik over forbruget
Udbydernes kvotebjælker, Claude-sessionens/ugens grænser med nedtællinger til nulstilling samt en omkostningsfordeling for 30 dage
🔄 Opdaterer automatisk på stedet
Trinvis installation, atomisk udskiftning og tilbagerulning ved fejl — altid på den nyeste version
🚀 Start ved login
Valgfri start ved login; kun i menulinjen, intet ikon i Dock
🩺 Diagnosticering & logfiler
Diagnosticering med ét klik og adgang til serverens logfiler
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Foretrækker du en download? Hent den nyeste .dmg fra
Udgivelser. Kildekode, fejlrapporter og dokumentation
til kompilering findes på zoispag/omniroute-tray.
💛 Et fællesskabsprojekt af @zoispag — ikke en officiel OmniRoute-udgivelse.
> Ud over serveren er OmniRoute et **komplet kommandolinjekontrolcenter** med **80+ kommandoer** samt åbne agentprotokoller, så en AI-agent kan styre det **på egen hånd**.
### ⌨️ En ægte CLI (ikke kun `start`)
```bash
omniroute # start gateway + kontrolpanel (port 20128)
omniroute chat # interaktiv TUI-chatklient (skråstreg: /model /combo /skill /memory)
omniroute setup # guidet guide til første kørsel
omniroute doctor # diagnosticér udbydere, porte og native afhængigheder
```
### 🛰️ Fjerntilstand — kør CLI'en her og OmniRoute på en VPS
Kører OmniRoute på en server? Styr det fra din bærbare computer med den **samme CLI**. Log ind én gang
med et afgrænset adgangstoken; derefter målrettes hver kommando mod fjernserveren.
```bash
omniroute connect 192.168.0.15 # adgangskode → afgrænset token, gemt som en kontekst
omniroute models list # ← kører mod FJERNSERVEREN
omniroute configure codex # ← vælger en fjernmodel og skriver en lokal Codex-profil
omniroute tokens create --name ci --scope read # opret mere begrænsede tokens til andre maskiner
omniroute contexts use default # ← skift tilbage til den lokale server
```
Tokens er afgrænset til `read` / `write` / `admin`; ruter, der starter processer, forbliver begrænset til loopback.
📖 [Fjerntilstand](docs/guides/REMOTE-MODE.md)
### 🤝 Forbind en agent — så styrer den selv OmniRoute
Gør OmniRoute tilgængelig via **MCP**, **A2A**, en **REST API**, **webhooks** eller en **fjern-CLI** — enhver kompetent agent (eller din egen kode) får nøglerne til hele gatewayen: routing, udbydere, kombinationer, cache, komprimering og hukommelse — autonomt. HTTP-endepunkterne nedenfor leveres under `http://localhost:20128`.
Grænseflade
Endepunkt / kommando
Brug det til
🧰 MCP (stdio)
omniroute --mcp
Integrér med Claude Desktop, Cursor eller enhver anden MCP-klient
Send anmodnings-/kvotehændelser til Slack, Discord, Telegram eller en vilkårlig URL
🛰️ Fjern-CLI
omniroute connect
Styr en fjerninstans med afgrænsede adgangstokens
```bash
# Giv Claude Code adgang til hele OmniRoute-værktøjssættet 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
### 📖 Sådan fungerer det — pipeline, arkitektur og beregning af besparelser
Den stakkede standardkombination kører `RTK → Caveman`. Når begge anvendes på den samme værktøjs-/kontekstnyttelast, akkumuleres besparelserne:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Kodeblokke, URL'er, JSON og strukturerede data er **altid beskyttet** af bevaringsmotoren.
> **Hvorfor bruge mange tokens, når få tokens klarer opgaven?** Hver anmodning passerer **transparent** gennem OmniRoutes komprimeringspipeline — ingen klientændringer. Den er nu en **stak af 12 kombinerbare motorer**, der kører i rækkefølge og kan blandes og matches for hver routingkombination — baseret på idéer 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).
### 🧱 Stakken med 12 motorer
Motorerne kører i pipelinens rækkefølge; hver kan aktiveres/deaktiveres og konfigureres uafhængigt for hver kombination:
#
Motor
Hvad den gør
1
Session-Dedup
Fjerner indhold, der gentages på tværs af beskeder (indholdsadresseret, på tværs af beskeder)
2
CCR
Arkiverer store blokke bag hentemarkører, som hentes efter behov
3
Lite
Trimning af blanktegn og billed-URL'er (basisniveau med lav latenstid)
4
RTK
Intelligent filtrering, deduplikering og afkortning af værktøjsresultater (kommandobevidst)
5
Responses Tool Output
Tabsfri JSON-komprimering som førstevalg samt afgrænset diagnostisk komprimering af output fra shell/patch/søgning/build (Responses API)
6
Headroom
Tabsfri tabelkomprimering af JSON-arrays (~30 %) via et inkluderet GCF-codec
7
Relevance
Ekstraktiv sætningsscoring i forhold til den seneste brugerforespørgsel
8
Caveman
Regelbaseret prosakomprimering (~65–75 % af outputtet)
9
Aggressive
Opsummering og gradvis ældning af tidligere beskeder
10
LLMLingua-2
Semantisk ML-beskæring via MobileBERT ONNX — kodesikker, asynkron
11
Ultra
Heuristisk tokenbeskæring med et valgfrit small-model-lag (SLM)
12
OmniGlyph
Eksperimentel kodning af kontekst som billede til målte Claude Fable 5 via den direkte Anthropic-forbindelse; GPT 5.6-transformere forbliver fail-closed, indtil der foreligger kvitteringer fra udbyderen. Fire komprimeringsprofiler (aggressiv som standard, afbalanceret, kodningssikker, passthrough) (mest aggressiv; tilvalg)
Kodeblokke, URL'er og strukturerede data **bevares altid** byteperfekt. **Forudindstillinger med ét klik** kombinerer motorerne:
Tilstand
Besparelse
Bedst til
🪶 Lite
~15 %
Sikker standard, der altid er aktiveret
🪨 Standard (Caveman)
~30 %
Daglig kodning
⚡ Aggressive
~50 %
Lange sessioner med stor brug af værktøjer
🔥 Ultra
~75 %
Maksimal besparelse
🧰 RTK
60–90 %
Output fra shell/test/build/git
🔗 Stakket (RTK → Caveman)
78–95 %
Blandede prompts og værktøjslogfiler
**Reelt eksempel — Standard-tilstand:**
> **Før (69 tokens):** _"Årsagen til, at din React-komponent bliver gengivet igen, er sandsynligvis, at du opretter en ny objektreference i hver gengivelsescyklus. Når du videregiver et inline-objekt som en prop, opfatter Reacts overfladiske sammenligning det som et nyt objekt hver gang, hvilket udløser en ny gengivelse. Jeg vil anbefale at bruge useMemo til at memoize objektet."_
>
> **Efter (19 tokens):** _"Ny objektreference ved hver gengivelse. Inline-objekt som prop = ny reference = ny gengivelse. Pak det ind i useMemo."_
>
> **Samme svar. 72 % færre tokens. Intet tab af nøjagtighed.** ✅
**PT-BR-eksempel — [Troglodita](https://github.com/leninejunior/troglodita)-tilstand:**
> **Før (42 tokens):** _"Problemet er, at komponenten genrenderes, fordi der oprettes en ny objektreference i hver renderingscyklus. Jeg vil anbefale at bruge useMemo."_
>
> **Efter (12 tokens):** _"Genrendering: ny ref. i hver cyklus (inline-objekt genoprettes). Brug `useMemo`."_
>
> **Samme svar. ~70 % færre tokens. Den tekniske præcision er intakt.** ✅
### 🎚️ Ud over motorerne — outputstile, den adaptive drejeknap og styring pr. forespørgsel
De 12 motorer ovenfor reducerer det, der kommer **ind**. Tre yderligere lag former **hvordan**, **hvornår** og hvad der kommer **ud**:
- **🪄 Outputstile** _(styring af outputaksen)_ — indsæt deterministiske, cache-sikre instruktioner til udformning af svar; kan kombineres, hver med intensiteten `lite` / `full` / `ultra`. Tilføjelse af en stil kræver én linje i registreringsdatabasen:
- **Kortfattet prosa** — fjern fyldord / artikler / forbehold; bevar det tekniske indhold præcist.
- **Mindre kode** — "doven seniorudvikler"-YAGNI: den mindste fungerende ændring, ingen uanmodet grundstruktur.
- **Hestehale (doven seniorudvikler)** — bevæg dig op ad YAGNI-stigen, løs den grundlæggende årsag, lav den mindste fungerende diff.
- **Jeg har ADHD (handling først)** — begynd med næste handling, nummerér trinnene, ét konkret næste trin, ingen indledning.
- **Kortfattet CJK (文言)** — ultrakortfattet klassisk kinesisk stil (begrænset til landestandarden `zh`).
- **🎯 Adaptivt kontekstbudget** _(drejeknappen)_ — i stedet for én token-grænse, der er slået til eller fra, eskaleres kun de billigste motorer med mindst tab så langt som nødvendigt for at **passe inden for modellens kontekstvindue**. Politik: `reserve-output` (standard, modelbevidst) · `percentage` · `absolute`. Tilstand: `floor` (garanter, at det passer) · `replace-autotrigger` (dit eksplicitte valg vinder) · `off` (ældre grænseværdi).
- **🎛️ Hvor komprimering afgøres** _(prioritet, høj → lav)_ — `x-omniroute-compression`-header pr. forespørgsel › tilsidesættelse for routingkombination › aktiv navngiven profil › adaptiv / automatisk aktivering › panelstandard › slået fra. Den anvendte plan returneres i svarheaderen `X-OmniRoute-Compression: ; source=`.
Aktivér automatisk ud fra en token-grænse, slå den adaptive drejeknap til, fastgør en navngiven profil, angiv en enkeltstående indstilling pr. forespørgsel, eller tildel en pipeline pr. routingkombination — alt efter hvad der passer til arbejdsbelastningen. Et valgfrit offline-**evalueringsværktøj** (`npm run eval:compression`) vurderer nøjagtighed i forhold til besparelser på et fastlåst korpus, før du sætter en ændring i produktion.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Hurtig start
**1) Installér og kør**
```bash
npm install -g omniroute
omniroute
```
> 💡 Ser du `npm warn ERESOLVE` eller advarsler om peer-afhængigheder? [De er harmløse](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
Kontrolpanel på `http://localhost:20128` · API på `http://localhost:20128/v1`.
**2) Tilslut en GRATIS udbyder (ingen tilmelding)**
Kontrolpanel → **Udbydere** → tilslut **Kiro AI** (gratis Claude, ~50 kreditter/måned pr. konto) eller **OpenCode Free** (ingen godkendelse) → færdig.
**3) Konfigurer dit kodeværktøj**
```txt
Basis-URL: http://localhost:20128/v1
API-nøgle: [kopiér fra Kontrolpanel → Endpoints]
Model: auto (intelligent routing uden konfiguration — eller en vilkårlig udbyder/model)
```
**4) Bekræft, at det virker**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Du bør se en liste over dine tilsluttede modeller. 🎉 Det var det — begynd at kode, så sørger OmniRoute automatisk for routing og fallback.
Hvis din klient ikke kan sende brugerdefinerede headers, tilbyder OmniRoute også tokeniserede kompatibilitetsaliasser:
```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-svar: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama-chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama-tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Brug kun disse til klienter, der ikke kan tilføje `Authorization: Bearer ...`. Godkendelse via header er fortsat den foretrukne metode.
## 📦 Flere installationsmetoder — 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øjeste **udgivne** stabile SemVer. Det følger ikke git `main`. Fastlås `:X.Y.Z` til GitOps. Se [Docker-udgivelseskanaler](docs/guides/DOCKER_GUIDE.md#release-channels). Image-filen fastlåser **`OMNIROUTE_MEMORY_MB=1024`**. Det er tilstrækkeligt til dashboardet og en let chat. **Kodningsagenter** (`POST /v1/responses` fra Claude Code, Codex, Grok, …) kræver en meget større V8-heap, ellers får processen en `FATAL ERROR` ved ca. 12 GiB med to overlappende lange kontekster. Dimensionér containeren større end heapen (native buffere ligger uden for V8):
| Arbejdsbelastning | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) |
| ---------------------------------- | ------------------------------- | ---------------------- |
| Dashboard/let chat | `1024` (image-standardværdi) | ≥2 g |
| Én kodningsagent | `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
```
Komplet tabel: [Docker-vejledning — RAM under kørsel](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Docker-kanal til forhåndsudgivelser:** `diegosouzapw/omniroute:next` og
> `diegosouzapw/omniroute:next-web` følger den aktuelle standardgren `release/v*`.
> Disse foranderlige tags er kun beregnet til test af ikke-udgivne rettelser og
> **understøttes ikke til produktion**. Se
> [Docker-udgivelseskanaler](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Standardkommandoerne `bun install` og global installation (`bun install -g omniroute`) understøttes via registrering af Bun-kørselsmiljøet:
- **Indbygget `bun:sqlite`**: OmniRoute bruger Buns indbyggede `bun:sqlite`-driver, når det kører under Bun, og falder tilbage til `better-sqlite3` på Node.js eller `sql.js`.
- **Automatisk valg af Webpack-bundler under udvikling**: Udviklingsmiljøet (`bun run dev`) registrerer automatisk Bun og deaktiverer Turbopack til fordel for Webpack for at forhindre inkompatibilitet med native V8-bindinger. Produktions-builds (`bun run build`) følger `OMNIROUTE_USE_TURBOPACK` præcis som på Node: Turbopack som standard, `OMNIROUTE_USE_TURBOPACK=0` for at bygge med Webpack (`Dockerfile.bun` eksponerer det som et `--build-arg`).
- **Dedikeret Bun-Dockerfile**: `Dockerfile.bun` med flere stadier til native Bun-produktionsinstallationer (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Installér og kø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
# Brug af Nix flakes
nix develop
npm run dev
# Eller brug af devbox
devbox run npm run dev
```
📖 [Docker-vejledning](docs/guides/DOCKER_GUIDE.md) — Compose-profiler, Caddy HTTPS og Cloudflare-tunneler.
**🦭 Podman**
```bash
# 1. Klargør datamappen, der monteres via bind mount
mkdir -p data
# 2. Kun Linux + lokal rootless Podman (aldrig en ekstern Podman Machine-klient):
podman unshare chown 1000:1000 ./data
# 3. Angiv kørselsmiljøhintet, byg det lokale Compose-image, og start
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
På macOS eller Windows bruger Podman en ekstern Podman Machine: Spring `podman unshare` over, og
følg den [topologispecifikke vejledning til datamapper](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Podman-vejledning](contrib/podman/README.md) — Compose-builds, Podman Machine og
Linux/systemd Quadlet-opsætning.
**⚡ Hurtigere/mindre installation (spring det native build over)**
Den native SQLite-motor (`better-sqlite3`) er en **valgfri** afhængighed, så en global
installation blokerer aldrig på kompilering fra kildekode: Den bruger en præbygget binær fil, når en sådan matcher
din platform/Node, og falder ellers transparent tilbage til en ren JS-motor
(`node:sqlite` på Node 22+, ellers den medfølgende `sql.js` WASM) — ingen build-værktøjer kræves.
Sådan springer du den native opvarmning efter installationen helt over (CI, headless eller langsomme maskiner):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 springer den også over
```
Foretræk **pnpm** til de hurtigste installationer (indholdsadresseret lager + hardlinks — se ovenfor).
Brug Docker-profilen `base` (ovenfor) eller
[Termux-vejledningen](docs/guides/TERMUX_GUIDE.md) til et headless-kørselsmiljø uden dashboard. CLI'en og webdashboardet leveres af den
samme proces på én port, så der findes i øjeblikket ikke en separat pakke kun til CLI'en.
Strategi for testdækning af mere end 39.000 statiske testdeklarationer fordelt på mere end 5.100 registrerede testfiler
# ⭐ Vigtigste bidragydere
> OmniRoute er formet af et passioneret open source-fællesskab. Disse personer har ydet enestående bidrag, som har direkte indvirkning på projektets kvalitet, stabilitet og rækkevidde. **Tak.**
### Eksterne bidragydere efter antal flettede pull requests
Fastfrosset ved spidsen af den aktive release/v3.8.50, dafb4ae808, med fletninger til og med 2026-08-24 05:26:03 UTC. Den sideinddelte GitHub GraphQL-optælling indeholder 5.911 flettede PR'er: 2.707 fra repositoryets ejer, 179 fra Dependabot og 3.025 eksterne PR'er fra 535 forskellige bidragydere. »Ændrede linjer« er GitHub-tilføjelser + -sletninger og omfatter genererede filer, låsefiler, kataloger, oversættelser og dokumentation; det er ændringsomfang, ikke egenforfattede kodelinjer. Delte placeringer ved grænsen er medtaget.
### Commits tilskrevet af GitHub
Bob.Hou 🏅 51 GitHub-tilskrevne commits · delt 10.-plads
Xiangzhe 🏅 51 GitHub-tilskrevne commits · delt 10.-plads
Kontrolleret igen 2026-08-24 06:14:31 UTC: GitHub-tilskrevne commits rapporteret af repositoryets Contributors API for standardgrenen release/v3.8.50. API'et returnerede 525 identiteter (415 brugere, 2 bots, 108 anonyme); denne tabel udelader vedligeholderen, bots og anonyme identiteter og bevarer delte placeringer. Den adskiller sig både fra rangeringen efter flettede PR'er ovenfor og optællingen af 639 personer baseret på Git-metadata nedenfor.
> 🙏 Disse bidragyderes funktioner, fejlrettelser og infrastrukturforbedringer er en **central del** af det, der gør OmniRoute pålideligt og funktionsrigt. Hver pull request, hver testcase og hver i18n-oversættelsesfil betyder noget. Open source bygges af mennesker som dem.
---
## 💖 Sponsorer
En hjertelig tak til de personer, der finansierer OmniRoute af egen lomme — hvert bidrag holder projektet gratis, uafhængigt og i bevægelse.
… og andre, som foretrækker at forblive private 💛Offentlige GitHub-sponsorer genvalideret den 2026-08-24. GitHubs activeOnly-status afgør de aktive mærkater ovenfor; tidligere offentliggjorte engangsbidragydere takkes fortsat, og private sponsorer forbliver anonyme.💖 Bliv sponsor → — hver dollar holder OmniRoute gratis og uafhængigt.
## 👥 600+ bidragydere
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Revideret den 2026-08-24 på den fastlåste base ac02c5b42f og kontrolleret igen ved det aktuelle release/v3.8.50-tip dafb4ae808: 639 normaliserede menneskelige Git-identiteter — 407 optræder som commitforfattere (inklusive vedligeholderen), og 232 optræder kun i eksplicitte Co-authored-by-trailere. Optællingen normaliserer GitHub-noreply-handles, udelukker 26 bot-/agent-/tjeneste-/pladsholderidentiteter og sammenlægger ikke almindelige e-mailadresser, blot fordi deres viste navne matcher.
### Sådan bidrager du
1. Fork repositoriet
2. Opret en branch fra spidsen af den **aktive** `release/vX.Y.Z`-branch (ikke `main`) — se [Branching- og udgivelsesmodel](docs/ops/BRANCHING_MODEL.md)
3. Opret din feature-branch (`git checkout -b feat/amazing-feature`)
4. Commit dine ændringer (`git commit -m 'feat: add amazing feature'`)
5. Push til branchen (`git push origin feat/amazing-feature`)
6. Åbn en Pull Request med **base = den pågældende `release/vX.Y.Z`-branch**
Se [CONTRIBUTING.md](CONTRIBUTING.md) for detaljerede retningslinjer.
### Udgivelse af en ny version
```bash
# Opret en udgivelse — npm publish sker automatisk
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Stjerner
## 🌍 StarMapper
## 🙏 Tak
OmniRoute står på skuldrene af giganter. Det begyndte som en fork af **[9router](https://github.com/decolua/9router)** og en TypeScript-portering af Go-projektet **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — og derfra blev hvert af undersystemerne nedenfor inspireret af et open source-projekt, der kom først. Hvert af dem formede en konkret del af OmniRoute. Dette er vores tak til dem alle. 🙏
> ⭐ Antallet af stjerner blev verificeret via GitHubs REST API den 24. august 2026 — giv disse projekter en stjerne. Tallene er et nøjagtigt øjebliksbillede fra den angivne dato og vil naturligvis ændre sig.
### 🧬 Ophav og gateway
AI-gatewayen, hvis offentlige prisdatasæt bruges til vores synkronisering af omkostningssporing, og hvis model for normalisering af udbydere dannede grundlag for vores routing.
MIT-kildekode tilpasset til den inkluderede ChatGPT Web → Codex Responses-bro, herunder adaptere til browsersessioner, responsindramning, forbrug og websøgning.
Mønstre porteret til gendannelse af streams, aliasser uden tænkning, reservewebsøgning, grænser med glidende vinduer, redigering af logdata og hærdede startforløb.
Dets Grok-modeltilknytninger, falske TypeError Statsig-generator, standarder for anmodninger og enheder samt NDJSON-responsprocessor blev i væsentlig grad tilpasset til OmniRoutes Grok Web-eksekvering.
Den primære transitive kodekilde bag grok2api-merged; dens implementeringer af modeller, headere, payloads, Statsig og processorer er bevaret i Grok Web-slægtslinjen.
Den underliggende MIT-kildekode til Grok-payloads og enhedsstandarder, Statsig-generatoren og result.response-processoren, som er videreført gennem TQZHR og grok2api-merged.
En transitiv kilde, som grok2api-merged krediterer for sit proxy-puljelag; OmniRoute bevarer denne angivelse af ophav, men hævder ikke at have porteret en proxy-pulje i sin afgrænsede Grok Web-eksekvering.
Den oprindelige Grok Web-implementering tog udgangspunkt i dets HTTP-/browser-upstreamdesign; dens direkte HTTP-sti stammer fra GrokProxy, så der hævdes ingen uafhængig kodeportering.
Det virale "hvorfor bruge mange token, når få token gør tricket"-projekt — dets hulemandssprogsfilosofi driver vores standardkomprimeringstilstand og mere end 30 regler for fyldordsfjernelse og kondensering.
Højtydende komprimering af kommandooutput — inspirerede vores RTK-motor, JSON-filter-DSL, gendannelse af råt output og den stakkede RTK → Caveman-pipeline.
Den virale "dovne seniorudvikler"-YAGNI-kodningsfærdighed — inspirerede vores less-code-outputstil: styring mod den mindst mulige fungerende ændring, som reducerer _genereret_ kode (outputakse-modstykket til Cavemans kortfattede prosa).
Indholdsbevidst outputkomprimering pr. filtype med fejlhåndterende afbrydelse — validerede vores distribution pr. type og overspringelse ved minimal gevinst.
Kolonnebaseret JSON i Rust + indholdsadresseret hentning + deduplikering på tværs af beskeder — validerede vores design af headroom/ccr/session-dedup-motorerne og den cachestabile invariant "den komprimerede form er uafhængig af placering".
Værktøjssæt til TypeScript Compiler API — inspirerede vores parserbaserede fjernelse af kommentarer, som bevarer streng-, skabelon- og regulære udtryksliteraler.
MITM-opfangning/-analyse af trafik mellem kodningsassistent ↔ LLM dannede grundlag for de tidlige krav til Traffic Inspector. Fire tidligere afledte moduler — SSE-sammenfletning, samtalenormalisering, maskering af hemmeligheder og rensning af headers — er blevet erstattet af uafhængige clean-room-implementeringer baseret på offentlige protokolstandarder. De to flader til host-passthrough (passthrough.ts og _internal/bypass.cjs) er fortsat interne OmniRoute-implementeringer, der er klassificeret uafhængigt; de blev ikke omskrevet som en del af denne udskiftning.
Transparent proxy-routing pr. proces — inspirerede vores nedbrudssikre MITM-nedlukning, inaktivitetstimeouts for sockets, procestilknytning via /proc og TPROXY-opfangning.
### 📚 Modeldata, observerbarhed og brugergrænseflade
En kurateret liste over biblioteker, der som standard er sikre, og som vejleder vores sikkerhedsvalg (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Dets kontobaserede modelomlægning, validering af stien til den eksekverbare fil og adfærd for planetiketter dannede grundlag for OmniRoutes Antigravity-runtime.
Identificerede Grok Build-kvotegrænsefladen; OmniRoute verificerede og korrigerede derefter selvstændigt det aktive wire-format.
## 📄 Licens
MIT-licens – se [LICENSE](LICENSE) for detaljer.
---
**[⬆ Tilbage til toppen](#-omniroute)** · Bygget med ❤️ til open source-AI-fællesskabet.
OmniRoute v3.8.51 · Node ≥22.22.2 · MIT-licens · omniroute.online