> Ṣíṣàkójọ àwọn ìpele ọ̀fẹ́ lọ́wọ́ máa ńnira — ọ̀pọ̀lọpọ̀ SDK, ọ̀pọ̀lọpọ̀ ààlà ìwọ̀n lílò, kò sì sí ọ̀nà láti mọ iye tí o ní ní tòótọ́. OmniRoute ṣàkójọ **àwọn àkọsílẹ̀ ìpele ọ̀fẹ́ 489 láàárín àwọn kọ́kọ́rọ́ àkójọpọ̀ tó ń tún wá 35** ó sì ṣe ìṣirò àkòrí tókènì láti inú **àkójọpọ̀ 17 tó ní ìnáwó oṣooṣù rere tí a tẹ̀ jáde, pẹ̀lú ààlà Groq márùn-ún fún ẹ̀yà àwòṣe kọ̀ọ̀kan**, nípa yíyọ àtúnṣe kúrò gẹ́gẹ́ bí àkójọpọ̀ tí wọ́n pín pọ̀. Àwọn ìpín lílò tí yóò ṣí lẹ́yìn àyẹ̀wò ìdánimọ̀ agbègbè nìkan (ní báyìí: ModelScope) ni a fi hàn lọ́tọ̀, +~6M lẹ́yìn ìjẹ́rìí ìdánimọ̀ agbègbè, a kò sì ka wọ́n pọ̀ mọ́ àkòrí náà láé. Àbájáde náà ṣì hàn lórí pánẹ́ẹ̀lì (`/dashboard/free-tiers`).
> Àkótán aláwòrán tí ń rìn ti ojú-ewé `/dashboard/free-tiers` ní àkókò gidi. Ìlànà ẹ̀kúnrẹ́rẹ́ (yíyọ àtúnṣe àkójọpọ̀ kúrò, àwọn ìpele kírẹ́díìtì, àwọn òfin olùpèsè): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> A tún ń ṣàyẹ̀wò àwọn iye wọ̀nyí lẹ́ẹ̀kan ní gbogbo ọ̀sẹ̀ méjì ní ìfiwéra pẹ̀lú àkójọ ní àkókò gidi, wọ́n sì **lè lọ sókè tàbí sọ̀kalẹ̀** — bí olùpèsè kan bá fòpin sí ìpele ọ̀fẹ́, iye náà yóò dín kù; bí tuntun bá dé, yóò pọ̀ sí i. Ohun tí àkójọ náà bá ṣe ìṣirò rẹ̀ ní tòótọ́ ni a ń tẹ̀ jáde, kì í ṣe ìṣirò ipò tó dára jù lọ tí a mú pọ̀ sí i.
⭐ Fi ìràwọ̀ sí ibi ìpamọ́ náà bí OMNIROUTE bá ti ràn ọ́ lọ́wọ́ láti fi owó pamọ́ àti láti mú iṣẹ́ rẹ rọrùn.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Darapọ̀ mọ́ àwùjọ náà
**👋 Tẹ̀lé olùtọ́jú náà — jẹ́ ẹni àkọ́kọ́ láti gba àwọn olùpèsè tuntun, àwọn ìtújáde àti ìmọ̀ràn:**
[](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)
**Àwọn ìbéèrè, ìmọ̀ràn nípa olùpèsè, ètò ọjọ́ iwájú àti àtìlẹ́yìn → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Àgbáyé](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Pọ́ọ̀tálì](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Gateway Náà ń Tẹ̀síwájú Láti Dàgbà
| | v3.8.49 | **v3.8.50** | `v3.8.51+` |
| ------------------------------------ | :-----: | :----------------------: | :----------------: |
| 🌐 Àwọn olùpèsè | 290 | **357** | àwọn míì wà ní ìlà |
| 🧠 Àwọn ID àwòṣe ìfọ̀rọ̀wérọ̀ aláìlẹ́gbẹ́ | 1185 | **1312** | — |
| 🖼️ Afárá Modality | — | 🆕 ìríran + ohun + fídíò | — |
| 📡 Kátálọ́ọ̀gù ọ̀fẹ́ Radar | — | 🆕 yíyan láti darapọ̀ | — |
| ⚖️ Ìṣètò tó mọ iye quota | — | 🆕 Quota-Share | — |
| 📊 Telemetry quota | — | 🆕 lọ́wọ́lọ́wọ́ | — |
**→ [Ètò Ọ̀nà](ROADMAP.md) — lórí ipa-ọ̀nà sí `v3.9.0 LTS`**
## 🧩 Ó Wà
[](https://www.npmjs.com/package/omniroute)

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


## 🆓 Ó máa ń ṣiṣẹ́ lẹ́sẹ̀kẹsẹ̀ tí o bá ti fi sori ẹrọ — kò sí kókó, kò sí ìṣètò
```bash
# Fífi sori ẹrọ tuntun, kò sí ìdánimọ̀ — auto ti ń ṣiṣẹ́ tẹ́lẹ̀:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
Ṣé o fẹ́ àtìlẹ́yìn ọ̀fẹ́ kan pàtó? Pe `oc/…` (OpenCode Free) tààrà. Lẹ́yìn náà, lọ sí `auto` kí o sì jẹ́ kí OmniRoute yàn.📦 Da àwọn àkọsílẹ̀ ìbẹ̀rẹ̀-pẹ̀lú-kánkán kọ síbẹ̀ fún **Python, Node.js, PHP, àti cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Ìlérí Náà
# 🤔 Kí Nìdí OmniRoute?
## 🤝 Atilẹyin lati ọdọ Awọn Ọrẹ Orisun Ṣiṣi Wa
> **Ṣe o fẹ darapọ mọ bi Ọrẹ Orisun Ṣiṣi?** Iwọnyi ni awọn ile-iṣẹ ti o ṣe atilẹyin orisun ṣiṣi ati ṣe iranlọwọ lati jẹ ki OmniRoute n lọ — ati pe a sọ ni gbangba ibi ti gbogbo ami ti wọn fun wa ti lọ. Kan si wa: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
O ṣeun si Kimi (Moonshot AI), Ọrẹ Orisun Ṣiṣi oludasile wa, fun atilẹyin iṣẹ akanṣe yii! Kimi jẹ yàrá AI lẹhin awọn idile awoṣe K2 ati K3 ti o ni iwuwo ṣiṣi — Kimi K3 n pese window ipo 1M-token, iran abinibi ati koodu ipele aala ni ida kan ti awọn idiyele awoṣe pipade, ati pe o ṣiṣẹ ni ita apoti pẹlu Claude Code, Codex ati gbogbo ohun elo koodu ti OmniRoute n pese.
Kini atilẹyin Kimi n fun agbara: Awọn kirediti API Kimi n fun agbara opo gigun ti ifasilẹ ti OmniRoute ti AI-fọwọsi — ipele ijẹrisi iṣọkan ti o ni agbara nipasẹ Kimi K3 ti o ṣe atunyẹwo gbogbo ibeere ifamọra ṣaaju ki o to firanṣẹ — pẹlu idagbasoke ẹya ojoojumọ. Atilẹyin Kimi kilasi akọkọ n firanṣẹ lori awọn oju-irin mejeeji: taara Kimi API (kimi-k3) ati eto koodu Kimi Code (OAuth ati bọtini API). OmniRoute tun jẹ iṣẹ akanṣe orisun ṣiṣi akọkọ ti Brazil ninu eto atilẹyin Kimi. Gba bọtini API Kimi pẹlu 15% awọn kirediti afikun →
Inference ti o din owo cheaperinference.com
O ṣeun si Inference ti o din owo, Ọrẹ Orisun Ṣiṣi OmniRoute, fun atilẹyin iṣẹ akanṣe yii! Inference ti o din owo jẹ ẹnu-ọna ti o ni idiyele idiyele ti o tun ta awọn awoṣe aala 42 — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok ati MiniMax — lẹhin ipari-ojuami kan ti o ni ibamu pẹlu OpenAI, ti n ṣe ipa-ọna gbogbo ibeere si olupese ti o yẹ ti o din owo julọ laisi gbigba agbara ju idiyele atokọ ti olupilẹṣẹ awoṣe lọ.
Atilẹyin kilasi akọkọ ni OmniRoute: Awọn ipari iwiregbe, ipari-ojuami abinibi /v1/responses, iran, ipe ohun elo ati awọn awoṣe aworan 3 (grok-imagine, nano-banana-pro, nano-banana-2, ti o le de ọdọ bi cheaperinference/<model>). Gba bọtini API →
Awọn ọna asopọ ti a fi aami si aff=omniroute jẹ awọn ọna asopọ alabaṣepọ. Wọn ṣe inawo iṣẹ akanṣe laisi idiyele afikun si ọ. 🎟️ Ipolowo Awọn alafaramo — awọn kuponu iforukọsilẹ ọfẹ lati ọdọ awọn olupese ti a ko ṣe onigbọwọ (tẹ lati faagun)Abala yii jẹ fun awọn koodu itọkasi/kuponu nikan. Awọn ajọṣepọ onigbọwọ wa ni 🤝 Atilẹyin lati ọdọ Awọn Ọrẹ Orisun Ṣiṣi Wa loke. OmniRoute ko ni onigbọwọ tabi ajọṣepọ pẹlu awọn olupese ti a ṣe akojọ si nibi — iwọnyi jẹ awọn kuponu gbangba ti ẹnikẹni le lo.
AgentRouter agentrouter.org
AgentRouter — iforukọsilẹ alafaramo · $100 awọn kirediti ọfẹ lori iforukọsilẹ (olupin ọfẹ, nireti idaduro ti o ga julọ — o dara julọ fun idanwo, kii ṣe iṣelọpọ). Atilẹyin kilasi akọkọ ni OmniRoute lati v3.8.50: Awọn ipari iwiregbe, ọna kika okun ti o ni ibamu pẹlu Anthropic ati ọna ti o ni ibamu pẹlu OpenAI. Awọn awoṣe ti o wa pẹlu claude-opus-4-8, claude-opus-5, gpt-5.6-sol ati diẹ sii. Gba $100 rẹ →
⚠️ Ọna asopọ alafaramo — OmniRoute ko ni onigbọwọ tabi ajọṣepọ pẹlu olupese yii.
Ṣe o mọ olupese miiran pẹlu kuponu iforukọsilẹ ọfẹ ti o ni inurere ti o ṣe anfani awọn olumulo OmniRoute? Ṣii ọran kan ati pe a yoo fi kun nibi.
## 🎯 Àwọn Combo — Ọjà Àkọ́kọ́
> **Combo** jẹ́ ẹ̀wọ̀n àwọn model tí OmniRoute ń darí ìbéèrè kọjá lórí wọn **láìfọwọ́ṣe**. Bí quota bá tán, provider kan kùnà, tàbí iye owó bá fò sókè, combo náà lè lọ sí model tó ní ìlera tó sì yẹ lẹ́yìn rẹ̀. 🛡️
### ⚡ Kò nílò àtòjọ-ẹ̀rọ — kàn lo `auto`
Kò sí combo kankan láti ṣẹ̀dá. Ṣètò model rẹ sí `auto` (tàbí ẹ̀yà kan), OmniRoute yóò sì kọ combo aláfojúdi kan láti inú àwọn provider tí o ti sopọ̀, tí a ń fún ní àmì ní àkókò gidi:
ID Model
Ohun tí ó ń mú kó dára jù fún
auto
🎯 Àṣàyàn àkọ́kọ́ tó ní ìwọ̀ntúnwọ̀nsì (LKGP — ó dúró mọ́ provider rere rẹ tó kẹ́yìn)
auto/coding
🧑💻 Àwọn ìwọ̀n tó fi ànímọ́ ṣáájú fún ṣíṣẹ̀dá code
auto/fast
⚡ Latency tó kéré jù ni àkọ́kọ́
auto/cheap
💰 Èyí tó din owó jù fún token kọ̀ọ̀kan ni àkọ́kọ́
auto/offline
🔋 Quota / ààyè rate-limit tó pọ̀ jù ni àkọ́kọ́
auto/smart
🔭 Ànímọ́ ni àkọ́kọ́ + ìṣàwárí 10% láti ṣàwárí àwọn model tó dára jù
auto/lkgp
📌 Dídúró mọ́ provider rere tí a mọ̀ kẹ́yìn ní kedere
auto/chaos
🧪 Àwọn ìwọ̀n ìfi-àṣìṣe-sínú-ẹ̀rọ fún ìdánwò agbára ìfaradà (chaos engineering)
##
### 🔀 Tàbí kọ tirẹ — àwọn ìlànà ìdarí méjìdínlógún (19)
Gbogbo àwọn ìlànà **19** — dapọ̀ wọn bí o ṣe fẹ́ fún ìgbésẹ̀ combo kọ̀ọ̀kan:
#
Ìlànà
Ohun tí ó ń ṣe
1
priority
Àtòjọ tí target àkọ́kọ́ wà ní iwájú — lo ọ̀kọ̀ọ̀kan tán kí o tó lọ sí èkejì 🥇
2
fill-first
Lo quota target kọ̀ọ̀kan dé ẹ̀kúnrẹ́rẹ́ kí o tó tẹ̀síwájú
3
weighted
Àṣàyàn aláìlétò tó dá lórí ìwọ̀n target kọ̀ọ̀kan
4
round-robin
Yí ká láàárín àwọn target ní ìtòlẹ́sẹẹsẹ
5
p2c
Ìpín ẹrù aláìlétò pẹ̀lú àṣàyàn méjì
6
least-used
Yan target tó ní ẹrù lọ́wọ́lọ́wọ́ tó kéré jù
7
random
Àṣàyàn aláìlétò tó dọ́gba (a ti yọ àwọn àtúnṣe kúrò)
8
strict-random
Àṣàyàn aláìlétò láìyọ àwọn àtúnṣe kúrò 🎲
9
cost-optimized
Dín $ fún ìbéèrè kọ̀ọ̀kan kù nípa lílo iye owó catalog ní àkókò gidi 💸
10
headroom
Yan target tó ní quota tó pọ̀ jù tó kù
11
reset-window
Fẹ́ràn target tí fèrèsé quota rẹ̀ máa tún padà sí ìbẹ̀rẹ̀ láìpẹ́ jù
12
reset-aware
Ṣètò nípa àkókò ìtúnpadà quota — àwọn fèrèsé kúkúrú ni àkọ́kọ́ 📊
13
context-relay
Gbé context kọjá láàárín àwọn target fún ìjíròrò gígùn 🧠
14
context-optimized
Yan èyí tó bá ìwọ̀n context lọ́wọ́lọ́wọ́ mu jù
15
cache-optimized
So ìbẹ̀rẹ̀ prompt kọ̀ọ̀kan tí a lè tún lò mọ́ account kan náà — mú iye ìlù prompt-cache pọ̀ sí i dé òkè 🎯
16
lkgp
Ọ̀nà Rere Tí A Mọ̀ Kẹ́yìn — ó so mọ́ provider tó ṣàṣeyọrí kẹ́yìn, lẹ́yìn náà ó padà sí àwọn òfin àfirọ́pò
17
auto
Ìfúnni-ní-àmì ní àkókò gidi lórí kókó mẹ́rìndínlógún kọjá gbogbo connection 🤖
18
fusion
Fi ìbéèrè ránṣẹ́ sí ẹgbẹ́ àwọn model + adájọ́ kan yóò ṣàkójọpọ̀ ìdáhùn kan 🧬
19
pipeline
So àwọn ìgbésẹ̀ pọ̀ — àbájáde target kọ̀ọ̀kan ń wọ inú èyí tó tẹ̀lé e 🔗
Ẹ̀rọ Auto-Combo ń fún olùdíje kọ̀ọ̀kan ní àmì lórí **kókó mẹ́rìndínlógún (16)** (ìlera, quota, iye owó, latency, bí ó ṣe bá iṣẹ́ mu, ànímọ́, wíwà session…) — wo [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Agbára ìfaradà wà nínú rẹ̀ látìbẹ̀rẹ̀ (àwọn ipele olómìnira 3)
📖 [Ẹ̀rọ Auto-Combo](docs/routing/AUTO-COMBO.md) · [Ìtọ́sọ́nà Ìfaradà](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Kí Ni Ó Mú OmniRoute Yàtọ̀
📊 Ọ̀nà ìṣiṣẹ́ kíkún & àlàyé àwọn ànímọ́ kọ̀ọ̀kan ní wíwé 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Ṣe Àtìlẹ́yìn fún OmniRoute
OmniRoute ní ìwé-àṣẹ MIT, a sì ń tọ́jú rẹ̀ ní gbangba. Bí ó bá ń fi àkókò tàbí owó rẹ pamọ́, àwọn ọ̀nà tí o lè gbà jẹ́ kí ó wà ní òmìnira nìyí — yan èyíkéyìí tó bá ọ mu. Ìgbọ́wọ́ kò ní ipa lórí ààyò ìdarí láéláé; ó ń ra ìfarahàn, kì í ṣe ipò.
**🇧🇷 PIX** — lẹ́sẹ̀kẹsẹ̀, kò sí owó iṣẹ́ (Brazil)
Kọ́kọ́rọ́ (àìròtẹ́lẹ̀): `5d865059-bc44-483a-962d-43ceb80126eb`
Da Pix kọ, kí o sì lẹ̀ ẹ́ mọ́:
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ Crypto — BTC · ETH · USDT-TRC20 · USDC-Solana (tẹ̀ láti ṣí i)
₿ BTC
Bitcoin (SegWit)
bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH
Ethereum (ERC20)
0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT
Tron (TRC20)
TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC
Solana
2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Fi owó kọ̀ọ̀kan ránṣẹ́ lórí network tí a fihàn nìkan — fífi ránṣẹ́ lórí network tí kò tọ́ lè mú kí owó náà sọnù.
🐛 Ṣé o rí àṣìṣe kan tàbí o ní èsì? Ṣí [Ìjíròrò](https://github.com/diegosouzapw/OmniRoute/discussions) kan.
Àwọn àkọsílẹ̀ fún olùgbéejáde: Project náà lè ṣẹ̀dá fáìlì .env agbègbè kan nígbà npm install/postinstall láti mú iṣẹ́ rọrùn fún olùgbéejáde. A mọ̀ọ́mọ̀ foju fáìlì yìí kọjá nípasẹ̀ .gitignore (wo .gitignore), a kò sì gbọ́dọ̀ commit rẹ̀ láéláé — bí a bá commit rẹ̀ láìròtẹ́lẹ̀, yí gbogbo secrets tó fara hàn padà, kí o sì yọ fáìlì náà kúrò nínú ìtàn. Wo docs/DEVELOPER-ENVIRONMENT.md fún ìtọ́sọ́nà lórí bí a ṣe ń ṣàkóso àwọn fáìlì environment agbègbè àti secrets.
## 📡 Radar OmniRoute
Àkọlé pàtàkì fún ìpele ọ̀fẹ́ ṣì jẹ́ **~1.62B àmì/oṣù** láti inú àkójọ tí a ṣàkọsílẹ̀ rẹ̀ lókè,
tí a sì ti yọ àwọn ohun tó tún ara wọn ṣe nínú àkójọpọ̀ kúrò. Àwọn kirẹditi ìforúkọsílẹ̀ olùpèsè fún ìgbà díẹ̀ lè mú
oṣù àkọ́kọ́ ga sí **~2.22B** lọ́tọ̀. Radar jẹ́ àfikún àkójọ tí a fọwọ́sí, tí lílò rẹ̀ sì jẹ́ àṣàyàn, fún àwọn tó fẹ́
ìsọfúnni tuntun sí i nípa wíwà àwọn àwòṣe ọ̀fẹ́ láàárín àwọn ìtújáde OmniRoute; àkójọ àwùjọ àti gbogbo àwọn ẹ̀yà ọ̀fẹ́
tó ti wà tẹ́lẹ̀ ṣì jẹ́ ọ̀fẹ́.
Àwọn alátìlẹ́yìn lè gba àkójọ àkókò-gidi àti àwọn àǹfààní olùpèsè míì. Òkè ààlà rẹ̀ tó jẹ́ ọ̀tọ̀,
tí ó sì lè yí padà, jẹ́ **ìwọ̀n 3B àmì/oṣù ní ó pọ̀ jù**, ó da lórí wíwà àwọn olùpèsè.
Òkè ààlà yẹn kì í ṣe ìlérí: àwọn olùpèsè lè yí ìwọ̀n lílò, ìbéèrè yíyẹ, àwọn àwòṣe, tàbí àwọn ẹkùn padà
nígbàkigbà.
Lílò Radar jẹ́ àṣàyàn, GET nìkan sì ni ó ń lò. Oníbàárà OmniRoute kì í ṣe ìrùsókè àwọn àṣẹ, ìṣàn ìbéèrè, ààtò olùpèsè,
tẹlifíṣọ̀nù lílò, tàbí ipò ìkọ̀sílẹ̀ ìkéde abẹ́lẹ̀. Kọ́ sí i nípa ìbéèrè yíyẹ àti
àkójọ lọ́wọ́lọ́wọ́ ní **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Àwọn Ohun Tuntun
> Àwọn àfihàn pàtàkì àìpẹ́ láti **v3.8.20 → v3.8.50**. Ìtàn kíkún wà nínú [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — fí iṣẹ́ aṣojú A2A tó ń wọlé ránṣẹ́ sí ẹgbẹ́ àwọn aṣojú rẹ, àwọn ọgbọ́n Conductor lórí Agent Card, àti pánẹ́ẹ̀lì dasibodu kan pẹ̀lú ìfọ̀rọ̀wérọ̀ ohùn tẹ̀-láti-sọ ti Faro. → [Sẹ́ńfà A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 Ìgbàwọlé tó ń mú ara rẹ̀ bá ipò mu & ààbò kúrò lọ́wọ́ ẹrù tó pọ̀jù** — àwọn ìbéèrè ìfọ̀rọ̀wérọ̀ tó wuwo máa ń dúró lẹ́sẹẹsẹ dípò kí wọ́n dá 503 padà, pẹ̀lú àwọn líìsì yíyí RPM aládàáṣiṣẹ́ fún ìsopọ̀ kọ̀ọ̀kan. → [Ìtọ́sọ́nà Ìfaradà](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Ìṣètò àṣẹ àtẹ̀dá `/v1/models`** — ìdípọ̀ kan ṣoṣo tó tẹ̀ lé ara rẹ̀, tí a pín gẹ́gẹ́ bí olupèsè, fún olupèsè kọ̀ọ̀kan (a so àwọn combos mọ́ iwájú), tó dúró ṣinṣin káàkiri gbogbo orísun àkójọ. → [Ìtọ́kasí API](docs/reference/API_REFERENCE.md)
- **🗜️ Fífún ìpọ́kúrò lókun** — olùṣọ́ ìfẹ̀ síta tó máa ń ṣiṣẹ́ látìbẹ̀rẹ̀, àwọn àkójọpọ̀ Caveman fún DE / FR / JA + èdè Ṣáínà (wényán), àwọn àsẹ̀ RTK fún Gradle & .NET. → [Ìpọ́kúrò](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Iye owó alápin tó jẹ́ òótọ́** — àwọn olupèsè ètò ìforúkọsílẹ̀ / ètò kóòdù máa ń fi **$0** hàn nínú ìtúpalẹ̀ iye owó; ìṣúná, ìpín àti ìdarí ipa-ọ̀nà ṣì ń ṣe àfojúsùn. → [Ìtọ́kasí API](docs/reference/API_REFERENCE.md)
- **⚖️ Ìdarí ipa-ọ̀nà Quota-Share** — pín ìpín àkọọ́lẹ̀ kan tí a jọ ń lò lọ́nà tó dọ́gba láàárín àwọn kọ́kọ́rọ́ tí a kó jọ, ní fífi iṣẹ́ pamọ́ kí a lè yá àwọn apá tí kò ṣiṣẹ́ jáde. → [Ìtọ́sọ́nà Ìfaradà](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Ìṣètò CLI/aṣojú pẹ̀lú àṣẹ kan** — àwọn àṣẹ `setup-*` 13 tí a forúkọsílẹ̀; `omniroute run` ń ṣe ìfilọ́lẹ̀ àwọn CLI 7 (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` ń ṣàtìlẹ́yìn fún ibi àfojúsùn 10 pẹ̀lú olùyan olupèsè+àwòṣe aláṣepọ̀ àti àwọn ààyò fún àyíká kọ̀ọ̀kan. → [Àwọn Ìṣàmúlò CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Ìpo jíjìnnà** — darí OmniRoute tó wà ní jíjìnnà pẹ̀lú àwọn token tí a fi ààlà sí (`connect` / `contexts` / `tokens`) + olùrànlọ́wọ́ OAuth `antigravity` fún àwọn ìfikún sori VPS. → [Ìpo Jíjìnnà](docs/guides/REMOTE-MODE.md)
- **🧭 Ìdarí ipa-ọ̀nà aládàáṣiṣẹ́ tó túbọ̀ já fáfá** — àwọn combos `auto/:`, **Fusion** (pánẹ́ẹ̀lì àwòṣe + adájọ́), ìdarí ipa-ọ̀nà tó mọ irú iṣẹ́, àwòṣe / ìpo / ìyípadà ààlà ìṣúná USD fún ìbéèrè kọ̀ọ̀kan. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Ìpọ́kúrò tí a lè so mọ́ ọn** — àwọn ẹ̀rọ 12 tí a lè ṣàkópọ̀ + Compression Studios: LLMLingua-2, Ultra alápele-méjì, omniglyph, ẹnu-ọ̀nà ìṣòtítọ́ fún ìgbésẹ̀ kọ̀ọ̀kan, GCF v3.2, olóòtú fífà-láti-tún-ètò. → [Ìpọ́kúrò](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Ìyọkúrò ìfipamọ́ MITM tó hàn gbangba (TPROXY)** — gba àwọn CLI tí kò ka àwọn oníyí àyíká proxy sí, pẹ̀lú CA fún SNI kọ̀ọ̀kan + olùṣàgbékalẹ̀ trust-store. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Tẹlémẹ́trì iye owó níbi gbogbo** — àwọn àkọlé iye owó/lílò `X-OmniRoute-*` lórí gbogbo endpoint, àkọlé ìfipamọ́ cache-HIT, àwọn ààlà ìnáwó USD fún kọ́kọ́rọ́ kọ̀ọ̀kan. → [Ìtọ́kasí API](docs/reference/API_REFERENCE.md)
- **🧠 Ìrántí tí ìwọ ń ṣàkóso** — ó wà ní pípa látìbẹ̀rẹ̀, àṣàyàn ìlò quantization vector int8 + ìdínkù onírúurú, `x-omniroute-no-memory` fún ìbéèrè kọ̀ọ̀kan. → [Ìrántí](docs/frameworks/MEMORY.md)
- **🛡️ Ààbò** — olùṣọ́ prompt-injection lórí gbogbo ipa-ọ̀nà LLM (àkójọpọ̀ ìdánwò red-team), ọ̀nà ààbò ìbòjú-ẹ̀rí tí a lè yàn láti lò (ń pa àwọn kọ́kọ́rọ́ API/àṣírí tó tú jáde mọ́ ní ọ̀nà méjèèjì), ìṣàwárí wẹ́ẹ̀bù DuckDuckGo ọ̀fẹ́ gẹ́gẹ́ bí ìgbẹ̀yìn-gbẹ́yín, àti ẹnu-ọ̀nà ìwọlé OIDC àṣàyàn fún dasibodu (ìwọlé pẹ̀lú ọ̀rọ̀ aṣínà máa wà nígbà gbogbo). → [Àwọn Ọ̀nà Ààbò](docs/security/GUARDRAILS.md)
- **🖼️ Àwọn endpoint tuntun** — `/v1/ocr` (Mistral OCR) àti `/v1/audio/translations` (irú Whisper) parí àgbègbè mídíà. → [Ìtọ́kasí API](docs/reference/API_REFERENCE.md)
- **🎨 Ṣíṣẹ̀dá àwòrán / fídíò / ohun** — API kan fún mídíà: fídíò xAI Grok Imagine & Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind, àti àwọn olupèsè ọ̀rọ̀ bíi ElevenLabs. → [Ìtọ́kasí API](docs/reference/API_REFERENCE.md)
- **🌍 Ìfọwọ́síṣẹ́ & ìṣiṣẹ́** — reverse-proxy `basePath`, ìṣàwárí èdè aṣàwákiri aládàáṣiṣẹ́, ìtọ́pasẹ̀ ẹ̀rọ fún kọ́kọ́rọ́ kọ̀ọ̀kan, ìgbẹ́kẹ̀lé MITM láìsí root, ìtumọ̀ zh-TW. → [Àyíká](docs/reference/ENVIRONMENT.md)
- **🤝 Àwọn olupèsè & aṣojú púpọ̀ sí i** — àwọn aṣojú cloud (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) pẹ̀lú aṣàwákiri + ìwọlé OAuth, káàdì Ollama onípò-àkọ́kọ́, Claude Opus 5 & Sonnet 5, ìfọwọ́sowọ́pọ̀ àṣẹ Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… àti **àkójọ olupèsè 352** tí a tún ṣe. → [Àwọn Olùpèsè](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Ìṣípayá ìdarí ipa-ọ̀nà** — gbogbo ìdáhùn ní àkọlé `X-OmniRoute-Decision` tó ń sọ orúkọ ìlànà/olupèsè/àkókò ìdádúró tó ṣiṣẹ́ fún un, ìlànà combo `cache-optimized` tuntun + ifosiwewe Auto-Combo `cacheAffinity` ń darí àwọn ìbéèrè àtúnṣe padà sí ìsopọ̀ tó di ìbẹ̀rẹ̀ tí a cache mú, endpoint kíkà-nìkan `/v1/auto-combo/{channel}/candidates` sì ń ṣí àkójọpọ̀ olùdíje tó ń ṣiṣẹ́ ti channel `auto/*` síta. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Ìṣiṣẹ́ agbègbè & amáyédẹrùn** — Redis agbègbè tẹ̀-ẹ̀ẹ̀kan, àwọn olùfọwọ́sí relay Cloudflare Workers / Deno Deploy, Bifrost & Mux gẹ́gẹ́ bí àwọn iṣẹ́ inú ètò tí a ń ṣàbójútó. → [Àwọn Iṣẹ́ Inú Ètò](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Ó tún wà nínú àpótí** — ètò plugin + ọjà, àwọn ètò ọgbọ́n Omni/Agent/GitHub, ìṣàmúlò Obsidian vault (àwọn irinṣẹ́ MCP 22), àwọn API Batch & Files tó bá OpenAI mu, cache ìdáhùn onítumọ̀, fífi eré ṣe e pẹ̀lú àwọn tábìlì adarí, ìṣàwárí aṣojú ACP (àwọn aṣojú inú ètò 15), ìkójáde àkọsílẹ̀ tí a ṣètò sí BigQuery, ìfàṣẹwọlé àṣìṣe `auto/chaos`, afárá bot Telegram kan, olùṣàkóso ẹ̀yà inú app àti àwọn ipò olupèsè ọ̀fẹ́ LMArena-ELO. → [Àwọn Dókítà](docs/README.md)
## 🤖 Àwọn CLI & Aṣojú Kóòdù Tó Bára Mu
> Àtòjọ kan ṣoṣo — `http://localhost:20128/v1` — àti pé **gbogbo** IDE AI tàbí CLI ń ṣiṣẹ́ lórí àwọn àwòṣe ọ̀fẹ́ & olówó-kékeré.
+ ó tún ń ṣiṣẹ́ pẹ̀lú · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · ohun èlò èyíkéyìí tó bá OpenAI mu
📖 Ìṣètò fún irinṣẹ́ kọ̀ọ̀kan fún gbogbo irinṣẹ́ 36 (CLI Code 26 + CLI Agents 10) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Àfikún OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Ṣàgbéjáde CLI èyíkéyìí tí a ṣe àtìlẹ́yìn fún nípasẹ̀ OmniRoute pẹ̀lú àṣẹ kan ṣoṣo** — kò kọ fáìlì ìṣètò kankan,
a ń fi àwọn ẹ̀rí ìwọlé sínú process kọ̀ọ̀kan, Qwen/Gemini sì máa ń gba home àdádó ìgbà díẹ̀:
```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"
# Tàbí yan olùpèsè+àwòṣe ní ìbánisọ̀rọ̀, kí o sì kọ ìṣètò ti irinṣẹ́ náà fúnra rẹ̀:
omniroute configure codex # bákan náà: claude opencode qwen aider goose gemini cline continue kilo
```
Gbogbo àṣẹ máa ń tẹ̀lé àyíká jíjìn tó ń ṣiṣẹ́ (`omniroute connect `), `--dry-run`
máa ń ṣàfihàn env/args gangan láì ṣiṣẹ́ wọn, `--api-key-env NAME` sì ń jẹ́ kí àwọn àṣírí má wọ inú
ìtàn shell rẹ. → [Àwọn Ìṣọ̀kan CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 Àwọn Olùpèsè AI 357 — 152 Tí A Sàmì Sí Nínú Kátálọ́ọ̀gù Gẹ́gẹ́ Bí Ọ̀fẹ́
> **Àwọn olùpèsè 357 tí a forúkọsílẹ̀** káàkiri àwọn àkójọpọ̀ ìfọ̀rọ̀wérọ̀ àṣẹ, mídíà, ìṣàwárí, ti agbègbè, aṣojú-àwọsánmà àti ètò, pẹ̀lú **152 tí ó ní metadata ìṣàwárí `hasFree: true`**. Ìforúkọsílẹ̀ módẹ́ẹ̀lì ìfọ̀rọ̀wérọ̀ náà ní **àwọn olùpèsè 229 / àkójọpọ̀ olùpèsè-módẹ́ẹ̀lì ọ̀tọ̀ọ̀tọ̀ 2,554 / àwọn ID módẹ́ẹ̀lì àìṣàtúnṣe 1,283**; kátálọ́ọ̀gù ìnáwó-ọ̀fẹ́ ọ̀tọ̀ náà ní **àwọn ìlà 491 fún módẹ́ẹ̀lì kọ̀ọ̀kan**, **àwọn pool tí ń tún padà 35** àti **àwọn olùpèsè ọ̀fẹ́-títí-láé 54 tí ń tún padà/tí kò nílò kọ́kọ́rọ́**. Àwọn iye ìpín wọ̀nyí yàtọ̀ síra ní ìmọ̀ọ́mọ̀; àwọn ìtumọ̀ àti ìṣirò tí a ti yọ àtúnṣe pool kúrò wà nínú [Ìtọ́kasí Olùpèsè](docs/reference/PROVIDER_REFERENCE.md) àti [Àwọn Ìpele Ọ̀fẹ́](docs/reference/FREE_TIERS.md).
### 🏢 Gbogbo yàrá ìwádìí pàtàkì — nípasẹ̀ endpoint kan ṣoṣo
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…àti 330+ míì — gbogbo àmì-àwòrán ni a ń gbé jáde ní tààrà láti inú kátálọ́ọ̀gù olùpèsè ti dashboard náà. 📖 [Ìtọ́kasí Olùpèsè](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Ọ̀fẹ́ Títí Láé — $0, kò nílò káàdì
OpenCode Zen DeepSeek V4, Nemotron 3 Kò sí ààlà token
Kilo Code Olùdarí-àdáṣe, Tencent Hy3 Ọ̀fẹ́ títí láélá
Requesty GPT-OSS 120B, Nemotron Ọ̀fẹ́ títí láélá
SiliconFlow DeepSeek V3.2 / R1 Ìpele ọ̀fẹ́
Z.AI GLM GLM-4.7 / 4.5-Flash Ọ̀fẹ́ títí láélá
Baidu ERNIE ERNIE 4.0 Ọ̀fẹ́ títí láélá
Qoder AI Qwen3-Max, Kimi-K2 Ọ̀FẸ́ láìláàlà
Pollinations GPT, Llama, Claude Kò nílò kọ́kọ́rọ́
Cloudflare AI Àwọn àwòṣe 50+ 10K neuron/ọjọ́
NVIDIA NIM GLM, MiniMax ~40 RPM lọ́fẹ̀ẹ́
Cerebras GLM 4.7, GPT-OSS 1M token/ọjọ́
OpenRouter Àwọn àwòṣe :free +$10 → RPM tó ga jù
📖 Àkójọ ẹ̀kúnrẹ́rẹ́ tí ẹ̀rọ lè kà → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Ibi tí OmniRoute Ti Ń Ṣiṣẹ́ — Níbikíbi
> Ètò kan náà, ẹ̀rọ rẹ, àwọn òfin rẹ. Láti ìfìsórí npm àgbáyé títí dé **fóònù rẹ** nípasẹ̀ Termux.
Pẹpẹ
Ìfìsórí
Àwọn Ànfàní Pàtàkì
📦 npm (àgbáyé)
npm install -g omniroute
Àṣẹ kan, OS èyíkéyìí
🐳 Docker
docker run … diegosouzapw/omniroute
Ọ̀pọ̀ àkitektọ̀ AMD64 + ARM64
🖥️ Desktop (Electron)
npm run electron:build
Fèrèsé abínibí + àpótí ètò — Windows / macOS / Linux
🎩 Àkójọ-àṣàyàn (OmniRouteTray)
brew install --cask zoispag/tap/omniroute-tray
Ń ṣàkóso & ń ṣe ìmúdójúìwọ̀n olupin fúnra rẹ̀ — macOS
💪 ARM
abínibí arm64
Raspberry Pi, àwọn olupin ARM, Apple Silicon
📱 Android (Termux)
pkg install nodejs && npx -y omniroute
Ń ṣiṣẹ́ lórí fóònù rẹ, 24/7, láìsí root
📲 PWA
"Ṣàfikún sí Ojú Ìbẹ̀rẹ̀"
Ojú-kíkún, láìsí ayélujára, ó ṣeé fi sórí láti inú aṣàwákiri
🧩 Àfikún OpenCode
@omniroute/opencode-provider
Ìṣọ̀kan OpenCode abínibí
🤖 VS Code Copilot Chat
fi àfikún OmniCopilot sórí
Gbogbo àwòṣe OmniRoute nínú aṣàyàn Copilot Chat abínibí — stable & Insiders
### 🧩 Tuntun: OmniRoute nínú Copilot Chat abínibí ti VS Code
> Kò sí pẹpẹ-ẹ̀gbẹ́ tuntun, kò sí ojú ìbánisọ̀rọ̀ tuntun — gbogbo àwòṣe tí OmniRoute ń pèsè yóò hàn ní tààràtà nínú
> **aṣàyàn àwòṣe Copilot Chat tí o ti ń lò**. Láti VS Code 1.122, àwọn àwòṣe olùpèsè ń ṣiṣẹ́
> láìsí wíwọlé GitHub tàbí ìforúkọsílẹ̀ Copilot — ipò aṣojú, pípè irinṣẹ́ àti ìríran, lọ́fẹ̀ẹ́.
Fi àfikún **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** sórí, darí rẹ̀
sí olupin OmniRoute rẹ (àtìlẹ́yìn àkọ́kọ́ ni `localhost:20128`), lẹ́yìn náà ṣí Copilot Chat → aṣàyàn àwòṣe
→ **Ṣàkóso Àwọn Àwòṣe…** → **OmniRoute**.
Láti inú olóòtú: ṣí ojú **Àwọn Àfikún**, wá **"OmniRoute"**, tẹ **Fi sórí**
— ó ń ṣiṣẹ́ lọ́nà kan náà lórí ilé ìtajà méjèèjì. Kóòdù orísun, àwọn ìṣòro àti ìwé ìtọ́sọ́nà ìtẹ̀jáde wà ní
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Ìtọ́sọ́nà VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — ìṣètò, ohun tí aṣàyàn náà ń fi hàn, àtẹ ìṣàkóso nínú taabu, yíyanjú ìṣòro
### 🎩 Tuntun: OmniRouteTray — ẹnubodè rẹ, tí ń gbé inú ọ̀pá àkójọ-àṣàyàn
> `omniroute serve` máa ń dára jù lọ nígbà tí ó bá ń ṣiṣẹ́ ní gbogbo ìgbà. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> ń yí èyí padà sí ètò ọ̀pá àkójọ-àṣàyàn fún macOS tí o lè ṣètò kí o sì gbàgbé rẹ̀: ó ń bẹ̀rẹ̀ olupin, ó ń jẹ́ kí ó máa ṣiṣẹ́
> lẹ́yìn àwọn àtún-bẹ̀rẹ̀, ó ń ṣe ìmúdójúìwọ̀n rẹ̀ níbi kan náà, ó sì ń jẹ́ kí ìwọ̀n token rẹ ní àkókò gidi wà ní ìtẹ̀ kan — **kò sí
> fèrèsé terminal tí a fi sílẹ̀ ní ṣíṣí, kò sí `npm install -g omniroute` tí o ní láti máa tọ́jú.**
A kọ́ ọ pẹ̀lú [Tauri v2](https://v2.tauri.app/) (ìpìlẹ̀ Rust tí ó kéré gan-an), ó mú
runtime Node 24 tirẹ̀ tí a fọwọ́sí wá, ó sì ń ṣàkóso ìfìsórí OmniRoute tí ètò náà ní, nítorí náà kò ní bá
`node`/`bun` àgbáyé rẹ figagbága. Ó **ń pín àtòpọ̀ àti ibi ìpamọ́ dátà `~/.omniroute/` rẹ tí ó ti wà tẹ́lẹ̀** — nítorí náà,
OmniRoute kan náà tí o ti ń ṣiṣẹ́ ni, ó kàn wọ fìlà ni. 🎩
Ohun tí ó ń ṣe
Bí ó ṣe ń ṣe é
🟢 Ó ń ṣàkóso olupin
Ó ń ṣe ìpilẹ̀ṣẹ̀ omniroute serve, ó ń gba instance tí ó ti ń ṣiṣẹ́ dípò ṣíṣe ẹ̀dà rẹ̀ méjì
📊 Ìlò ní àkókò gidi ní ojú kan
Àwọn ọ̀pá ìpín olùpèsè, ààlà session/ọ̀sẹ̀ Claude pẹ̀lú ìṣírò àkókò tó kù sí àtúntò, ìpín iye owó ọjọ́ 30
🔄 Ó ń ṣe ìmúdójúìwọ̀n fúnra rẹ̀ níbi kan náà
Ìfìsórí ní ìpele, ìpàrọ̀ atomic, ìpadà sí ẹ̀yà àtijọ́ nígbà ìkùnà — ó máa ń wà lórí ìtẹ̀jáde tuntun jù lọ ní gbogbo ìgbà
🚀 Bẹ̀rẹ̀ nígbà wíwọlé
Ìpilẹ̀ṣẹ̀ àṣàyàn nígbà wíwọlé; àpótí nìkan, kò sí àmì dock
🩺 Àyẹ̀wò & àwọn àkọsílẹ̀
Àyẹ̀wò ìṣòro pẹ̀lú ìtẹ̀ kan àti ìráyè sí àkọsílẹ̀ olupin
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Ṣé o fẹ́ràn ìgbàsílẹ̀? Gba .dmg tuntun láti
Àwọn Ẹ̀yà Tí A Ti Tu Sílẹ̀. Kóòdù orísun, àwọn ìṣòro àti àwọn àkọsílẹ̀ ìkọ́lé
wà ní zoispag/omniroute-tray.
💛 Iṣẹ́ àkànṣe àwùjọ láti ọwọ́ @zoispag — kì í ṣe ẹ̀yà OmniRoute tí a tú sílẹ̀ ní ọ̀nà ìjọba.
> Yàtọ̀ sí server náà, OmniRoute jẹ́ **ibi ìṣàkóso command-line kíkún** pẹ̀lú **àwọn àṣẹ 80+**, àti àwọn protocol agent ṣíṣí kí agent AI lè darí rẹ̀ **fúnra rẹ̀**.
### ⌨️ CLI gidi kan (kì í ṣe `start` nìkan)
```bash
omniroute # ṣe ìpèsè gateway + dashboard (port 20128)
omniroute chat # client ìfọ̀rọ̀wérọ̀ TUI aláṣepọ̀ (slash: /model /combo /skill /memory)
omniroute setup # wizard ìtọ́sọ́nà fún ìṣiṣẹ́ àkọ́kọ́
omniroute doctor # ṣe àyẹ̀wò providers, ports, native deps
```
### 🛰️ Ipò jíjìn — ṣiṣẹ́ CLI níbí, OmniRoute lórí VPS kan
OmniRoute wà lórí server kan? Darí rẹ̀ láti laptop rẹ pẹ̀lú **CLI kan náà**. Wọlé lẹ́ẹ̀kan
pẹ̀lú token ìwọlé tí a ní ìdíwọ̀n agbègbè; lẹ́yìn náà, gbogbo àṣẹ yóò tọ́ka sí èyí tí ó wà ní jíjìn.
```bash
omniroute connect 192.168.0.15 # ọ̀rọ̀ aṣínà → token tí a ní ìdíwọ̀n agbègbè, tí a fipamọ́ gẹ́gẹ́ bí context
omniroute models list # ← ń ṣiṣẹ́ lòdì sí server JÍJÌN náà
omniroute configure codex # ← yan model jíjìn kan, kọ profile Codex agbègbè kan
omniroute tokens create --name ci --scope read # ṣẹ̀dá àwọn token tó ní ìdíwọ̀n tóóró fún àwọn ẹ̀rọ mìíràn
omniroute contexts use default # ← padà sí server agbègbè náà
```
A pín àwọn token sí agbègbè `read` / `write` / `admin`; àwọn route tó ń dá process sílẹ̀ wà fún loopback nìkan.
📖 [Ipò Jíjìn](docs/guides/REMOTE-MODE.md)
### 🤝 So agent kan pọ̀ — yóò sì ṣàkóso OmniRoute fúnra rẹ̀
Ṣí OmniRoute síta nípasẹ̀ **MCP**, **A2A**, **REST API**, **webhooks** tàbí **CLI jíjìn** — agent èyíkéyìí tó lágbára (tàbí code tirẹ) yóò gba kọ́kọ́rọ́ sí gbogbo gateway náà: routing, providers, combos, cache, compression, memory — láìsí ìdarí ènìyàn. Àwọn endpoint HTTP tó wà nísàlẹ̀ ni a pèsè lábẹ́ `http://localhost:20128`.
Ojú-ìbáṣepọ̀
Endpoint / àṣẹ
Lò ó fún
🧰 MCP (stdio)
omniroute --mcp
So pọ̀ mọ́ Claude Desktop, Cursor, tàbí client MCP èyíkéyìí
Ó bá OpenAI mu — ìfọ̀rọ̀wérọ̀, embeddings, àwòrán, ohun, OCR
🔔 Webhooks
/api/webhooks
Fi àwọn ìṣẹ̀lẹ̀ ìbéèrè / quota ránṣẹ́ sí Slack, Discord, Telegram tàbí URL èyíkéyìí
🛰️ CLI Jíjìn
omniroute connect
Darí instance jíjìn kan pẹ̀lú àwọn token ìwọlé tí a ní ìdíwọ̀n agbègbè
```bash
# Fún Claude Code ní gbogbo àkójọpọ̀ irinṣẹ́ OmniRoute nípasẹ̀ MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [Server MCP](docs/frameworks/MCP-SERVER.md) · [Server A2A](docs/frameworks/A2A-SERVER.md) · [Àwọn Protocol Agent](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Fi 15–95% Àwọn Tókìnì Pamọ́ — Láìfọwọ́ṣe
### 📖 Bí ó ṣe ń ṣiṣẹ́ — ìlànà ṣiṣàn, àwòrán-ètò àti ìṣirò ìpamọ́
Àkójọpọ̀ aiyipada ń ṣiṣẹ́ ní ìtòlẹ́sẹẹsẹ `RTK → Caveman`. Nígbà tí àwọn méjèèjì bá ṣiṣẹ́ lórí tool/context payload kan náà, ìpamọ́ wọn ń pọ̀ sí i ní ìṣirò àkójọpọ̀:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Ẹ́ńjìnnì ìpamọ́ **máa ń dáàbò bo** àwọn code block, URL, JSON àti dátà tí a ṣètò ní gbogbo ìgbà.
> **Kí ló dé tí a fi máa lo ọ̀pọ̀ tókìnì nígbà tí díẹ̀ lè ṣe iṣẹ́ náà?** Gbogbo ìbéèrè ń gba inú ìlànà ìkópọ̀ OmniRoute kọjá **láìfarahàn** — kò sí ìyípadà kankan sí oníbàárà. Ní báyìí, ó jẹ́ **àkójọpọ̀ ẹ́ńjìnnì 12 tí a lè ṣàkójọpọ̀** tí wọ́n ń ṣiṣẹ́ léraléra, tí a sì lè parapọ̀ wọn gẹ́gẹ́ bí àkójọpọ̀ ìdarí ọ̀nà kọ̀ọ̀kan — tí a gbé karí àwọn èrò láti [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua), àti [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Àkójọpọ̀ ẹ́ńjìnnì 12 náà
Àwọn ẹ́ńjìnnì ń ṣiṣẹ́ ní ìtòlẹ́sẹẹsẹ ìlànà ṣiṣàn; a lè tan tàbí pa ọ̀kọ̀ọ̀kan lọ́tọ̀, a sì lè ṣètò wọn fún àkójọpọ̀ kọ̀ọ̀kan:
#
Ẹ́ńjìnnì
Ohun tó ń ṣe
1
Session-Dedup
Yọ àkóónú tí a tún ṣe láàárín àwọn ìyípadà ọ̀rọ̀ kúrò (tó dá lórí àkóónú, tó sì ṣiṣẹ́ kọjá àwọn ìyípadà ọ̀rọ̀)
2
CCR
Ṣàkójọ àwọn ìpín ńlá sẹ́yìn àwọn àmì ìgbàpadà, kí a sì mú wọn wá nígbà tí a bá nílò wọn
3
Lite
Gé àyè òfìfo àti URL àwòrán kúrú (ìpìlẹ̀ tó fẹ́ẹ́rẹ́ ní ti ìdádúró)
4
RTK
Àlẹ̀mọ́ ọlọ́gbọ́n, yíyọ àdáwòkọ àti gígé àwọn èsì irinṣẹ́ kúrú (tó mọ̀ nípa àṣẹ)
5
Responses Tool Output
JSON aláìlófò ní àkọ́kọ́ + ìkópọ̀ àyẹ̀wò tó ní ààlà fún àwọn àbájáde shell/patch/search/build (Responses API)
6
Headroom
Ìkópọ̀ tábìlì aláìlófò fún àwọn àkójọ JSON (~30%) nípasẹ̀ codec GCF tí a ṣàfikún mọ́ iṣẹ́ náà
7
Relevance
Fífún àwọn gbólóhùn tí a yọ jáde ní àmì ní ìbámu pẹ̀lú ìbéèrè oníṣe tó kẹ́yìn
8
Caveman
Ìkópọ̀ ọ̀rọ̀ àlàyé tó dá lórí àwọn òfin (~65–75% lórí àbájáde)
9
Aggressive
Ìṣókí + dídín àwọn ìyípadà ọ̀rọ̀ àtijọ́ kù díẹ̀díẹ̀
10
LLMLingua-2
Yíyọ àkóónú ìtumọ̀ tí ML ń darí nípasẹ̀ MobileBERT ONNX — ó dáàbò bo kóòdù, ó sì ṣiṣẹ́ láìdúró de ara rẹ̀
Ìfípamọ́ context-bí-àwòrán àdánwò fún Claude Fable 5 tí a wọ̀n lórí ìsopọ̀ Anthropic tààrà; àwọn transformer GPT 5.6 ṣì ń kọ̀ láìsí ẹ̀rí títí tí ìjẹ́rìísí olupèsè yóò fi dé. Àwọn profaili ìkópọ̀ mẹ́rin (aiyipada líle, iwọntúnwọ̀nsì, tó dáàbò bo kóòdù, passthrough) (èyí tó le jù; a gbọ́dọ̀ yan láti lò ó)
A **máa ń pa** àwọn code block, URL àti dátà tí a ṣètò mọ́ ní ìpéye byte ní gbogbo ìgbà. **Àwọn ìṣètò tán-láti-lò ní ìtẹ̀kan** ń ṣàkójọpọ̀ àwọn ẹ́ńjìnnì náà:
Ipò
Ìpamọ́
Ohun tó dára jù fún
🪶 Lite
~15%
Aiyipada àìléwu tó máa ń ṣiṣẹ́ ní gbogbo ìgbà
🪨 Standard (Caveman)
~30%
Kíkóòdù ojoojúmọ́
⚡ Aggressive
~50%
Àwọn session gígùn tó kún fún lílo irinṣẹ́
🔥 Ultra
~75%
Ìpamọ́ tó pọ̀ jù
🧰 RTK
60–90%
Àbájáde shell/test/build/git
🔗 Stacked (RTK → Caveman)
78–95%
Àwọn ìtọ́nisọ́nà àdàpọ̀ + àkọsílẹ̀ irinṣẹ́
**Àpẹẹrẹ gidi — Ipò Standard:**
> **Ṣáájú (tókìnì 69):** _"Ìdí tí component React rẹ fi ń tún render ṣe lè jẹ́ nítorí pé o ń ṣẹ̀dá reference object tuntun ní gbogbo render cycle. Nígbà tí o bá fi inline object ránṣẹ́ gẹ́gẹ́ bí prop, shallow comparison ti React máa ń rí i gẹ́gẹ́ bí object tó yàtọ̀ ní gbogbo ìgbà, èyí sì ń fa re-render. Mo ṣàbẹ̀wò pé kí o lo useMemo láti memoize object náà."_
>
> **Lẹ́yìn náà (tókìnì 19):** _"Reference object tuntun ní render kọ̀ọ̀kan. Inline object prop = reference tuntun = re-render. Fi useMemo yí i ká."_
>
> **Èsì kan náà. Tókìnì dín kù ní 72%. Kò sí ìpàdánù ìpéye rárá.** ✅
**Àpẹẹrẹ PT-BR — Ipò [Troglodita](https://github.com/leninejunior/troglodita):**
> **Ṣáájú (42 tokens):** _"Ìṣòro náà ni pé component náà ń tún render nítorí reference object tuntun kan ni a ń ṣẹ̀dá ní gbogbo cycle render. Èmi yóò dábàá lílo useMemo."_
>
> **Lẹ́yìn náà (12 tokens):** _"Tún-render: ref tuntun ní gbogbo cycle (object inline ni a tún ṣẹ̀dá). Lo `useMemo`."_
>
> **Ìdáhùn kan náà. ~70% tokens díẹ̀. Ìpéye ìmọ̀-ẹ̀rọ kò yí padà.** ✅
### 🎚️ Kọjá àwọn engine — àwọn style output, dial adaptive àti ìṣàkóso fún request kọ̀ọ̀kan
Àwọn engine 12 tó wà lókè dín ohun tó ń wọlé kù. Layer mẹ́ta míì ń ṣe àgbékalẹ̀ **bí**, **ìgbà wo**, àti ohun tó ń jáde:
- **🪄 Àwọn Style Output** _(ìdarí lórí axis output)_ — fi àwọn ìtọ́nisọ́nà deterministic, cache-safe fún ṣíṣe àgbékalẹ̀ response kún un; a lè darapọ̀ wọn, ọ̀kọ̀ọ̀kan sì ní intensity `lite` / `full` / `ultra`. Fífi style kan kún un jẹ́ entry registry onílà-kan:
- **Ọ̀rọ̀ ṣókí** — yọ ọ̀rọ̀ àfikún / article / iyèméjì kúrò; pa kókó ìmọ̀-ẹ̀rọ mọ́ pẹ̀lú ìpéye.
- **Code díẹ̀** — YAGNI ti “senior dev ọ̀lẹ”: ìyípadà tó kéré jù tó sì ń ṣiṣẹ́, láìsí scaffolding tí a kò béèrè.
- **Ponytail (senior dev ọ̀lẹ)** — gun àkàbà YAGNI, tún gbòǹgbò ìṣòro náà ṣe, lo diff tó kéré jù tó sì ń ṣiṣẹ́.
- **Mo ní ADHD (ìgbésẹ̀ kọ́kọ́)** — bẹ̀rẹ̀ pẹ̀lú ìgbésẹ̀ tó kàn, fi nọ́ńbà sí àwọn ìgbésẹ̀, ìgbésẹ̀ gidi kan tó kàn, láìsí ọ̀rọ̀ ìṣáájú.
- **CJK ṣókí (文言)** — style Chinese àtijọ́ tó ṣókí gan-an (a fi locale ṣe ìdíwọ̀ sí `zh`).
- **🎯 Ìṣúná context adaptive** _(dial náà)_ — dípò threshold token on/off kan ṣoṣo, mú àwọn engine tó din owó jù, tí pàdánù wọn sì kéré jù, pọ̀ sí i dé ibi tó yẹ láti **wọ inú context window model náà**. Policy: `reserve-output` (àìyẹsẹ̀, model-aware) · `percentage` · `absolute`. Mode: `floor` (ṣe ìdánilójú pé ó wọlé) · `replace-autotrigger` (àyàn kedere rẹ ló borí) · `off` (threshold àtijọ́).
- **🎛️ Ibi tí a ti pinnu compression** _(precedence, gíga → kékeré)_ — header `x-omniroute-compression` fún request kọ̀ọ̀kan › override routing-combo › profile olórúkọ tó ń ṣiṣẹ́ › adaptive / auto-trigger › àìyẹsẹ̀ panel › off. Plan tí a lò yóò tún hàn nínú header response `X-OmniRoute-Compression: ; source=`.
Ṣètò auto-trigger nípasẹ̀ threshold token, tan dial adaptive, dì profile olórúkọ mọ́lẹ̀, ṣètò ohun ẹ̀ẹ̀kan fún request kọ̀ọ̀kan, tàbí yan pipeline fún routing combo kọ̀ọ̀kan — èyíkéyìí tó bá iṣẹ́ náà mu. **Eval harness** offline tí a ní láti yan láti lò (`npm run eval:compression`) máa ń wọ̀n fidelity sí savings lórí corpus tí a dì mọ́lẹ̀ kí o tó gbé ìyípadà kan ga.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Bẹ̀rẹ̀ Kíákíá
**1) Fi sí ẹ̀rọ, kí o sì ṣiṣẹ́**
```bash
npm install -g omniroute
omniroute
```
> 💡 Ṣé o rí `npm warn ERESOLVE` tàbí àwọn ìkìlọ̀ peer-dep? [Wọn kò léwu](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
Dashboard wà ní `http://localhost:20128` · API wà ní `http://localhost:20128/v1`.
**2) So provider Ọ̀FẸ́ kan pọ̀ (kò nílò signup)**
Dashboard → **Providers** → so **Kiro AI** pọ̀ (Claude ọ̀fẹ́, ~50 credits/month fún account kọ̀ọ̀kan) tàbí **OpenCode Free** (kò nílò auth) → ó parí.
**3) Darí coding tool rẹ sí i**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (zero-config smart routing — or any provider/model)
```
**4) Ṣàyẹ̀wò pé ó ń ṣiṣẹ́**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Ó yẹ kí o rí àtòjọ àwọn model tí o ti sopọ̀. 🎉 Ó tán — bẹ̀rẹ̀ sí í kọ code, OmniRoute yóò sì ṣe auto-routing àti fallback fún ọ.
Tí client rẹ kò bá lè fi àwọn header àdáni ránṣẹ́, OmniRoute tún pèsè àwọn alias compatibility tó ní token:
```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
```
Lo àwọn wọ̀nyí fún àwọn client tí kò lè so `Authorization: Bearer ...` mọ́ request nìkan. Auth nípasẹ̀ header ṣì ni mode tí a fẹ́ràn jù.
## 📦 Àwọn ọ̀nà ìfisílẹ̀ míì — 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
```
`:latest` ń tẹ̀lé ẹ̀yà SemVer tó dúró ṣinṣin tó ga jù lọ tí a ti **tẹ̀ jáde**. Kò tẹ̀lé git `main`. Lo `:X.Y.Z` pàtó fún GitOps. Wo [Àwọn Ikanni Ìtújáde Docker](docs/guides/DOCKER_GUIDE.md#release-channels).Àwòrán náà ṣètò **`OMNIROUTE_MEMORY_MB=1024`** gẹ́gẹ́ bí iye pàtó. Ìyẹn tó fún dashboard àti ìfọ̀rọ̀wérọ̀ kékeré. **Àwọn aṣojú coding** (`POST /v1/responses` láti Claude Code, Codex, Grok, …) nílò V8 heap tó tóbi púpọ̀ sí i, bí bẹ́ẹ̀ kọ́ process náà yóò ṣe `FATAL ERROR` ní nǹkan bí 12 GiB lábẹ́ àwọn context gígùn méjì tó bẹ̀rẹ̀ sí í lé ara wọn lórí. Ṣètò container náà kí ó tóbi ju heap lọ (àwọn native buffer wà ní òde V8):
| Irú iṣẹ́ | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) |
| ------------------------------------- | ------------------------------- | ---------------------- |
| Dashboard / ìfọ̀rọ̀wérọ̀ kékeré | `1024` (ìpìlẹ̀ àwòrán) | ≥2 g |
| Aṣojú coding kan | `8192` | ≥10 g |
| `/v1/responses` gígùn méjì lẹ́ẹ̀kan náà | `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
```
Tábìlì kíkún: [Ìtọ́sọ́nà Docker — RAM àsìkò ìṣiṣẹ́](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Ikanni Docker ṣáájú ìtújáde:** `diegosouzapw/omniroute:next` àti
> `diegosouzapw/omniroute:next-web` ń tẹ̀lé ẹ̀ka `release/v*` tó jẹ́ àìyẹsẹ̀ lọ́wọ́lọ́wọ́.
> Àwọn tag tí ó lè yí padà wọ̀nyí wà fún dídán àwọn àtúnṣe tí a kò tíì tú jáde wò nìkan, wọn kò sì
> **ní àtìlẹ́yìn fún production**. Wo
> [Àwọn Ikanni Ìtújáde Docker](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
A ṣàtìlẹ́yìn fún `bun install` àtijọ́ àti ìfisílẹ̀ kárí-ayé (`bun install -g omniroute`) nípasẹ̀ ìṣàwárí runtime Bun:
- **`bun:sqlite` tí a kọ sínú rẹ̀**: OmniRoute máa ń lo driver `bun:sqlite` tí a kọ sínú Bun nígbà tó bá ń ṣiṣẹ́ lábẹ́ Bun, yóò sì yí padà sí `better-sqlite3` lórí Node.js tàbí `sql.js`.
- **Yíyan bundler Webpack láìfọwọ́ṣe ní dev**: Development (`bun run dev`) máa ń ṣàwárí Bun láìfọwọ́ṣe, yóò sì pa Turbopack láti lo Webpack dípò rẹ̀ láti dènà àìbáramu native V8 binding. Àwọn build production (`bun run build`) ń tẹ̀lé `OMNIROUTE_USE_TURBOPACK` gan-an bíi ti Node: Turbopack gẹ́gẹ́ bí àìyẹsẹ̀, `OMNIROUTE_USE_TURBOPACK=0` láti build pẹ̀lú Webpack (`Dockerfile.bun` ń mú un wà gẹ́gẹ́ bí `--build-arg`).
- **Dockerfile Bun àkànṣe**: `Dockerfile.bun` alápele-púpọ̀ fún àwọn deployment production Bun native (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Fi sílẹ̀ kí o sì ṣiṣẹ́ pẹ̀lú Bun
bun install
bun run dev
```
**🛠️ Láti 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
# Lílo àwọn flake Nix
nix develop
npm run dev
# Tàbí lílo devbox
devbox run npm run dev
```
📖 [Ìtọ́sọ́nà Docker](docs/guides/DOCKER_GUIDE.md) — Àwọn profile Compose, Caddy HTTPS, àwọn tunnel Cloudflare.
**🦭 Podman**
```bash
# 1. Pèsè àkọsílẹ̀ data tí a so mọ́ nípasẹ̀ bind
mkdir -p data
# 2. Linux + Podman rootless ti agbègbè nìkan (kì í ṣe client Podman Machine jíjìn rárá):
podman unshare chown 1000:1000 ./data
# 3. Ṣètò ìtọ́kasí runtime, build àwòrán Compose agbègbè, kí o sì bẹ̀rẹ̀
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
Lórí macOS tàbí Windows, Podman máa ń lo Podman Machine jíjìn: má ṣe lo `podman unshare`, kí o sì
tẹ̀lé [ìtọ́sọ́nà àkọsílẹ̀ data tó dá lórí topology](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Ìtọ́sọ́nà Podman](contrib/podman/README.md) — Àwọn build Compose, Podman Machine, àti
ìṣètò Quadlet Linux/systemd.
**⚡ Ìfisílẹ̀ tó yára / fẹ́ẹrẹ̀ sí i (fo native build)**
Ẹ̀rọ SQLite native (`better-sqlite3`) jẹ́ dependency **àṣàyàn**, nítorí náà ìfisílẹ̀
kárí-ayé kì í dúró de compilation láti source: ó máa ń lo binary tí a ti kọ́ tẹ́lẹ̀ nígbà tí èyí tó bá
platform/Node rẹ mu bá wà, bí bẹ́ẹ̀ kọ́ yóò yí padà láìsí ìdíwọ́ sí ẹ̀rọ pure-JS
(`node:sqlite` lórí Node 22+, tàbí WASM `sql.js` tí a kó pọ̀ mọ́ ọn) — kò nílò àwọn irinṣẹ́ build.
Láti fo ìmúrúgbóná native lẹ́yìn ìfisílẹ̀ pátápátá (CI, headless, tàbí àwọn ẹ̀rọ tó lọ́ra):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 náà máa ń fò ó
```
Fún ìfisílẹ̀ tó yára jù lọ, yan **pnpm** (ibi ìpamọ́ tó dá lórí àkóónú + àwọn hard link — wo òkè).
Fún runtime headless tí kò ní dashboard, lo profile `base` Docker (lókè) tàbí
[ìtọ́sọ́nà Termux](docs/guides/TERMUX_GUIDE.md). Process kan náà ló ń pèsè CLI àti dashboard wẹ́ẹ̀bù lórí
port kan, nítorí náà kò sí package CLI-nìkan lọ́tọ̀ ní báyìí.
# 🎬 OmniRoute Níbi Iṣẹ́
## 📹 Àwọn Ìtọ́sọ́nà Fídíò
Àwòrán pánẹ́ẹ̀lì ní 2026-08-24 · Àkójọ àìṣètò: YT 809 | TT 137 | IG 124 · Bí ó ṣe jẹ́ tuntun (ọjọ́): YT 1 | TT 21 | IG 22
pino — àwọn ìgbàsílẹ̀ JSON tí a tò pẹ̀lú àyíká ìbéèrè
Ìdánwò
Node.js test runner + Vitest — 39,000+ àwọn ìpolongo ìdánwò tí kò yípadà kọjá 5,100+ àwọn faili ìdánwò tí a tọpinpin (unit, integration, E2E, security, ecosystem)
Ọgbọ́n ìborí ìdánwò fún àwọn ìkéde ìdánwò aláìyípadà 39,000+ káàkiri àwọn fáìlì ìdánwò 5,100+ tí a ń tọpinpin
# ⭐ Àwọn Olùkópa Tó Ga Jù
> Àwùjọ orísun-ṣíṣí tó ní ìtara ló ń ṣe àgbékalẹ̀ OmniRoute. Àwọn ènìyàn wọ̀nyí ti ṣe àwọn àfikún tó tayọ, tí ó ní ipa tààrà lórí dídára, ìdúróṣinṣin, àti ìtànkálẹ̀ iṣẹ́ náà. **Ẹ ṣéun.**
### Àwọn olùkópa láti òde gẹ́gẹ́ bí iye àwọn pull request tí a dapọ̀
A dí èyí dúró ní orí ìpẹ̀kun dafb4ae808 ti release/v3.8.50 tó wà láàyè, pẹ̀lú àwọn ìdàpọ̀ títí dé 2026-08-24 05:26:03 UTC. Ìkànìyàn GitHub GraphQL tí a pín sí ojú-ìwé ní àwọn PR 5,911 tí a dapọ̀: 2,707 láti ọ̀dọ̀ olówó ibi ìpamọ́ náà, 179 láti ọ̀dọ̀ Dependabot, àti àwọn PR 3,025 láti òde, láti ọ̀dọ̀ àwọn olùkópa ọ̀tọ̀ọ̀tọ̀ 535. “Àwọn ìlà tí a yí padà” ni àwọn àfikún + àwọn ìyọkúrò GitHub, ó sì ní àwọn fáìlì tí a ṣẹ̀dá, àwọn lockfile, àwọn àkójọ, àwọn ìtumọ̀ àti ìwé àkọsílẹ̀ nínú; ìyípadà léraléra ni, kì í ṣe LOC tí a kọ. A pa àwọn tó ní àmì kan náà mọ́ ní ibi tí ààlà náà wà.
### Àwọn commit tí GitHub dá mọ̀ sí olùkópa
Bob.Hou 🏅 Àwọn àtúnṣe 51 tí a dá mọ́ GitHub · wọ́n dọ́gba ní ipò #10
Xiangzhe 🏅 Àwọn àtúnṣe 51 tí a dá mọ́ GitHub · wọ́n dọ́gba ní ipò #10
A tún ṣàyẹ̀wò ní 2026-08-24 06:14:31 UTC: Àwọn àtúnṣe tí a dá mọ́ GitHub gẹ́gẹ́ bí API Contributors ibi ìpamọ́ náà ṣe ròyìn fún ẹ̀ka àìrípò release/v3.8.50. API náà dá àwọn ìdánimọ̀ 525 padà (àwọn aṣàmúlò 415, àwọn bot 2, àwọn aláìlórúkọ 108); tábìlì yìí yọ olùtọ́jú, àwọn bot àti àwọn ìdánimọ̀ aláìlórúkọ kúrò, ó sì dá àwọn tó dọ́gba nínú ìdíje dúró. Ó yàtọ̀ sí ìṣètò ipò PR tí a dapọ̀ lókè àti ìkànìyàn metadata Git ti ènìyàn 639 ní ìsàlẹ̀.
> 🙏 Àwọn ẹ̀yà iṣẹ́, àtúnṣe àṣìṣe, àti àwọn ìmúdára amáyédẹrùn ti àwọn olùdásíwọlé wọ̀nyí jẹ́ **apá pàtàkì** ti ohun tó mú kí OmniRoute ṣeé gbẹ́kẹ̀lé, tó sì ní àwọn ẹ̀yà iṣẹ́ lọ́pọ̀. Gbogbo pull request, gbogbo ọ̀ràn ìdánwò, àti gbogbo fáìlì ìtumọ̀ i18n ṣe pàtàkì. Àwọn ènìyàn bíi tiwọn ni wọ́n ń kọ́ open source.
---
## 💖 Àwọn Olùgbọ́wọ́
Ọpẹ́ àtọkànwá sí àwọn ènìyàn tí wọ́n ń fi owó ara wọn ṣe ìnáwó fún OmniRoute — gbogbo àfikún ń jẹ́ kí iṣẹ́ náà wà lọ́fẹ̀ẹ́, ní òmìnira, kí ó sì máa tẹ̀ síwájú.
… àti àwọn mìíràn tí wọ́n fẹ́ kí ìdánimọ̀ wọn wà ní ìkọ̀kọ̀ 💛A tún fìdí àwọn GitHub Sponsors ti gbangba múlẹ̀ ní 2026-08-24. Ipò activeOnly ti GitHub ló ń pinnu àwọn àmì aláṣiṣẹ́ lókè; a ṣì ń dúpẹ́ lọ́wọ́ àwọn olùtìlẹ́yìn ìgbà kan ti gbangba tí a ti sọ̀rọ̀ nípa wọn tẹ́lẹ̀, àwọn olùgbọ́wọ́ aládàáni sì ṣì wà láìlórúkọ.💖 Di olùgbọ́wọ́ → — gbogbo dọ́là ń jẹ́ kí OmniRoute wà lọ́fẹ̀ẹ́ àti ní òmìnira.
## 👥 Àwọn Olùkópa 600+
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
A ṣe àyẹ̀wò ní 2026-08-24 lórí ìpìlẹ̀ tí a dì mọ́ ac02c5b42f, a sì tún ṣàyẹ̀wò ní orí tuntun ti release/v3.8.50 tó jẹ́ dafb4ae808: àwọn ìdánimọ̀ Git ènìyàn 639 tí a ti ṣe déédé — 407 fara hàn gẹ́gẹ́ bí àwọn olùkọ àtúnṣe (pẹ̀lú olùtọ́jú), 232 sì fara hàn nínú àwọn àfikún Co-authored-by tí a sọ ní kedere nìkan. Ìkànìyàn náà ń ṣe àwọn orúkọ-ìdánimọ̀ noreply GitHub déédé, kò ka àwọn ìdánimọ̀ bot/aṣojú/iṣẹ́/àfikún-pò 26 sí, kò sì dapọ̀ àwọn àdírẹ́sì ímeèlì lasán nítorí pé àwọn orúkọ ìfihàn wọn bá ara wọn mu.
### Bí A Ṣe Lè Kópa
1. Ṣe fork ibi ìpamọ́ náà
2. Ṣẹ̀dá ẹ̀ka láti orí **aláṣiṣẹ́** `release/vX.Y.Z` (kì í ṣe `main`) — wo [Àwòṣe Ẹ̀ka àti Ìtújáde](docs/ops/BRANCHING_MODEL.md)
3. Ṣẹ̀dá ẹ̀ka àfikún rẹ (`git checkout -b feat/amazing-feature`)
4. Ṣe commit àwọn àyípadà rẹ (`git commit -m 'feat: add amazing feature'`)
5. Ṣe push sí ẹ̀ka náà (`git push origin feat/amazing-feature`)
6. Ṣí Pull Request kan pẹ̀lú **base = ẹ̀ka `release/vX.Y.Z` yẹn**
Wo [CONTRIBUTING.md](CONTRIBUTING.md) fún àwọn ìlànà ẹ̀kúnrẹ́rẹ́.
### Ṣíṣe Ìtújáde Ẹ̀yà Tuntun
```bash
# Ṣẹ̀dá ìtújáde kan — npm publish máa ṣẹlẹ̀ láìfọwọ́ṣe
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Àwọn Ìràwọ̀
## 🌍 StarMapper
## 🙏 Ọ̀pẹ́
OmniRoute dúró lórí èjìká àwọn òmìrán. Ó bẹ̀rẹ̀ gẹ́gẹ́ bí ẹ̀ka kan láti inú **[9router](https://github.com/decolua/9router)** àti àtúnkọ iṣẹ́ akanṣe Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** sí TypeScript — láti ibẹ̀ sì ni gbogbo ẹ̀ka-ètò tó wà nísàlẹ̀ ti gba ìmísí láti inú iṣẹ́ akanṣe orísun-ṣíṣí kan tó ti kọ́kọ́ ṣe é. Ọ̀kọ̀ọ̀kan wọn ló ṣe àgbékalẹ̀ apá pàtó kan nínú OmniRoute. Èyí ni ọ̀nà wa láti dúpẹ́ lọ́wọ́ gbogbo wọn. 🙏
> ⭐ a ṣàyẹ̀wò iye àwọn ìràwọ̀ nípasẹ̀ GitHub REST API ní August 24, 2026 — ẹ lọ fún àwọn iṣẹ́ akanṣe wọ̀nyí ní ìràwọ̀. Àwọn iye náà jẹ́ àwòrán pàtó tí a mú ní ọjọ́ yẹn, wọ́n sì máa yí padà bí ó ṣe yẹ.
### 🧬 Ìran & ẹnu-ọ̀nà
Ẹnubodè AI tí àkójọpọ̀ dátà ìdíyelé gbogbogbò rẹ̀ ń pèsè fún ìmúdójúìwọ̀n ìtọ́pasẹ̀ iye owó wa, tí àwòṣe ìṣọ̀kan olùpèsè rẹ̀ sì ṣe ìtọ́sọ́nà fún ìrìnàjò wa.
Orísun MIT tí a ṣàmúlò sínú afárá ChatGPT Web → Codex Responses tí a ṣàkójọ mọ́ inú rẹ̀, pẹ̀lú àwọn ohun ìbámu fún ìgbà aṣàwákiri, ìṣètò férémù ìdáhùn, ìlò àti ìṣàwárí wẹ́ẹ̀bù.
Àwọn àpẹẹrẹ tí a ṣí lọ sínú ìmúpadàbọ̀ ṣiṣàn, àwọn orúkọ-àpèjúwe tí kò ní ìrònú, ìṣàwárí wẹ́ẹ̀bù àfẹ́yinti, àwọn ààlà fèrèsé-asunwọ̀n, ìbòmọ́lẹ̀ àkọsílẹ̀ àti àwọn ìṣàn olùpilẹ̀ṣẹ̀ tí a mú lágbára.
Àwọn ìbámu àwòṣe Grok rẹ̀, olùṣẹ̀dá Statsig fake-TypeError, àwọn àiyípadà àìyẹsẹ̀ fún ìbéèrè àti ẹ̀rọ, àti olùṣàkóso ìdáhùn NDJSON ni a ṣàmúlò ní kíkún sínú olùṣiṣẹ́ Grok Web ti OmniRoute.
Orísun MIT ìpìlẹ̀ fún payload Grok àti àwọn àiyípadà àìyẹsẹ̀ ẹ̀rọ, olùṣẹ̀dá Statsig, àti olùṣàkóso result.response tí a gbé kọjá nípasẹ̀ TQZHR àti grok2api-merged.
Orísun àpapọ̀ tí grok2api-merged fún ní ìyìn fún fẹ́lẹ́fẹ́lẹ́ àkójọpọ̀ aṣojú rẹ̀; OmniRoute pa àkọsílẹ̀ ìran náà mọ́ ṣùgbọ́n kò sọ pé ó ṣí àkójọpọ̀ aṣojú náà wá sínú olùṣiṣẹ́ Grok Web rẹ̀ tí ó ní ààlà.
Ìmúṣẹ Grok Web ìpilẹ̀ṣẹ̀ ṣàyẹ̀wò àpẹrẹ upstream HTTP/aṣàwákiri rẹ̀; ọ̀nà HTTP tààrà rẹ̀ wá láti GrokProxy, nítorí náà a kò sọ pé a ṣe ìṣípò kóòdù olómìnira kankan.
Àkànṣe “kí ló dé tí a fi ń lo token púpọ̀ nígbà tí token díẹ̀ lè ṣe iṣẹ́ náà” tó gbajúgbajà — ìmọ̀ràn ọ̀rọ̀-àpáta rẹ̀ ló ń ṣe agbára fún ipò ìfúnpọ̀ boṣewa wa àti àwọn òfin 30+ fún yíyọ ọ̀rọ̀-àfikún kúrò/ìṣókí.
Ìwádìí ìfúnpọ̀ prompt (LLMLingua / LLMLingua-2) — ó fún ẹ́ńjìnnì llmlingua wa tó jẹ́ async, tó dáàbò bo kóòdù, tí ó sì ń bá a lọ bí ìṣòro bá ṣẹlẹ̀ ní ìmísí.
Ọgbọ́n YAGNI-coder “olùgbéejáde àgbà ọ̀lẹ” tó gbajúgbajà — ó fún Àṣà Àbájáde less-code wa ní ìmísí: ìdarí sí ìyípadà tó kéré jù tí ó sì ń ṣiṣẹ́, tó ń dín _kóòdù tí a ṣẹ̀dá_ kù (ẹgbẹ́ ojú-ìwọ̀n àbájáde fún ọ̀rọ̀ ṣókí Caveman).
Ìfúnpọ̀ àbájáde tó mọ àkóónú, fún irú fáìlì kọ̀ọ̀kan, pẹ̀lú dídáwọ́ tó mọ ìkùnà — ó fìdí ìtọ́ka wa fún irú kọ̀ọ̀kan àti fífo ìjèrè tó kéré jù sílẹ̀ múlẹ̀.
Rust JSON oníwọ̀n + ìmúpadàbọ̀ tó dá lórí àkóónú + yíyọ àdáwòkọ kúrò láàárín àwọn ìfiránṣẹ́ — ó fìdí àpẹrẹ ẹ́ńjìnnì headroom/ccr/session-dedup wa àti òfin àìyípadà tó dúró ṣinṣin fún kaṣe pé “fọ́ọ̀mù tí a fún pọ̀ kò gbára lé ipò” múlẹ̀.
Ìdásẹ́wọ̀n/ìtúpalẹ̀ MITM ti ìrìnàjò dátà olùrànlọ́wọ́-kóòdù ↔ LLM ló ṣe ìtọ́sọ́nà àwọn àìní ìbẹ̀rẹ̀ fún Traffic Inspector. Àwọn módù mẹ́rin tí a ti ṣe àwárí rẹ̀ tẹ́lẹ̀ — ìṣọ̀kan SSE, ìṣọ̀kan ìjíròrò, ìbòmọ́lẹ̀ àṣírí àti ìmọ́tótó àkọlé — ni a ti fi àwọn ìmúlò clean-room olómìnira tí a gbé karí àwọn òṣùwọ̀n ìlànà gbogbogbò rọ́pò. Àwọn ojú-ìṣiṣẹ́ host-passthrough méjì (passthrough.ts àti _internal/bypass.cjs) ṣì jẹ́ àwọn ìmúlò abẹ́nú OmniRoute tí a pín sí ẹ̀ka lọ́nà olómìnira; a kò tún wọn kọ gẹ́gẹ́ bí apá kan ìrọ́pò náà.
Ìdarí aṣojú aláìhàn fún ìlànà-ìṣiṣẹ́ kọ̀ọ̀kan — ó fún ìfopin sí MITM wa tí ìkọlù kò lè bà jẹ́, àwọn àsìkò-ipari àìṣiṣẹ́ socket, ìdánimọ̀ ìlànà-ìṣiṣẹ́ /proc àti ìmúdá TPROXY ní ìmísí.
Àkójọ tí a fara balẹ̀ ṣàkójọ ti àwọn ilé-ìkàwé tó ní ààbò látìpilẹ̀, èyí tó ń darí àwọn yíyàn ààbò wa (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Ó fún ìmúkúrò àwọn ìbéèrè àdáwòkọ, ìyípadà-padà pàjáwìrì tí kò ná owó, àwọn ọgbọ́n Auto-Combo tí a lè so mọ́ ọn, àti ìpínsọ̀rí èrò inú onírúurú èdè ní ìmísí.