## 💰 ~1.62B Token / Buwan sa Lahat ng Third-Party Free Tier
> **Dalhin ang sarili mong provider accounts.** Ito ay tinatayang pinagsama-samang bilang mula sa hiwalay na karapat-dapat na third-party free tiers, hindi token grant mula sa OmniRoute. Mag-sign up, kumuha ng credentials kung kailangan, at ikonekta ang mga provider na magagamit mo; kinokontrol ng bawat provider ang mga limit, availability, at terms nito.
>
> Ang manu-manong pag-stack ng free tiers ay mahirap — dose-dosenang SDK, dose-dosenang rate limit, at walang ideya kung gaano talaga ang mayroon ka. Kinakatalogo ng OmniRoute ang **467 free-tier entries sa 34 na paulit-ulit na pool keys** at kinokompute ang token headline mula sa **17 pools na may nai-publish na positibong buwanang budget kasama ang limang per-model Groq caps**, na deduplicated ayon sa shared pool. Ang mga quota na bumubukas lamang pagkatapos ng regional identity check (ngayon: ModelScope) ay ipinapakita nang hiwalay, +~6M sa likod ng regional identity verification, at hindi kailanman isinasama sa headline. Nananatiling nakikita ang resulta sa dashboard (`/dashboard/free-tiers`).
> Animated na buod ng live na `/dashboard/free-tiers` page. Buong methodology (pool dedupe, credit tiers, provider terms): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Ang mga figure na ito ay muling ini-audit tuwing dalawang linggo laban sa live catalog at **gumagalaw sa dalawang direksyon** — nagtatapos ang isang provider ng free tier at bumababa ang numero; may bago na dumarating at umaakyat ito. Ini-publish namin ang aktwal na kinokompute ng catalog, hindi kailanman isang ni-round-up na best case.
⭐ I-star ang repo kung nakatulong sa iyo ang OMNIROUTE na makatipid at gawing mas madali ang trabaho mo.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Sumali sa komunidad
**👋 Sundan ang maintainer — makuha muna ang mga bagong provider, release at tip:**
[](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)
**Mga tanong, provider tip, roadmap at suporta → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](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)**
## 📈 Patuloy na Lumalaki ang Gateway
| | v3.8.50 | **v3.8.51** | `v3.8.53+` |
| --------------------------------------- | :-----------------------: | :---------: | :-------------------: |
| 🌐 Mga Provider | 352 | **358** | 375 |
| 🧠 Natatanging chat model ID | 1320 | **1374** | 1475 |
| 🖼️ Modality Bridge | 🆕 vision + audio + video | ✓ | ✓ |
| 📡 Libreng catalog ng Radar | 🆕 opt-in | ✓ | ✓ |
| ⚖️ Scheduling na may kamalayan sa quota | 🆕 Quota-Share | ✓ | ✓ |
| 📊 Telemetry ng quota | 🆕 live | ✓ | ✓ |
| 🧰 Headless mode | — | — | 🆕 `serve --headless` |
| 🛤️ LTS rail infra | — | — | 🆕 release channels |
| 🔎 API sa paghahanap ng Model | — | — | 🆕 `/v1/models/query` |
**→ [Roadmap](ROADMAP.md) — sakay sa riles patungong `v3.9.0 LTS`**
## 🧩 Magagamit
[](https://www.npmjs.com/package/omniroute)

[](https://hub.docker.com/r/diegosouzapw/omniroute)
[](LICENSE)


## 🆓 Mag-install, kumonekta sa isang provider, pagkatapos ay mag-route sa pamamagitan ng iisang endpoint
```bash
# Pagkatapos kumonekta sa isang provider, kopyahin ang iyong OmniRoute key mula sa Dashboard → Endpoints:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
Nangangailangan ang `auto` ng kwalipikadong route. Maaaring walang kwalipikadong keyless target ang bagong installation, at maaaring tanggihan ng isang keyless provider ang mga third-party client. Ang mga provider na minarkahang `tos: avoid`, kabilang ang Kiro, ay hindi isinasama sa awtomatikong routing bilang default; hindi ino-override ng pagkonekta ng account ang setting na iyon. Tingnan ang [Gabay sa mga Libreng Tier](docs/getting-started/FREE-TIERS-GUIDE.md) bago pumili ng provider.📦 Mga copy-paste na quickstart script para sa **Python, Node.js, PHP, at cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Ang Pangako
# 🤔 Bakit OmniRoute?
## 🤝 Sinusuportahan ng Aming Mga Kaibigan sa Open Source
> **Gusto mo bang sumali bilang isang Kaibigan sa Open Source?** Ito ang mga kumpanyang sumusuporta sa open source at tumutulong na panatilihing gumagana ang OmniRoute — at ipinapahayag namin sa publiko kung saan napupunta ang bawat token na ibinibigay nila sa amin. Makipag-ugnayan: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Salamat sa Kimi (Moonshot AI), ang aming founding Open Source Friend, sa pagsuporta sa proyektong ito! Ang Kimi ay ang AI lab sa likod ng open-weight K2 at K3 model families — ang Kimi K3 ay naghahatid ng 1M-token context window, native vision at frontier-level coding sa isang bahagi ng presyo ng closed-model, at gumagana agad sa Claude Code, Codex at bawat coding tool na inihahatid ng OmniRoute.
Ano ang pinapagana ng suporta ng Kimi: Ang mga API credit ng Kimi ay nagpapagana sa AI-validated release pipeline ng OmniRoute — ang merge validation na pinapagana ng Kimi K3 stage na sumusuri sa bawat pull request bago ito ilabas — kasama ang pang-araw-araw na pagbuo ng feature. Ang first-class na suporta ng Kimi ay inilalabas sa parehong rails: ang direktang Kimi API (kimi-k3) at ang Kimi Code coding plan (OAuth at API key). Ang OmniRoute din ang unang Brazilian open-source project sa support program ng Kimi. Kumuha ng Kimi API key na may 15% dagdag na credits →
Cheaper Inference cheaperinference.com
Salamat sa Cheaper Inference, isang OmniRoute Open Source Friend, sa pagsuporta sa proyektong ito! Ang Cheaper Inference ay isang cost-ranked gateway na nagbebenta muli ng 42 frontier models — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok at MiniMax — sa likod ng isang OpenAI-compatible endpoint, na nagruruta ng bawat kahilingan sa pinakamurang karapat-dapat na provider nang hindi kailanman naniningil ng mas mataas sa list price ng gumawa ng modelo.
First-class na suporta sa OmniRoute: Chat Completions, ang native na /v1/responses endpoint, vision, tool calling at 3 image models (grok-imagine, nano-banana-pro, nano-banana-2, na naaabot bilang cheaperinference/<model>). Kumuha ng API key →
Ang mga link na may tag na aff=omniroute ay mga partner link. Pinopondohan nila ang proyekto nang walang dagdag na gastos sa iyo. 🎟️ Affiliates Promo — libreng signup coupons mula sa mga provider na hindi namin sinusuportahan (i-click para palawakin)Ang seksyong ito ay para lamang sa referral/coupon codes. Ang mga sponsored partnership ay nasa 🤝 Sinusuportahan ng Aming Mga Kaibigan sa Open Source sa itaas. Walang sponsorship o partnership ang OmniRoute sa mga provider na nakalista dito — ito ay mga pampublikong coupon na maaaring gamitin ng sinuman.
AgentRouter agentrouter.org
AgentRouter — affiliate signup · $100 libreng credits sa signup (libreng server, asahan ang mas mataas na latency — pinakamahusay para sa pagsubok, hindi para sa produksyon). First-class na suporta sa OmniRoute mula noong v3.8.50: Chat Completions, ang Anthropic-compatible wire format at ang OpenAI-compatible path. Kasama sa mga available na modelo ang claude-opus-4-8, claude-opus-5, gpt-5.6-sol at marami pa. Kunin ang iyong $100 →
⚠️ Affiliate link — Walang sponsorship o partnership ang OmniRoute sa provider na ito.
May alam ka bang ibang provider na may mapagbigay na libreng signup coupon na makikinabang sa mga user ng OmniRoute? Magbukas ng isyu at idaragdag namin ito dito.
## 🎯 Mga Combo — Ang Pangunahing Tampok
> Ang **combo** ay isang hanay ng mga model na **awtomatikong** pinagrurutahan ng OmniRoute. Kung maubos ang quota, pumalya ang isang provider, o biglang tumaas ang mga gastos, maaaring lumipat ang combo sa susunod na kwalipikado at maayos na model. 🛡️
### ⚡ Walang configuration — gamitin lang ang `auto`
Walang combo na kailangang gawin. Itakda ang iyong model sa `auto` (o isang variant) at bubuo ang OmniRoute ng virtual na combo mula sa iyong mga nakakonektang provider, na sinusuri nang live:
Model ID
Kung para saan ito nag-o-optimize
auto
🎯 Balanseng default (LKGP — nananatili sa iyong huling maayos na provider)
auto/coding
🧑💻 Mga weight na inuuna ang kalidad para sa pagbuo ng code
auto/fast
⚡ Pinakamababang latency muna
auto/cheap
💰 Pinakamura bawat token muna
auto/subscription
🎟️ Tanging ang quota ng subscription na binabayaran mo na — hihinto kapag nabigo, at hindi kailanman lilipat sa fallback na may bayad (gabay)
auto/thrifty
🪜 Quota ng plan muna, pagkatapos ay paisa-isang antas patungo sa pinakamurang mga opsyong may bayad — babalik sa plan pagkatapos nitong mag-reset (gabay)
auto/offline
🔋 Pinakamalaking natitirang quota / kapasidad sa rate limit muna
auto/smart
🔭 Inuuna ang kalidad + 10% eksplorasyon upang makatuklas ng mas mahuhusay na model
auto/lkgp
📌 Tahasang pananatili sa huling kilalang maayos na provider
auto/chaos
🧪 Sabay-sabay na pagpapadala sa isang panel ng mga model (isa bawat provider, 5 bilang default), at nagbabalik ng isang sagot; isang upstream call bawat model sa panel, hindi fault injection
##
### 🔀 O bumuo ng sarili mo — 20 diskarte sa pagruruta
Lahat ng **20** diskarte — paghalu-haluin at pagtugmain sa bawat hakbang ng combo:
#
Diskarte
Kung ano ang ginagawa nito
1
priority
Listahang nakaayos ayon sa unang target — ubusin ang bawat isa bago lumipat sa susunod 🥇
2
fill-first
Lubusang punuin ang quota ng bawat target bago lumipat
3
weighted
Random na pagpili batay sa weight ng bawat target
4
round-robin
Umikot sa mga target ayon sa pagkakasunod-sunod
5
p2c
Random na load balancing gamit ang power-of-two-choices
6
least-used
Piliin ang target na may pinakamababang kasalukuyang load
7
random
Pantay-pantay na random na pagpili (inaalis ang mga duplicate)
8
strict-random
Random nang hindi inaalis ang mga pag-uulit 🎲
9
cost-optimized
Pinapaliit ang $ bawat request batay sa live na pagpepresyo sa catalog 💸
10
headroom
Piliin ang target na may pinakamaraming natitirang quota
11
quota-weighted
Laktawan ang mga account na ubos na, pagkatapos ay pumili nang proporsyonal sa natitirang quota ÷ kasalukuyang load — mananatiling naka-pin ang mga umiiral na pag-uusap ⚖️
12
reset-window
Unahin ang target na may quota window na pinakamalapit nang mag-reset
13
reset-aware
I-ranggo ayon sa oras ng pag-reset ng quota — maiikling window muna 📊
14
context-relay
Ilipat ang context sa iba't ibang target para sa mahahabang pag-uusap 🧠
15
context-optimized
Piliin ang pinakaangkop para sa kasalukuyang laki ng context
16
cache-optimized
I-pin ang bawat muling magagamit na prefix ng prompt sa parehong account — i-maximize ang mga hit sa prompt cache 🎯
17
lkgp
Huling Kilalang Maayos na Path — ipinipin sa huling matagumpay na provider, pagkatapos ay lilipat sa mga panuntunan bilang fallback
18
auto
Live na pagmamarka gamit ang 16 na salik sa lahat ng koneksyon 🤖
19
fusion
Ipadala sa isang panel ng mga model + isang tagahatol ang magsasama-sama ng iisang sagot 🧬
20
pipeline
Ikadena ang mga hakbang — ang output ng bawat target ay ipinapasa sa susunod 🔗
Binibigyan ng Auto-Combo engine ng puntos ang bawat kandidato batay sa **16 na salik** (kalusugan, quota, gastos, latency, pagiging angkop sa gawain, kalidad, availability ng session…) — tingnan ang [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Nakapaloob na ang resilience (3 independiyenteng layer)
📖 [Auto-Combo Engine](docs/routing/AUTO-COMBO.md) · [Gabay sa Resilience](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Ang Nagpapabukod-tangi sa OmniRoute
📊 Kumpletong metodolohiya & mga detalye ng bawat feature kumpara sa 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Suportahan ang OmniRoute
Ang OmniRoute ay may lisensyang MIT at hayagang pinapanatili. Kung nakakatipid ito ng oras o pera para sa iyo, narito kung paano mo ito matutulungang manatiling malaya — piliin ang naaangkop sa iyo. Hindi kailanman naaapektuhan ng sponsorship ang priyoridad sa routing; visibility ang binibili nito, hindi ranggo.
**🇧🇷 PIX** — agad-agad, walang bayarin (Brazil)
Key (random): `5d865059-bc44-483a-962d-43ceb80126eb`
Kopyahin-at-i-paste na Pix:
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ Crypto — BTC · ETH · USDT-TRC20 · USDC-Solana (i-click para palawakin)
₿ BTC
Bitcoin (SegWit)
bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH
Ethereum (ERC20)
0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT
Tron (TRC20)
TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC
Solana
2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Ipadala lamang ang bawat coin sa ipinapakitang network — maaaring mawala ang mga pondo kapag ipinadala sa maling network.
🐛 Nakakita ng bug o may feedback? Magbukas ng [Talakayan](https://github.com/diegosouzapw/OmniRoute/discussions).
Mga tala para sa developer: Maaaring bumuo ang proyekto ng lokal na .env file habang isinasagawa ang npm install/postinstall para sa kaginhawaan ng developer. Sadyang binabalewala ang file na ito sa pamamagitan ng .gitignore (tingnan ang .gitignore) at hindi ito kailanman dapat i-commit — kung aksidenteng na-commit, palitan ang anumang nalantad na secret at alisin ang file mula sa history. Tingnan ang docs/DEVELOPER-ENVIRONMENT.md para sa gabay sa pamamahala ng mga lokal na environment file at secret.
## 📡 OmniRoute Radar
Ang pangunahing headline para sa libreng tier ay nananatiling **~1.62B token/buwan** mula sa nakadokumento at na-deduplicate ayon sa pool na catalog sa itaas. Maaaring hiwalay na mapataas ng pansamantalang signup credits ng provider ang unang buwan sa **~2.22B**. Ang Radar ay isang opsyonal at nilagdaang catalog overlay para sa mga taong nais ng mas napapanahong availability ng mga libreng modelo sa pagitan ng mga release ng OmniRoute; mananatiling libre ang catalog ng komunidad at ang bawat umiiral na libreng feature.
Maaaring matanggap ng mga supporter ang live na catalog at mga karagdagang oportunidad mula sa provider. Ang hiwalay at nababagong limitasyon nito ay **humigit-kumulang 3B token/buwan sa pinakamataas**, depende sa availability ng provider. Hindi garantiya ang limitasyong iyon: maaaring baguhin ng mga provider ang mga quota, pagiging kwalipikado, mga modelo, o mga rehiyon anumang oras.
Ang Radar ay opt-in at GET-only. Hindi nag-a-upload ang OmniRoute client ng mga prompt, traffic, configuration ng provider, telemetry ng paggamit, o lokal na estado ng pag-dismiss sa announcement. Alamin ang tungkol sa pagiging kwalipikado at ang kasalukuyang catalog sa **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Ano ang Bago
> Mga kamakailang highlight mula sa **v3.8.20 → v3.8.53**. Buong kasaysayan sa [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ `quota-weighted` na routing** — ang ika-20 combo strategy ay lumalaktaw sa mga naubos na account, pagkatapos ay pumipili sa natitira ayon sa proporsyon ng natitirang quota ÷ in-flight load, habang pinananatiling naka-pin ang mga kasalukuyang usapan. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 Headless mode** — ang `omniroute serve --headless` (o `OMNIROUTE_HEADLESS=1`) ay nagpapatakbo lamang ng `/v1/*` proxy engine, naka-off ang dashboard at mga subsystem na para lang sa dashboard. → [Headless Mode](docs/guides/HEADLESS.md)
- **🔎 Pagtuklas ng model** — ang `/v1/models` ay nagfi-filter ayon sa capability, context, kind at text, at ang `POST /v1/models/query` ay nagbabalik ng maikling deterministic na shortlist na may parehong per-key visibility. → [API Reference](docs/reference/API_REFERENCE.md)
- **🔑 Kontrol sa routing kada key** — i-pin ang isang API key sa isang model o combo gamit ang `forcedModel`, at idagdag o alisin nang atomiko ang mga model at combo ng isang key (`/api/keys/{id}/access`). → [API Reference](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Mas pinong mga kontrol sa PII** — pagpili kada uri, hanggang 20 validated na custom masking pattern at per-type detection counter; nananatiling opt-in ang masking mismo. → [Guardrails](docs/security/GUARDRAILS.md)
- **🌍 67 na wika** — dashboard, mga docs mirror at CLI, kung saan ang `npm run i18n:add-locale` ay nagdaragdag ng wika sa lahat ng lugar sa isang command. → [i18n Guide](docs/guides/I18N.md)
- **🎛️ OmniConductor** — papasok na A2A delegation patungo sa iyong agent fleet, mga Conductor skill sa Agent Card, at panel sa dashboard na may Faro push-to-talk voice chat. → [A2A Server](docs/frameworks/A2A-SERVER.md)
- **🛂 Adaptive admission at proteksyon sa overload** — ang mabibigat na chat request ay pumipila sa halip na mag-503, na may atomic RPM rolling lease kada koneksyon. → [Resilience Guide](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Canonical na pagkakasunod-sunod ng `/v1/models`** — isang magkadikit na block na naka-group ayon sa provider para sa bawat provider (mga combo ang naka-pin muna), stable sa lahat ng catalog source. → [API Reference](docs/reference/API_REFERENCE.md)
- **🗜️ Pagpapatatag ng compression** — naka-default na inflation guard, mga Caveman pack para sa DE / FR / JA + Chinese (wényán), mga RTK filter para sa Gradle at .NET. → [Compression](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Tapat na flat-rate na gastos** — ang subscription / coding-plan provider ay nagbabasa ng **$0** sa cost analytics; patuloy na nag-e-estimate ang budget, quota at routing. → [API Reference](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share na routing** — hatiin nang patas ang quota ng shared account sa mga pooled key, work-conserving upang mapahiram ang mga idle slice. → [Resilience Guide](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 One-command na setup ng CLI/agent** — 15 na rehistradong `setup-*` command; ang `omniroute run` ay naglulunsad ng 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); sinusuportahan ng `omniroute configure` ang 11 target na may interactive na provider+model picker at per-context favorites. → [CLI Integrations](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Remote mode** — i-drive ang remote na OmniRoute gamit ang scoped token (`connect` / `contexts` / `tokens`) + isang `antigravity` OAuth helper para sa VPS install. → [Remote Mode](docs/guides/REMOTE-MODE.md)
- **🧭 Mas matalinong auto-routing** — mga combo na `auto/:`, **Fusion** (model panel + judge), task-aware routing, per-request na override sa model / mode / USD-budget. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Pluggable na compression** — 12 composable engine + Compression Studios: LLMLingua-2, two-tier Ultra, omniglyph, per-step fidelity gate, GCF v3.2, drag-reorder editor. → [Compression](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparent na MITM decrypt (TPROXY)** — i-capture ang mga CLI na hindi pinapansin ang proxy env var, may per-SNI CA + trust-store installer. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Cost telemetry sa lahat ng dako** — `X-OmniRoute-*` cost/usage header sa bawat endpoint, cache-HIT savings header, per-key na USD spend quota. → [API Reference](docs/reference/API_REFERENCE.md)
- **🧠 Memory na ikaw ang may kontrol** — off by default, opt-in na int8 vector quantization + typed decay, per-request na `x-omniroute-no-memory`. → [Memory](docs/frameworks/MEMORY.md)
- **🛡️ Security** — prompt-injection guard sa bawat LLM route (red-team suite), opt-in na credential-masking guardrail (nagre-redact ng na-leak na API key/secret sa parehong direksyon), libreng DuckDuckGo last-resort web search, at opsyonal na OIDC login gate para sa dashboard (palaging available ang password login). → [Guardrails](docs/security/GUARDRAILS.md)
- **🖼️ Mga bagong endpoint** — kinukumpleto ng `/v1/ocr` (Mistral OCR) at `/v1/audio/translations` (Whisper-style) ang media surface. → [API Reference](docs/reference/API_REFERENCE.md)
- **🎨 Pagbuo ng image / video / audio** — isang API para sa media: xAI Grok Imagine at Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind, at mga speech provider tulad ng ElevenLabs. → [API Reference](docs/reference/API_REFERENCE.md)
- **🌍 Deployment at ops** — reverse-proxy `basePath`, auto-detect ng wika ng browser, per-key device tracking, root-less MITM trust, localization sa zh-TW. → [Environment](docs/reference/ENVIRONMENT.md)
- **🤝 Mas maraming provider at agent** — mga cloud agent (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) na may browser + OAuth login, first-class card ng Ollama, Claude Opus 5 at Sonnet 5, opisyal na partnership sa Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… at na-refresh na **375-provider catalog**. → [Providers](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Transparency sa routing** — bawat response ay may `X-OmniRoute-Decision` header na nagpapangalan sa strategy/provider/latency na naghatid nito, isang bagong `cache-optimized` combo strategy + Auto-Combo `cacheAffinity` factor na nagro-route ng mga paulit-ulit na request pabalik sa koneksyong may hawak ng cached prefix, at ang read-only na `/v1/auto-combo/{channel}/candidates` endpoint ay naglalabas ng live candidate pool ng isang `auto/*` channel. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokal na performance at infra** — one-click na lokal na Redis, Cloudflare Workers / Deno Deploy relay deployers, Bifrost at Mux bilang mga supervised embedded service. → [Embedded Services](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Kasama rin sa kahon** — plugin framework + marketplace, Omni/Agent/GitHub skills frameworks, Obsidian vault integration (22 MCP tools), OpenAI-compatible na Batch at Files APIs, semantic response cache, gamification na may mga leaderboard, ACP agent discovery (15 built-in na agent), naka-iskedyul na log export sa BigQuery, `auto/chaos` parallel multi-model fan-out, isang Telegram bot bridge, isang in-app na version manager at LMArena-ELO free-provider rankings. → [Docs](docs/README.md)
## 🤖 Mga Katugmang CLI at Coding Agent
> Isang config — `http://localhost:20128/v1` — at **bawat** AI IDE o CLI ay gumagana sa mga libre at murang modelo.
+ gumagana rin sa · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · anumang tool na katugma sa OpenAI
📖 Pag-setup sa bawat tool para sa lahat ng 37 tool (27 CLI Code + 10 CLI Agent) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode plugin → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Ilunsad ang anumang sinusuportahang CLI sa pamamagitan ng OmniRoute gamit ang iisang command** — walang isinusulat na mga config file,
ini-inject ang mga credential sa bawat proseso, at binibigyan ang Qwen/Gemini ng pansamantalang nakahiwalay na home:
```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"
# O pumili ng provider+model nang interaktibo at isulat ang sariling config ng tool:
omniroute configure codex # gayundin: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Sinusunod ng bawat command ang aktibong remote context (`omniroute connect `), ipinapakita muna ng `--dry-run`
ang eksaktong env/args nang hindi isinasagawa ang mga ito, at pinapanatili ng `--api-key-env NAME` ang mga secret na wala
sa iyong shell history. → [Mga Integrasyon ng CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 AI Provider — 153 Minarkahan ng Catalog bilang Libre
> **375 na rehistradong provider** sa mga canonical na koleksyon ng chat, media, search, local, cloud-agent at system, kabilang ang **153 na may dalang `hasFree: true` na discovery metadata**. Sakop ng chat model registry ang **239 provider / 3,059 natatanging provider-model pair / 1,475 raw model ID**; ang hiwalay na free-budget catalog ay may **467 per-model row**, **34 recurring pool** at **51 recurring/keyless na free-forever provider**. Magkaiba ang mga denominator na ito ayon sa disenyo; ang mga depinisyon at pool-deduped na kalkulasyon ay nasa [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) at [Free Tiers](docs/reference/FREE_TIERS.md).
### 🏢 Bawat pangunahing lab — sa isang endpoint
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…at 350+ pa — bawat icon ay live na nare-resolve mula sa provider catalog ng dashboard. 📖 [Provider Reference](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Libre Magpakailanman — $0, walang card
OpenCode Zen DeepSeek V4, Nemotron 3 Walang limitasyon sa token
Kilo Code Auto-router, Tencent Hy3 Libre magpakailanman
Qoder AI Qwen3-Max, Kimi-K2 Walang limitasyong LIBRE
Pollinations GPT, Llama, Claude Hindi kailangan ng key
Cloudflare AI 50+ modelo 10K neuron/araw
NVIDIA NIM GLM, MiniMax ~40 RPM libre
Cerebras GLM 4.7, GPT-OSS Isang beses na $5 credit; kailangan ng card
OpenRouter :free na mga modelo +$10 → mas mataas na RPM
📖 Buong katalogong mababasa ng makina → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Saan Gumagana ang OmniRoute — Kahit Saan
> Parehong app, sarili mong makina, sarili mong mga tuntunin. Mula sa global na pag-install gamit ang npm hanggang sa **iyong telepono** sa pamamagitan ng Termux.
Platform
Pag-install
Mga Tampok
📦 npm (global)
npm install -g omniroute
Isang command, anumang OS
🐳 Docker
docker run … diegosouzapw/omniroute
Multi-arch na AMD64 + ARM64
🖥️ Desktop (Electron)
npm run electron:build
Native na window + system tray — Windows / macOS / Linux
🎩 Menu-bar (OmniRouteTray)
brew install --cask zoispag/tap/omniroute-tray
Sinusubaybayan at awtomatikong ina-update ang server — macOS
💪 ARM
native na arm64
Raspberry Pi, mga ARM server, Apple Silicon
📱 Android (Termux)
pkg install nodejs && npx -y omniroute
Gumagana sa iyong telepono, 24/7, walang root
📲 PWA
"Idagdag sa Home Screen"
Fullscreen, offline, maaaring i-install mula sa browser
🧩 OpenCode plugin
@omniroute/opencode-provider
Native na integrasyon sa OpenCode
🤖 VS Code Copilot Chat
i-install ang OmniCopilot extension
Lahat ng modelo ng OmniRoute sa native na Copilot Chat picker — stable at Insiders
### 🧩 Bago: OmniRoute sa loob ng native na Copilot Chat ng VS Code
> Walang bagong sidebar, walang bagong chat UI — bawat modelong inihahatid ng OmniRoute ay lalabas mismo sa
> **Copilot Chat model picker na ginagamit mo na**. Mula sa VS Code 1.122, gumagana ang mga provider model
> nang hindi kailangang mag-sign in sa GitHub o magkaroon ng Copilot subscription — agent mode, tool calling, at vision,
> nang libre.
I-install ang **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** extension, ituro ito
sa iyong OmniRoute server (default ang `localhost:20128`), pagkatapos ay buksan ang Copilot Chat → model picker
→ **Pamahalaan ang Mga Modelo…** → **OmniRoute**.
Mula sa loob ng editor: buksan ang **Extensions** view, hanapin ang **"OmniRoute"**, at i-click ang **Install**
— pareho ang paraan ng paggana sa dalawang store. Matatagpuan ang source, mga issue, at runbook sa pag-publish sa
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Gabay sa VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — pag-setup, kung ano ang ipinapakita ng picker, dashboard-sa-isang-tab, pag-troubleshoot
### 🎩 Bago: OmniRouteTray — ang iyong gateway na nasa menu bar
> Pinakamahusay na gumagana ang `omniroute serve` kapag palagi itong naka-on. Ginagawang set-and-forget na menu-bar app para sa macOS ng **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> ang setup na iyon: sinisimulan nito ang server, pinananatili itong gumagana
> sa bawat pag-reboot, ina-update ito nang hindi inililipat, at inilalagay ang iyong kasalukuyang token budget isang click lang ang layo — **walang
> terminal window na kailangang manatiling bukas, walang `npm install -g omniroute` na kailangang bantayan.**
Binuo gamit ang [Tauri v2](https://v2.tauri.app/) (isang Rust core na napakaliit), kasama rito
ang sarili nitong signed na Node 24 runtime at pinamamahalaan nito ang pag-install ng OmniRoute na pag-aari ng app, kaya hindi ito kailanman sumasalungat sa iyong
global na `node`/`bun`. **Ibinabahagi nito ang kasalukuyan mong `~/.omniroute/` config at database** — kaya ito rin ang
OmniRoute na ginagamit mo na, ngunit may suot lamang na sombrero. 🎩
Ano ang ginagawa nito
Paano
🟢 Sinusubaybayan ang server
Inilulunsad ang omniroute serve at ginagamit ang tumatakbo nang instance sa halip na gumawa ng duplicate nito
📊 Aktuwal na paggamit sa isang tingin
Mga quota bar ng provider, mga limitasyon ng Claude session/lingguhan na may countdown bago mag-reset, at 30-araw na breakdown ng gastos
🔄 Awtomatikong nag-a-update nang hindi inililipat
Staged na pag-install, atomic swap, rollback kapag nabigo — palaging nasa pinakabagong release
🚀 Simulan sa pag-login
Opsyonal na paglunsad sa pag-login; tray lamang, walang dock icon
🩺 Doctor at mga log
Isang-click na diagnostics at access sa mga server log
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Mas gusto mong mag-download? Kunin ang pinakabagong .dmg mula sa
Mga Release. Ang source, mga issue, at dokumentasyon sa build ay
makikita sa zoispag/omniroute-tray.
💛 Isang proyektong pangkomunidad ni @zoispag — hindi isang opisyal na release ng OmniRoute.
> Bukod sa server, ang OmniRoute ay isang **kumpletong command-line cockpit** na may **80+ command**, pati mga bukas na protocol para makontrol ito ng isang AI agent nang **mag-isa**.
### ⌨️ Isang tunay na CLI (hindi lang `start`)
```bash
omniroute # patakbuhin ang gateway + dashboard (port 20128)
omniroute chat # interaktibong TUI chat client (slash: /model /combo /skill /memory)
omniroute setup # ginabayang wizard para sa unang pagpapatakbo
omniroute doctor # suriin ang mga provider, port, at native dependency
```
### 🛰️ Remote mode — patakbuhin ang CLI rito, at ang OmniRoute sa isang VPS
Nasa isang server ang OmniRoute? Kontrolin ito mula sa iyong laptop gamit ang **parehong CLI**. Mag-log in nang isang beses
gamit ang scoped access token; pagkatapos, ang bawat command ay itutuon sa remote.
```bash
omniroute connect 192.168.0.15 # password → scoped token, sine-save bilang isang context
omniroute models # ← tumatakbo laban sa REMOTE server
omniroute configure codex # ← pumipili ng remote model, nagsusulat ng lokal na Codex profile
omniroute tokens create --name ci --scope read # gumawa ng mas limitadong mga token para sa ibang machine
omniroute contexts use default # ← bumalik sa lokal na server
```
May scope na `read` / `write` / `admin` ang mga token; nananatiling loopback-only ang mga route na naglulunsad ng process.
📖 [Remote Mode](docs/guides/REMOTE-MODE.md)
### 🤝 Ikonekta ang isang agent — at kokontrolin nito mismo ang OmniRoute
Ilantad ang OmniRoute sa pamamagitan ng **MCP**, **A2A**, isang **REST API**, mga **webhook**, o isang **remote CLI** — makukuha ng anumang may kakayahang agent (o ng sarili mong code) ang mga susi sa buong gateway: routing, mga provider, combo, cache, compression, memory — nang awtonomo. Inihahatid ang mga HTTP endpoint sa ibaba sa ilalim ng `http://localhost:20128`.
Interface
Endpoint / command
Gamitin ito para sa
🧰 MCP (stdio)
omniroute --mcp
Ikonekta sa Claude Desktop, Cursor, o anumang MCP client
Compatible sa OpenAI — chat, embedding, larawan, audio, OCR
🔔 Mga Webhook
/api/webhooks
Mag-push ng mga request / quota event sa Slack, Discord, Telegram, o anumang URL
🛰️ Remote CLI
omniroute connect
Kontrolin ang isang remote instance gamit ang mga scoped access token
```bash
# Ibigay sa Claude Code ang kumpletong toolset ng OmniRoute sa pamamagitan ng 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) · [Mga Protocol ng Agent](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Makatipid ng 15–95% na Token — Awtomatiko
### 📖 Paano ito gumagana — pipeline, arkitektura at matematika ng pagtitipid
Ang default na stacked combo ay nagpapatakbo ng `RTK → Caveman`. Kapag pareho silang gumagana sa parehong tool/context payload, nagpapatong ang pagtitipid:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Ang mga code block, URL, JSON at structured data ay **laging protektado** ng preservation engine.
> **Bakit gagamit ng maraming token kung kaya namang gawin ng kaunting token?** Ang bawat kahilingan ay dumadaan sa compression pipeline ng OmniRoute nang **transparent** — walang pagbabago sa client. Ito na ngayon ay isang **stack ng 12 composable engine** na tumatakbo nang sunud-sunod at nagmi-mix & match per routing combo — nakaugat sa mga ideya mula sa [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua), at [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Ang stack na may 12 engine
Tumatakbo ang mga engine sa ayos ng pipeline; ang bawat isa ay malayang ma-toggle at ma-configure per combo:
#
Engine
Ano ang ginagawa nito
1
Session-Dedup
Inaalis ang nilalamang paulit-ulit sa mga turn (content-addressed, cross-turn)
2
CCR
Ina-archive ang malalaking block sa likod ng retrieve markers, kinukuha kapag kailangan
3
Lite
Pag-trim ng whitespace + image-URL (latency-light na baseline)
4
RTK
Matalinong pag-filter ng tool-result, dedup at truncation (command-aware)
5
Responses Tool Output
Lossless-first na JSON + bounded diagnostic compression para sa shell/patch/search/build output (Responses API)
6
Headroom
Lossless na tabular compaction ng JSON arrays (~30%) gamit ang vendored na GCF codec
7
Relevance
Extractive na pag-score ng pangungusap laban sa huling query ng user
8
Caveman
Rule-based na prose compression (~65–75% sa output)
9
Aggressive
Summarization + progresibong pagtanda ng lumang turn
10
LLMLingua-2
ML semantic pruning sa pamamagitan ng MobileBERT ONNX — code-safe, async
11
Ultra
Heuristic token pruning na may opsyonal na small-model (SLM) tier
12
OmniGlyph
Experimental na context-as-image encoding para sa sinukat na Claude Fable 5 sa direktang Anthropic wire; ang GPT 5.6 transformers ay nananatiling fail-closed habang hinihintay ang provider receipts. Apat na compression profile (aggressive default, balanced, coding-safe, passthrough) (pinaka-agresibo; opt-in)
Ang mga code block, URL at structured data ay **laging pinapanatili** nang byte-perfect. Pinagsasama ng **one-click preset** ang mga engine:
Mode
Tipid
Pinakamainam para sa
🪶 Lite
~15%
Ligtas na default na laging naka-on
🪨 Standard (Caveman)
~30%
Araw-araw na coding
⚡ Aggressive
~50%
Mahabang session na maraming tool
🔥 Ultra
~75%
Pinakamataas na pagtitipid
🧰 RTK
60–90%
Output ng shell/test/build/git
🔗 Stacked (RTK → Caveman)
78–95%
Halong prompt + tool log
**Tunay na halimbawa — Standard mode:**
> **Bago (69 token):** _"Malamang na ang dahilan kung bakit nagre-render muli ang iyong React component ay dahil gumagawa ka ng bagong object reference sa bawat render cycle. Kapag nagpasa ka ng inline object bilang prop, nakikita ito ng shallow comparison ng React bilang ibang object sa bawat pagkakataon, na nagti-trigger ng re-render. Inirerekomenda kong gamitin ang useMemo para i-memoize ang object."_
>
> **Pagkatapos (19 token):** _"Bagong object ref bawat render. Inline object prop = bagong ref = re-render. I-wrap sa useMemo."_
>
> **Parehong sagot. 72% mas kaunting token. Walang pagkawala ng accuracy.** ✅
**Halimbawang PT-BR — mode na [Troglodita](https://github.com/leninejunior/troglodita):**
> **Bago (42 tokens):** _"Ang problema ay nagre-render muli ang component dahil isang bagong object reference ang ginagawa sa bawat render cycle. Irerekomenda ko ang paggamit ng `useMemo`."_
>
> **Pagkatapos (12 tokens):** _"Re-render: bagong ref bawat cycle (inline object na ginagawa muli). Gamitin ang `useMemo`."_
>
> **Parehong sagot. ~70% mas kaunting tokens. Buo ang teknikal na katumpakan.** ✅
### 🎚️ Higit pa sa mga engine — mga output style, ang adaptive dial at per-request na kontrol
Binabawasan ng 12 engine sa itaas ang pumapasok. Tatlong karagdagang layer ang humuhubog sa **paano**, **kailan**, at kung ano ang **lumalabas**:
- **🪄 Output Styles** _(pag-steer sa output-axis)_ — nag-inject ng deterministic, cache-safe na mga instruksiyon sa paghubog ng sagot; mapagsasama, bawat isa sa `lite` / `full` / `ultra` na intensity. Ang pagdaragdag ng style ay isang linyang registry entry:
- **Terse prose** — alisin ang filler / articles / hedging; panatilihing eksakto ang teknikal na substansiya.
- **Less code** — "lazy senior dev" na YAGNI: pinakamaliit na gumaganang pagbabago, walang hindi hinihinging scaffolding.
- **Ponytail (lazy senior dev)** — akyatin ang YAGNI ladder, ayusin ang root cause, pinakamaliit na gumaganang diff.
- **I have ADHD (action-first)** — nauuna ang susunod na aksyon, may bilang ang mga hakbang, isang konkretong susunod na hakbang, walang preamble.
- **Terse CJK (文言)** — klasikal na Chinese na ultra-terse na estilo (naka-locale sa `zh`).
- **🎯 Adaptive context-budget** _(ang dial)_ — sa halip na isang on/off na token threshold, i-escalate ang pinakamura at pinakawalang-loss na mga engine hanggang sa kinakailangan lang para **magkasya sa context window ng modelo**. Policy: `reserve-output` (default, model-aware) · `percentage` · `absolute`. Mode: `floor` (garantiyahan ang fit) · `replace-autotrigger` (mananalo ang iyong tahasang pinili) · `off` (legacy threshold).
- **🎛️ Saan nagpapasya ang compression** _(precedence, mataas → mababa)_ — per-request `x-omniroute-compression` header › routing-combo override › aktibong named profile › adaptive / auto-trigger › panel default › off. Ang inilapat na plano ay ibinabalik sa `X-OmniRoute-Compression: ; source=` response header.
Mag-auto-trigger sa token threshold, i-on ang adaptive dial, i-pin ang isang named profile, magtakda ng one-off per request, o magtalaga ng pipeline per routing combo — kung alin ang bagay sa workload. Isang opt-in na offline **eval harness** (`npm run eval:compression`) ang nagsusuri ng fidelity vs. savings sa isang naka-pin na corpus bago mo i-promote ang isang pagbabago.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Mabilis na Simula
**1) I-install at patakbuhin**
```bash
npm install -g omniroute
omniroute
```
> 💡 Nakikita mo ang `npm warn ERESOLVE` o peer-dep warnings? [Hindi sila mapanganib](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Gumagamit ng npm 11 o mas bago?** Maaaring harangin ng npm ang mga package lifecycle script maliban kung pinapayagan ang mga ito. Kinakailangan ang `postinstall` ng OmniRoute (`node scripts/build/postinstall.mjs`) para ihanda ang mga native runtime file nito. Payagan ang mga package na pinangalanan sa warning ng npm kapag nag-i-install nang global. Para sa package set na iniulat ng OmniRoute 3.8.53:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Para magamit muli ang allowlist na ito para sa mga susunod na global install, i-configure ito nang isang beses, pagkatapos ay mag-install nang normal:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Maaaring magbago ang dependency list sa pagitan ng mga release; kung iba ang iniulat ng npm na listahan, gamitin ang mga pangalan ng package mula sa warning na iyon. Ang pagpayag sa isang package ay nagpapahintulot sa mga install script nito na tumakbo.
> **Gumagamit ng Gemini Web o ibang web-cookie provider?** Kasama sa npm package ang Playwright pero hindi ang Chromium binary nito. Tingnan ang [Playwright Chromium setup](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium) na tala bago gawin ang unang web-provider request.
Dashboard sa `http://localhost:20128` · API sa `http://localhost:20128/v1`.
**2) Ikonekta ang isang karapat-dapat na provider gamit ang sarili mong account**
Dashboard → **Providers** → pumili ng provider na ang kasalukuyang terms at quota ay bagay sa iyong use case → idagdag ang API key nito o kumpletuhin ang account flow nito. Maaaring mangailangan ang mga free tier ng signup, approval, o payment method. Repasuhin ang [Free Tiers Guide](docs/getting-started/FREE-TIERS-GUIDE.md); hindi garantisado ang keyless availability, at ang mga provider na may markang `tos: avoid` ay hindi kasama sa `auto` bilang default.
**3) Ituro ang iyong coding tool**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) I-verify na gumagana ito**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Dapat mong makita ang mga nakakonektang modelo na nakalista. 🎉 Iyon na — magsimulang mag-code, at awtomatikong nag-a-auto-route at nag-fa-fallback ang OmniRoute para sa iyo.
Kung hindi makapagpadala ang iyong client ng custom header, naglalabas din ang OmniRoute ng tokenized compatibility aliases:
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Gamitin lamang ang mga ito para sa mga client na hindi makakabit ng `Authorization: Bearer ...`. Ang header auth pa rin ang ginustong mode.
## 📦 Higit pang paraan ng pag-install — Docker, source, 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
```
Sinusundan ng `:latest` ang pinakamataas na **na-publish** na stable na SemVer. Hindi nito sinusubaybayan ang git `main`. I-pin ang `:X.Y.Z` para sa GitOps. Tingnan ang [Mga Channel ng Release ng Docker](docs/guides/DOCKER_GUIDE.md#release-channels). Naka-pin sa image ang **`OMNIROUTE_MEMORY_MB=1024`**. Sapat iyon para sa dashboard at magaan na chat. Nangangailangan ang mga **coding agent** (`POST /v1/responses` mula sa Claude Code, Codex, Grok, …) ng mas malaking V8 heap, kung hindi ay magkakaroon ng `FATAL ERROR` ang proseso sa ~12 GiB kapag may dalawang magkapatong na mahabang context. Maglaan sa container ng higit sa laki ng heap (nasa labas ng V8 ang mga native buffer):
| Workload | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) |
| ------------------------------------------ | ------------------------------- | ---------------------- |
| Dashboard / magaan na chat | `1024` (default ng image) | ≥2 g |
| Isang coding agent | `8192` | ≥10 g |
| Dalawang sabay na mahabang `/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
```
Buong talahanayan: [Gabay sa Docker — runtime RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Pre-release na channel ng Docker:** Sinusundan ng `diegosouzapw/omniroute:next` at
> `diegosouzapw/omniroute:next-web` ang kasalukuyang default na branch na `release/v*`.
> Ang mga nababagong tag na ito ay inilaan lamang para sa pagsubok ng mga hindi pa
> nailalabas na pag-aayos at **hindi sinusuportahan para sa production**. Tingnan ang
> [Mga Channel ng Release ng Docker](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Sinusuportahan ang karaniwang `bun install` at global na pag-install (`bun install -g omniroute`) sa pamamagitan ng pagtukoy sa Bun runtime:
- **Built-in na `bun:sqlite`**: Ginagamit ng OmniRoute ang built-in na `bun:sqlite` driver ng Bun kapag tumatakbo sa Bun, at bumabalik sa `better-sqlite3` sa Node.js o `sql.js`.
- **Awtomatikong pagpili ng Webpack bundler sa dev**: Awtomatikong tinutukoy ng development (`bun run dev`) ang Bun at dini-disable ang Turbopack pabor sa Webpack upang maiwasan ang mga incompatibility sa native V8 binding. Eksaktong sinusunod ng mga production build (`bun run build`) ang `OMNIROUTE_USE_TURBOPACK` gaya sa Node: Turbopack bilang default, `OMNIROUTE_USE_TURBOPACK=0` upang mag-build gamit ang Webpack (inilalantad ito ng `Dockerfile.bun` bilang `--build-arg`).
- **Nakalaang Bun Dockerfile**: Multi-stage na `Dockerfile.bun` para sa mga native na Bun production deployment (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Mag-install at patakbuhin gamit ang Bun
bun install
bun run dev
```
**🛠️ Mula sa source**
```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
# Gamit ang mga Nix flake
nix develop
npm run dev
# O gamit ang devbox
devbox run npm run dev
```
📖 [Gabay sa Docker](docs/guides/DOCKER_GUIDE.md) — Mga Compose profile, Caddy HTTPS, mga Cloudflare tunnel.
**🦭 Podman**
```bash
# 1. Ihanda ang bind-mounted na data directory
mkdir -p data
# 2. Para lamang sa Linux + lokal na rootless Podman (huwag kailanman sa remote na Podman Machine client):
podman unshare chown 1000:1000 ./data
# 3. Itakda ang runtime hint, buuin ang lokal na Compose image, at simulan
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
Sa macOS o Windows, gumagamit ang Podman ng remote na Podman Machine: laktawan ang `podman unshare` at
sundin ang [gabay sa data directory na partikular sa topology](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Gabay sa Podman](contrib/podman/README.md) — Mga Compose build, Podman Machine, at
pag-setup ng Linux/systemd Quadlet.
**⚡ Mas mabilis / mas magaan na pag-install (laktawan ang native build)**
Ang native na SQLite engine (`better-sqlite3`) ay isang **opsyonal** na dependency, kaya ang global na
pag-install ay hindi kailanman mahahadlangan ng pag-compile mula sa source: gumagamit ito ng prebuilt binary kapag may tumutugma
sa iyong platform/Node, at kung wala ay awtomatikong bumabalik sa isang pure-JS engine
(`node:sqlite` sa Node 22+, o kung hindi ay ang kasamang `sql.js` WASM) — walang kinakailangang build tool.
Upang ganap na laktawan ang native warm-up pagkatapos ng pag-install (CI, headless, o mababagal na machine):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # Nilalaktawan din ito ng CI=1
```
Para sa pinakamabilis na pag-install, piliin ang **pnpm** (content-addressed store + mga hard link — tingnan sa itaas).
Para sa headless runtime na walang dashboard, gamitin ang Docker `base` profile (sa itaas) o ang
[gabay sa Termux](docs/guides/TERMUX_GUIDE.md). Inihahatid ng iisang proseso sa iisang port ang CLI at web dashboard,
kaya walang hiwalay na CLI-only package sa kasalukuyan.
# 🎬 Aktuwal na Paggamit sa OmniRoute
## 📹 Mga Gabay sa Video
Snapshot ng dashboard noong 2026-10-18 · Hilaw na katalogo: YT 1.352 | TT 334 | IG 290 · Pagiging bago (mga araw): YT 5 | TT 48 | IG 49
**Kumpletong ranggo (mga na-deduplicate na canonical URL, `v > 0`, pinakamalawak na abot):**
| #1 | #2 | #3 | #4 | #5 |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [nnapier7 — Instagram](https://www.instagram.com/reel/Dbp7wv_CIO0/) — **1,454,535** | [Amidia AI & Tech — YouTube](https://www.youtube.com/watch?v=NJ0TQ-pyMDY) — **794,974** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [migue.baena — TikTok](https://www.tiktok.com/@migue.baena/video/7670919268216622358) — **685,788** |
| #6 | #7 | #8 | #9 | #10 |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [nikothetech — TikTok](https://www.tiktok.com/@nikothetech/video/7671890769665477918) — **610,803** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **509,281** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** |
Mga canonical na sukatan noong 2026-10-18: **1.976 natatanging video** · **20.220.289 kilalang panonood** (`v > 0`) · **1.210 channel/profile ayon sa network**. Naglalaman ang hilaw na dashboard ng 1.976 linya (YouTube 1.352 = 740 mahahabang video + 612 Shorts · TikTok 334 · Instagram 290); walang natirang duplicate pagkatapos ng normalisasyon ayon sa canonical URL, na nagpapanatili ng pinakamataas na bilang para sa bawat video. Naka-freeze ang pangongolekta mula sa YouTube noong 2026-10-13 (naubos ang quota ng API mula 14 hanggang 18/10), at ang TikTok/Instagram naman mula 2026-09-02 (walang credit para sa pangongolekta); 76 na video ang wala pa ring bilang ng panonood.
> 🎬 **Gumawa ka ba ng video tungkol sa OmniRoute?** Magbukas ng [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) o [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) na may kasamang link — itatampok namin ito rito.
# 📧 Komunidad at Tulong
> Lahat ay nasa iisang lugar — sundan ang maintainer, makipag-chat sa komunidad, o magbukas ng issue.
| Channel | Saan / paano |
| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| 💼 **LinkedIn** — sundan ang maintainer | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) |
| 🐙 **GitHub** — sundan para sa mga release at tip | [@diegosouzapw](https://github.com/diegosouzapw) |
| 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) |
| ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) |
| 🟢 **WhatsApp — 🌍 Pandaigdigan** | [sumali sa grupo](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) |
| 🟢 **WhatsApp — 🇧🇷 Brazil** | [sumali sa grupo](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) |
| 🌍 **Website** | [omniroute.online](https://omniroute.online) |
| 🌍 **🌍Komunidad ng StHub OmniRoute (libre)** | [portal ng StHub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) |
| 📦 **Source code** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) |
| 🐛 **Mag-ulat ng bug** | [magbukas ng issue](https://github.com/diegosouzapw/OmniRoute/issues) — ilakip ang output ng `npm run system-info` |
| 🤝 **Mag-ambag** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Modelo ng Branching at Release](docs/ops/BRANCHING_MODEL.md) · pumili ng `good first issue` |
| 💚 **Suportahan ang proyekto** | [Mga paraan upang sumuporta ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
Estratehiya sa test coverage para sa 56,000+ static na deklarasyon ng test sa 7,800+ sinusubaybayang test file
# ⭐ Mga Nangungunang Contributor
> Ang OmniRoute ay hinuhubog ng isang masigasig na open-source na komunidad. Ang mga indibidwal na ito ay gumawa ng mga natatanging kontribusyon na direktang nakaaapekto sa kalidad, katatagan, at abot ng proyekto. **Maraming salamat.**
### Mga panlabas na contributor ayon sa mga na-merge na pull request
Isinagawa ang census noong 2026-10-18 15:09:09 UTC gamit ang pinakabagong tip ng release/v3.8.52 na 656f01cb43. Naglalaman ang naka-page na census ng GitHub GraphQL ng 9,191 na na-merge na PR: 3,834 mula sa may-ari ng repository, 229 mula sa Dependabot, 6 mula sa iba pang mga bot/app, at 5,122 panlabas na PR mula sa 835 natatanging contributor. Ang “Mga nabagong linya” ay mga pagdaragdag + pagbubura sa GitHub at kabilang dito ang mga nabuong file, lockfile, catalog, pagsasalin, at dokumentasyon; ito ay dami ng pagbabago, hindi LOC na aktuwal na isinulat. Nag-uulat ang 49 na PR ng mga diff sa GitHub na lampas sa 500,000 linya (halimbawa, ang #13399, isang pagdaragdag ng provider, ay naglilista ng 2,347 nabagong file), na nagpapalaki sa ilan sa mga kabuuang bilang sa itaas. Magkakapareho ang ranggo ng mga tabla.
### Mga commit na iniuugnay ng GitHub
Dizzle 🥇 367 na commit na naka-attribute sa GitHub
Bob.Hou 🥈 269 na commit na naka-attribute sa GitHub
Muling sinuri noong 2026-10-18 14:44:45 UTC: mga commit na naka-attribute sa GitHub na iniulat ng Contributors API ng repository para sa `release/v3.8.52` default branch. Nagbalik ang API ng 849 na identity (429 na user, 2 bot, 418 anonymous); hindi kasama sa table na ito ang maintainer, mga bot, at mga anonymous na identity at pinapanatili ang mga tie sa kompetisyon. Naiiba ito sa parehong ranking ng merged-PR sa itaas at sa census ng Git-metadata sa ibaba.
> 🙏 Ang mga feature, bug fix, at pagpapahusay sa infrastructure ng mga contributor na ito ay **pangunahing bahagi** ng dahilan kung bakit maaasahan at puno ng feature ang OmniRoute. Mahalaga ang bawat pull request, bawat test case, at bawat i18n translation file. Ang open source ay binubuo ng mga taong tulad nila.
---
## 💖 Mga Sponsor
Taos-pusong pasasalamat sa mga taong nagpopondo sa OmniRoute mula sa sarili nilang bulsa — ang bawat ambag ay tumutulong upang manatiling libre, independiyente, at patuloy na umuunlad ang proyekto.
… at sa iba pang mas gustong manatiling pribado 💛Muling napatunayan ang mga pampublikong GitHub Sponsor noong 2026-10-18 sa pamamagitan ng GitHub Sponsors GraphQL API: 11 pampublikong sponsorship (6 na aktibo, 5 ang nakaraan) mula sa kabuuang 14. Ang status na isActive ng GitHub ang batayan ng mga aktibong label sa itaas; patuloy na pinasasalamatan ang mga dating pampublikong minsanang tagasuporta, at nananatiling hindi pinapangalanan ang mga pribadong sponsor. Hindi nakalista ang mga donasyon sa Ko-fi, Buy Me a Coffee, Liberapay, PIX, at crypto dahil wala silang pampublikong rekord ng sponsor.💖 Maging sponsor → — bawat dolyar ay tumutulong upang manatiling libre at independiyente ang OmniRoute.
## 👥 900+ Kontribyutor
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Na-audit noong 2026-10-18 sa pinakabagong commit na ad160ab2d1 ng live na release/v3.8.52 (6,826 commit): 993 na-normalize na pagkakakilanlan ng mga tao sa Git — 707 ang lumilitaw bilang mga may-akda ng commit (kabilang ang tagapanatili) at 286 ang nasa tahasang mga trailer na Co-authored-by lamang. Inilalapat ng sensus ang .mailmap, inihahambing ang mga e-mail address nang hindi isinasaalang-alang ang laki o liit ng titik, pinagsasama ang mga numeriko at karaniwang GitHub noreply address kapag nag-encode lamang ang mga ito ng parehong handle, ibinubukod ang 26 na pagkakakilanlan ng bot/agent/serbisyo/placeholder, at hindi pinagsasama ang mga karaniwang e-mail address dahil lamang magkatugma ang kanilang mga display name. Ang audit noong 2026-08-24 ay nag-ulat ng 639; ang muling pagpapatakbo ng paraang ito sa base ng audit na iyon na ac02c5b42f ay nagbibigay ng 619, kaya ang pagtaas ay nagmula sa mga bagong kontribyutor, hindi sa mas maluwag na paraan.
### Paano Mag-ambag
1. I-fork ang repository
2. Gumawa ng branch mula sa pinakabagong commit ng **aktibong** `release/vX.Y.Z` (hindi sa `main`) — tingnan ang [Modelo ng Pagba-branch at Pag-release](docs/ops/BRANCHING_MODEL.md)
3. Gumawa ng iyong feature branch (`git checkout -b feat/amazing-feature`)
4. I-commit ang iyong mga pagbabago (`git commit -m 'feat: add amazing feature'`)
5. I-push sa branch (`git push origin feat/amazing-feature`)
6. Magbukas ng Pull Request na may **base = ang branch na `release/vX.Y.Z` na iyon**
Tingnan ang [CONTRIBUTING.md](CONTRIBUTING.md) para sa mga detalyadong alituntunin.
### Pag-release ng Bagong Bersyon
```bash
# Gumawa ng release — awtomatikong nagaganap ang npm publish
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Mga Star
## 🌍 StarMapper
## 🙏 Mga Pasasalamat
Nakatayo ang OmniRoute sa mga balikat ng mga higante. Nagsimula ito bilang fork ng **[9router](https://github.com/decolua/9router)** at TypeScript port ng Go project na **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — at mula roon, ang bawat subsystem sa ibaba ay binigyang-inspirasyon ng isang open-source project na naunang nakarating doon. Ang bawat isa ay humubog sa isang konkretong bahagi ng OmniRoute. Ito ang aming pasasalamat sa kanilang lahat. 🙏
> ⭐ na-verify ang mga bilang ng star mula sa REST API ng GitHub noong Oktubre 18, 2026 — bigyan ninyo ng star ang mga proyektong ito. Ang mga bilang ay eksaktong snapshot na may petsa at likas na magbabago sa paglipas ng panahon.
### 🧬 Pinagmulan at gateway
Ang orihinal na proyektong pinagbabatayan ng fork na ito — pinalawak dito gamit ang mga multi-modal API at isang ganap na muling pagsulat sa TypeScript.
Ang AI gateway na ang pampublikong dataset ng pagpepresyo ang pinagmumulan ng aming cost-tracking sync at ang modelo nito para sa pag-normalize ng provider ang humubog sa aming routing.
MIT source na inangkop sa naka-vendor na ChatGPT Web → Codex Responses bridge, kabilang ang mga adapter para sa browser session, response framing, paggamit, at web search.
Mga pattern na na-port sa stream recovery, mga no-thinking alias, fallback na web search, sliding-window limit, pag-redact ng log, at mga pinatibay na daloy ng launcher.
Ang mga mapping nito para sa Grok model, fake-TypeError Statsig generator, mga default ng request at device, at NDJSON response processor ay malaking bahagi ng inangkop sa Grok Web executor ng OmniRoute.
Ang pangunahing transitive na pinagmulan ng code sa likod ng grok2api-merged; pinanatili sa pinagmulan ng Grok Web ang mga implementasyon nito para sa model, header, payload, Statsig, at processor.
Ang pinagbabatayang MIT source para sa mga default ng Grok payload at device, ang Statsig generator, at ang result.response processor na ipinasa sa pamamagitan ng TQZHR at grok2api-merged.
Isang transitive na source na kinilala ng grok2api-merged para sa proxy-pool layer nito; pinananatili ng OmniRoute ang pabatid tungkol sa pinagmulang iyon ngunit hindi nito inaangkin na nag-port ito ng proxy pool sa saklaw nitong Grok Web executor.
Ang Grok proxy nitong pinatotohanan gamit ang cookie at ang result.response.token streaming pattern nito ang humubog sa Grok Web transport ng OmniRoute.
Sinangguni ng orihinal na implementasyon ng Grok Web ang upstream design nito para sa HTTP/browser; nagmula sa GrokProxy ang direktang HTTP path nito, kaya walang inaangking hiwalay na pag-port ng code.
### 🗜️ Pag-compress ng context at token — mga engine
Ang viral na proyektong "bakit gumamit maraming token kung kaunting token sapat na" — ang pilosopiya nitong pananalitang-taong-kuweba ang nagpapatakbo sa aming karaniwang compression mode at mahigit 30 panuntunan sa pag-aalis ng filler at pagkokondensa.
Mataas-na-pagganap na compression ng command output — nagbigay-inspirasyon sa aming RTK engine, JSON filter DSL, pagbawi ng raw output, at sa pinagsalansang na RTK → Caveman pipeline.
Pananaliksik sa prompt compression (LLMLingua / LLMLingua-2) — nagbigay-inspirasyon sa aming asynchronous, ligtas-sa-code, at fail-open na llmlingua engine.
PT-BR token compression — nagpapatakbo sa aming pt-BR language pack: pagbabawas ng pleonasm at pag-aalis ng filler na iniangkop para sa gramatika ng Brazilian Portuguese.
Ang viral na YAGNI-coder skill ng "tamad na senior dev" — nagbigay-inspirasyon sa aming less-code Output Style: paggabay tungo sa pinakamaliit na gumaganang pagbabago na nagpapabawas sa _nabubuong_ code (ang kapatid sa output axis ng maikling prosa ng Caveman).
Compression ng output ayon sa uri ng file at may kamalayan sa nilalaman, kasama ang paghinto kapag may pagkabigo — pinagtibay nito ang aming dispatch ayon sa uri at paglaktaw kapag kulang ang pakinabang.
Rust columnar JSON + content-addressed retrieve + cross-message dedup — pinagtibay nito ang disenyo ng aming headroom/ccr/session-dedup engine at ang cache-stable na invariant na "ang compressed form ay hindi nakadepende sa posisyon."
TypeScript Compiler API toolkit — nagbigay-inspirasyon sa aming parser-based na pag-aalis ng komento na pinananatili ang mga string, template, at regex literal.
Ang MITM interception/pagsusuri ng trapiko sa pagitan ng coding-assistant ↔ LLM ang nagbigay-hugis sa mga paunang kinakailangan ng Traffic Inspector. Apat na dating hinangong module — SSE merging, conversation normalization, secret masking at header sanitization — ang napalitan na ng mga independiyenteng clean-room implementation batay sa mga pampublikong pamantayan ng protocol. Ang dalawang host-passthrough surface (passthrough.ts at _internal/bypass.cjs) ay nananatiling mga panloob na implementation ng OmniRoute na hiwalay na inuri; hindi muling isinulat ang mga ito bilang bahagi ng pagpapalit na iyon.
Transparent na per-process proxy routing — nagbigay-inspirasyon sa aming crash-safe na MITM teardown, mga socket idle-timeout, /proc process attribution at TPROXY capture.
Isang piniling listahan ng mga secure-by-default na library na gumagabay sa aming mga pasya sa seguridad (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Nagbigay-inspirasyon sa request deduplication, emergency na fallback na walang gastos, mga pluggable na estratehiya ng Auto-Combo at multilingual na pag-uuri ng layunin.
Ang compact na format nito para sa countdown ng pag-reset ng quota ang nagbigay-inspirasyon sa kaukulang pagpapakita ng limitasyon ng provider sa OmniRoute.
Tinukoy nito ang Grok Build quota surface; pagkatapos ay independiyenteng bineberipika at itinama ng OmniRoute ang live wire format.
## 📄 Lisensya
MIT License - tingnan ang [LICENSE](LICENSE) para sa mga detalye.
---
**[⬆ Bumalik sa itaas](#-omniroute)** · Ginawa nang may ❤️ para sa komunidad ng open-source AI.
OmniRoute v3.8.53 · Node ≥22.22.2 · MIT License · omniroute.online