## 💰 ~1.62 մլրդ տոկեն / ամիս՝ երրորդ կողմերի անվճար փաթեթներում
> **Բերեք ձեր սեփական մատակարարի հաշիվները։** Սա գնահատված ագրեգատ է առանձին իրավասու երրորդ կողմերի անվճար փաթեթների միջև, ոչ թե OmniRoute-ի կողմից տոկենների տրամադրում։ Գրանցվեք, ստացեք հավատարմագրեր, որտեղ պահանջվում է, և միացրեք այն մատակարարներին, որոնք կարող եք օգտագործել․ յուրաքանչյուր մատակարար վերահսկում է իր սահմանափակումները, հասանելիությունը և պայմանները։
>
> Անվճար փաթեթները ձեռքով կուտակելը ցավոտ գործ է՝ տասնյակ SDK-ներ, տասնյակ արագության սահմանափակումներ, և պատկերացում չկա, թե իրականում որքան ունեք։ OmniRoute-ը կատալոգում է **467 անվճար փաթեթի գրառում՝ 34 կրկնվող pool բանալիների ընթացքում** և հաշվարկում է տոկենների գլխավոր ցուցանիշը **17 pool-երից, որոնք ունեն հրապարակված դրական ամսական բյուջե, գումարած Groq-ի հինգ մոդել-հատուկ սահմանափակում**, կրկնօրինակազերծված ըստ ընդհանուր pool-ի։ Քվոտաները, որոնք բացվում են միայն տարածաշրջանային ինքնության ստուգումից հետո (այսօր՝ ModelScope), ցուցադրվում են առանձին՝ +~6M տարածաշրջանային ինքնության հաստատման հետևում, և երբեք չեն գումարվում գլխավոր ցուցանիշին։ Արդյունքը մնում է տեսանելի վահանակում (`/dashboard/free-tiers`)։
> `/dashboard/free-tiers` իրական ժամանակի էջի անիմացված ամփոփում։ Ամբողջական մեթոդաբանություն (pool-ի կրկնօրինակազերծում, վարկերի աստիճաններ, մատակարարների պայմաններ)՝ **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**։
>
> Այս թվերը վերաուդիտվում են երկու շաբաթը մեկ՝ ըստ իրական կատալոգի, և **շարժվում են երկու ուղղությամբ**՝ մատակարարը դադարեցնում է անվճար փաթեթը, և թիվը նվազում է. նորը հայտնվում է, և այն աճում է։ Մենք հրապարակում ենք այն, ինչ կատալոգը իրականում հաշվարկում է, երբեք՝ կլորացված լավագույն սցենար։
⭐ Աստղացրեք ռեպոզիտորը, եթե OMNIROUTE-ը օգնել է ձեզ խնայել գումար և հեշտացնել ձեր աշխատանքը։
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Միացեք համայնքին
**👋 Հետևեք սպասարկողին՝ առաջինը ստացեք նոր մատակարարներ, թողարկումներ և խորհուրդներ։**
[](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)
**Հարցեր, մատակարարների խորհուրդներ, ճանապարհային քարտեզ և աջակցություն → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Գլոբալ](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Բրազիլիա](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Պորտալ](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Գեյթվեյը շարունակում է աճել
## 🆓 Տեղադրեք, միացրեք մատակարար և այնուհետև երթուղավորեք մեկ վերջնակետի միջոցով
```bash
# Մատակարարին միանալուց հետո պատճենեք ձեր OmniRoute բանալին 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!"}]}'
```
`auto`-ի համար անհրաժեշտ է համապատասխան երթուղի։ Նոր տեղադրումը կարող է չունենալ առանց բանալու որևէ համապատասխան թիրախ, իսկ առանց բանալու մատակարարը կարող է մերժել երրորդ կողմի հաճախորդներին։ `tos: avoid` նշումով մատակարարները, ներառյալ Kiro-ն, լռելյայն բացառվում են ավտոմատ երթուղավորումից․ հաշիվ միացնելը չի փոխում այդ կարգավորումը։ Մատակարար ընտրելուց առաջ տե՛ս [Անվճար սակագների ուղեցույցը](docs/getting-started/FREE-TIERS-GUIDE.md)։📦 Պատճենման և տեղադրման համար պատրաստ արագ մեկնարկի սկրիպտներ **Python-ի, Node.js-ի, PHP-ի և cURL-ի** համար → [`examples/quickstart/`](examples/quickstart/)
# 💥 Խոստումը
# 🤔 Ինչո՞ւ OmniRoute։
## 🤝 Աջակցվում է մեր բաց կոդով ընկերների կողմից
> **Ցանկանու՞մ եք միանալ որպես բաց կոդով ընկեր:** Սրանք այն ընկերություններն են, որոնք աջակցում են բաց կոդին և օգնում են OmniRoute-ին շարունակել աշխատել, և մենք հրապարակայնորեն նշում ենք, թե ուր է գնում նրանց տված յուրաքանչյուր թոքենը: Կապ հաստատեք՝ [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Շնորհակալություն Kimi (Moonshot AI)-ին՝ մեր հիմնադիր բաց կոդով ընկերոջը, այս նախագծին աջակցելու համար: Kimi-ն AI լաբորատորիան է, որը ստեղծել է բաց քաշով K2 և K3 մոդելների ընտանիքները. Kimi K3-ն ապահովում է 1M-թոքեն համատեքստային պատուհան, բնիկ տեսողություն և առաջնակարգ կոդավորում փակ մոդելների գների մի մասով, և աշխատում է Claude Code-ի, Codex-ի և OmniRoute-ի կողմից սպասարկվող յուրաքանչյուր կոդավորման գործիքի հետ:
Ինչ է ապահովում Kimi-ի աջակցությունը. Kimi-ի API վարկերը սնուցում են OmniRoute-ի AI-ով վավերացված թողարկման խողովակաշարը՝ Kimi K3-ով սնուցվող միաձուլման վավերացման փուլը, որը վերանայում է յուրաքանչյուր քաշման հարցում մինչև դրա առաքումը, գումարած ամենօրյա ֆունկցիոնալության մշակումը: Առաջին կարգի Kimi աջակցությունն ապահովվում է երկու ուղղություններով՝ ուղղակի Kimi API (kimi-k3) և Kimi Code կոդավորման պլան (OAuth և API բանալի): OmniRoute-ն նաև առաջին բրազիլական բաց կոդով նախագիծն է Kimi-ի աջակցության ծրագրում: Ստացեք Kimi API բանալի 15% լրացուցիչ վարկերով →
Ավելի էժան ինֆերենցիա cheaperinference.com
Շնորհակալություն Cheaper Inference-ին՝ OmniRoute-ի բաց կոդով ընկերոջը, այս նախագծին աջակցելու համար: Cheaper Inference-ը ծախսերով դասակարգված դարպաս է, որը վերավաճառում է 42 առաջնակարգ մոդելներ՝ Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok և MiniMax՝ մեկ OpenAI-ի հետ համատեղելի վերջնակետի հետևում, յուրաքանչյուր հարցում ուղղելով ամենաէժան համապատասխան մատակարարին՝ երբեք չգանձելով մոդել ստեղծողի ցուցակային գնից բարձր:
Առաջին կարգի աջակցություն OmniRoute-ում. Զրույցի ավարտներ, բնիկ /v1/responses վերջնակետ, տեսողություն, գործիքների կանչում և 3 պատկերային մոդել (grok-imagine, nano-banana-pro, nano-banana-2, հասանելի որպես cheaperinference/<model>): Ստացեք API բանալի →
aff=omniroute պիտակով հղումները գործընկերային հղումներ են: Դրանք ֆինանսավորում են նախագիծը առանց ձեզ համար լրացուցիչ ծախսերի: 🎟️ Աֆիլիատների պրոմո — անվճար գրանցման կտրոններ մատակարարներից, որոնց մենք չենք հովանավորում (սեղմեք՝ ընդլայնելու համար)Այս բաժինը միայն ուղղորդման/կտրոնների կոդերի համար է: Հովանավորվող գործընկերությունները գտնվում են վերևում՝ 🤝 Աջակցվում է մեր բաց կոդով ընկերների կողմից բաժնում: OmniRoute-ը չունի հովանավորություն կամ գործընկերություն այստեղ նշված մատակարարների հետ. սրանք հանրային կտրոններ են, որոնք յուրաքանչյուրը կարող է օգտագործել:
AgentRouter agentrouter.org
AgentRouter — աֆիլիատի գրանցում · $100 անվճար վարկեր գրանցվելիս (անվճար սերվեր, ակնկալեք ավելի բարձր ուշացում՝ լավագույնը թեստավորման համար, ոչ արտադրության): Առաջին կարգի աջակցություն OmniRoute-ում v3.8.50-ից սկսած. Զրույցի ավարտներ, Anthropic-ի հետ համատեղելի մետաղալարային ձևաչափ և OpenAI-ի հետ համատեղելի ուղի: Հասանելի մոդելները ներառում են claude-opus-4-8, claude-opus-5, gpt-5.6-sol և այլն: Ստացեք ձեր $100 →
⚠️ Աֆիլիատի հղում — OmniRoute-ը չունի հովանավորություն կամ գործընկերություն այս մատակարարի հետ:
Գիտե՞ք մեկ այլ մատակարարի, որն ունի առատաձեռն անվճար գրանցման կտրոն, որը օգուտ է բերում OmniRoute-ի օգտատերերին: Բացեք խնդիր, և մենք այն կավելացնենք այստեղ:
## 🎯 Կոմբինացիաներ — առաջատար հնարավորությունը
> **Կոմբինացիան** մոդելների շղթա է, որոնց միջև OmniRoute-ն երթուղավորում է **ինքնաբերաբար**։ Եթե քվոտան սպառվում է, մատակարարը խափանվում է կամ ծախսերը կտրուկ աճում են, կոմբինացիան կարող է անցնել հաջորդ համապատասխան ու անխափան աշխատող մոդելին։ 🛡️
### ⚡ Առանց կազմաձևման՝ պարզապես օգտագործեք `auto`
Կոմբինացիա ստեղծելու կարիք չկա։ Ձեր մոդելը սահմանեք որպես `auto` (կամ դրա տարբերակներից մեկը), և OmniRoute-ը ձեր միացված մատակարարներից կկառուցի վիրտուալ կոմբինացիա՝ իրական ժամանակում գնահատելով դրանք.
Մոդելի ID
Ինչի համար է այն օպտիմալացվում
auto
🎯 Հավասարակշռված լռելյայն տարբերակ (LKGP՝ պահպանում է կապը ձեր վերջին հաջող մատակարարի հետ)
auto/coding
🧑💻 Կոդի գեներացման համար որակն առաջնահերթ համարող կշիռներ
auto/fast
⚡ Նախ՝ ամենացածր ուշացումը
auto/cheap
💰 Նախ՝ յուրաքանչյուր թոքենի ամենացածր արժեքը
auto/subscription
🎟️ Միայն բաժանորդագրության այն քվոտան, որի համար արդեն վճարում եք՝ խափանման դեպքում փակվում է և երբեք չի անցնում վճարովի պահուստային տարբերակի (ուղեցույց)
auto/thrifty
🪜 Նախ՝ փաթեթի քվոտան, այնուհետև աստիճանաբար անցում ամենաէժան վճարովի տարբերակներին՝ վերադառնալով փաթեթին քվոտայի վերականգնումից հետո (ուղեցույց)
auto/offline
🔋 Նախ՝ քվոտայի / արագության սահմանաչափի ամենամեծ պաշարը
auto/smart
🔭 Նախ՝ որակը + 10% հետազոտում՝ ավելի լավ մոդելներ հայտնաբերելու համար
auto/lkgp
📌 Բացահայտ ամրագրում վերջին հայտնի հաջող մատակարարին
auto/chaos
🧪 Զուգահեռ բաշխում մոդելների խմբին (յուրաքանչյուր մատակարարից՝ մեկական, լռելյայն՝ 5), որը վերադարձնում է մեկ պատասխան․ խմբի յուրաքանչյուր մոդելի համար կատարվում է մեկ վերին հոսքի կանչ, սա խափանումների ներարկում չէ
##
### 🔀 Կամ ստեղծեք ձերը՝ երթուղավորման 20 ռազմավարությամբ
Բոլոր **20** ռազմավարությունները՝ համադրեք ըստ ցանկության կոմբինացիայի յուրաքանչյուր քայլում.
#
Ռազմավարություն
Ինչ է այն անում
1
priority
Ըստ առաջին թիրախի դասավորված ցանկ՝ սպառել յուրաքանչյուրն ամբողջությամբ՝ հաջորդին անցնելուց առաջ 🥇
2
fill-first
Յուրաքանչյուր թիրախի քվոտան ամբողջությամբ լրացնել՝ հաջորդին անցնելուց առաջ
3
weighted
Կշռված պատահական ընտրություն՝ ըստ յուրաքանչյուր թիրախի կշռի
4
round-robin
Թիրախների հերթական շրջանցում
5
p2c
Բեռի պատահական հավասարակշռում՝ երկու ընտրության մեթոդով
Պատահական ընտրություն՝ առանց կրկնությունները հեռացնելու 🎲
9
cost-optimized
Նվազագույնի հասցնել յուրաքանչյուր հարցման $ արժեքը՝ ըստ կատալոգի ընթացիկ գնագոյացման 💸
10
headroom
Ընտրել ամենամեծ մնացորդային քվոտայով թիրախը
11
quota-weighted
Բաց թողնել սպառված հաշիվները, ապա ընտրել մնացած քվոտա ÷ ընթացիկ բեռ հարաբերությանը համամասնորեն․ առկա խոսակցությունները մնում են ամրագրված ⚖️
12
reset-window
Նախընտրել այն թիրախը, որի քվոտայի պատուհանն ամենաշուտն է վերականգնվում
13
reset-aware
Դասակարգել ըստ քվոտայի վերականգնման ժամանակի՝ նախ կարճ պատուհանները 📊
14
context-relay
Երկար խոսակցությունների համար համատեքստը փոխանցել թիրախների միջև 🧠
15
context-optimized
Ընտրել ընթացիկ համատեքստի չափին լավագույնս համապատասխանող տարբերակը
16
cache-optimized
Յուրաքանչյուր վերօգտագործելի հուշման նախածանց ամրագրել նույն հաշվին՝ առավելագույնի հասցնելով հուշումների քեշի համընկնումները 🎯
17
lkgp
Վերջին հայտնի հաջող ուղի՝ ամրագրում է վերջին հաջող մատակարարին, ապա անհրաժեշտության դեպքում անցնում կանոններով որոշվող պահուստային տարբերակներին
18
auto
Իրական ժամանակի 16-գործոն գնահատում բոլոր միացումների միջև 🤖
19
fusion
Բաշխում մոդելների խմբին + դատավոր, որը համադրում է մեկ պատասխան 🧬
20
pipeline
Քայլերի շղթա՝ յուրաքանչյուր թիրախի ելքը փոխանցվում է հաջորդին 🔗
Auto-Combo շարժիչը յուրաքանչյուր թեկնածուին գնահատում է **16 գործոնով** (աշխատունակություն, քվոտա, արժեք, ուշացում, առաջադրանքին համապատասխանություն, որակ, սեսիայի հասանելիություն…) — տե՛ս [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md)։
##
### 🧱 Դիմակայունությունը ներկառուցված է (3 անկախ շերտ)
📖 [Auto-Combo շարժիչ](docs/routing/AUTO-COMBO.md) · [Դիմակայունության ուղեցույց](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Ինչով է առանձնանում OmniRoute-ը
📊 Ամբողջական մեթոդաբանությունն ու յուրաքանչյուր հնարավորության մանրամասները՝ 9router-ի, OpenRouter-ի, CLIProxyAPI-ի և LiteLLM-ի համեմատությամբ → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Աջակցեք OmniRoute-ին
OmniRoute-ը տարածվում է MIT արտոնագրով և բաց կերպով սպասարկվում է։ Եթե այն խնայում է ձեր ժամանակը կամ գումարը, ահա թե ինչպես կարող եք օգնել, որ այն անկախ մնա․ ընտրեք ձեզ հարմար տարբերակը։ Հովանավորությունը երբեք չի ազդում երթուղավորման առաջնահերթության վրա․ այն ապահովում է տեսանելիություն, ոչ թե վարկանիշ։
⚠️ Յուրաքանչյուր արժույթ ուղարկեք միայն նշված ցանցով․ սխալ ցանցով ուղարկելու դեպքում միջոցները կարող են կորսվել։
🐛 Սխա՞լ եք գտել կամ կարծիք ունե՞ք։ Բացեք [քննարկում](https://github.com/diegosouzapw/OmniRoute/discussions)։
Նշումներ մշակողների համար․ Մշակողների հարմարության համար նախագիծը npm install/postinstall-ի ընթացքում կարող է ստեղծել տեղային .env ֆայլ։ Այս ֆայլը միտումնավոր անտեսվում է .gitignore-ի միջոցով (տես .gitignore) և երբեք չպետք է ներառվի commit-ում․ եթե այն պատահաբար ներառվել է, փոխարինեք բացահայտված բոլոր գաղտնիքները և հեռացրեք ֆայլը պատմությունից։ Տեղային միջավայրի ֆայլերի և գաղտնիքների կառավարման վերաբերյալ ուղեցույցը տեսեք docs/DEVELOPER-ENVIRONMENT.md-ում։
## 📡 OmniRoute Radar
Անվճար մակարդակի հիմնական ցուցանիշը շարունակում է մնալ **~1.62B տոկեն/ամիս**՝ համաձայն վերևում ներկայացված, ընդհանուր պաշարների կրկնօրինակումներից մաքրված կատալոգի։ Մատակարարների՝ գրանցման համար տրամադրվող ժամանակավոր կրեդիտները կարող են առաջին ամսվա ծավալն առանձին բարձրացնել մինչև **~2.22B**։ Radar-ը կամընտիր, ստորագրված կատալոգային վերադիր է նրանց համար, ովքեր ցանկանում են OmniRoute-ի թողարկումների միջև ընկած ժամանակահատվածում ավելի թարմ տեղեկություններ ստանալ անվճար մոդելների հասանելիության մասին․ համայնքային կատալոգը և առկա բոլոր անվճար գործառույթները շարունակում են մնալ անվճար։
Աջակիցները կարող են ստանալ ընթացիկ կատալոգը և օգտվել մատակարարների լրացուցիչ հնարավորություններից։ Դրա առանձին, փոփոխական առավելագույն սահմանաչափը **մոտավորապես առավելագույնը 3B տոկեն/ամիս է**՝ կախված մատակարարների հասանելիությունից։ Այդ սահմանաչափը երաշխիք չէ․ մատակարարները ցանկացած պահի կարող են փոխել քվոտաները, իրավասության չափանիշները, մոդելները կամ տարածաշրջանները։
Radar-ի օգտագործումը կամընտիր է, և այն աշխատում է միայն GET հարցումներով։ OmniRoute-ի հաճախորդը չի վերբեռնում հուշումները, թրաֆիկը, մատակարարների կազմաձևումները, օգտագործման հեռաչափությունը կամ հայտարարությունները փակելու տեղային վիճակը։ Իրավասության չափանիշների և ընթացիկ կատալոգի մասին տեղեկացեք **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)** հասցեում։
## ✨ Ինչ նորություն կա
> **v3.8.20 → v3.8.53** տարբերակների վերջին կարևոր փոփոխությունները։ Ամբողջական պատմությունը՝ [`CHANGELOG.md`](CHANGELOG.md) ֆայլում։
- **⚖️ `quota-weighted` երթուղում** — 20-րդ համակցված ռազմավարությունը բաց է թողնում սպառված հաշիվները, ապա մնացածներից ընտրում է մնացորդային քվոտա ÷ ընթացիկ բեռնվածություն հարաբերությանը համամասնորեն՝ պահպանելով առկա զրույցների ամրակցումը։ → [Ավտոմատ համակցում](docs/routing/AUTO-COMBO.md)
- **🧰 Անգլուխ ռեժիմ** — `omniroute serve --headless` հրամանը (կամ `OMNIROUTE_HEADLESS=1`) գործարկում է միայն `/v1/*` միջնորդային շարժիչը՝ անջատելով կառավարման վահանակը և միայն վահանակին վերաբերող ենթահամակարգերը։ → [Անգլուխ ռեժիմ](docs/guides/HEADLESS.md)
- **🔎 Մոդելների հայտնաբերում** — `/v1/models`-ը զտում է ըստ հնարավորության, համատեքստի, տեսակի և տեքստի, իսկ `POST /v1/models/query`-ն վերադարձնում է կարճ, դետերմինիստական ընտրանի՝ յուրաքանչյուր բանալու համար նույն տեսանելիությամբ։ → [API տեղեկատու](docs/reference/API_REFERENCE.md)
- **🔑 Յուրաքանչյուր բանալու երթուղման կառավարում** — API բանալին ամրակցեք մեկ մոդելի կամ համակցման՝ `forcedModel`-ի միջոցով, ինչպես նաև ատոմար կերպով ավելացրեք կամ հեռացրեք բանալու մոդելներն ու համակցումները (`/api/keys/{id}/access`)։ → [API տեղեկատու](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ PII-ի ավելի ճշգրիտ կառավարում** — ընտրություն ըստ տեսակի, մինչև 20 վավերացված հատուկ քողարկման ձևանմուշ և հայտնաբերման հաշվիչներ ըստ տեսակի․ քողարկումն ինքնին շարունակում է պահանջել կամավոր միացում։ → [Պաշտպանիչ սահմանափակումներ](docs/security/GUARDRAILS.md)
- **🌍 67 լեզու** — կառավարման վահանակ, փաստաթղթերի հայելիներ և CLI, ընդ որում `npm run i18n:add-locale` հրամանը մեկ քայլով ամենուր ավելացնում է լեզու։ → [i18n ուղեցույց](docs/guides/I18N.md)
- **🎛️ OmniConductor** — մուտքային A2A պատվիրակում ձեր գործակալների խմբին, Conductor-ի հմտություններ Agent Card-ում և կառավարման վահանակի վահանակամաս՝ Faro-ի «սեղմիր և խոսիր» ձայնային զրույցով։ → [A2A սերվեր](docs/frameworks/A2A-SERVER.md)
- **🛂 Հարմարվողական ընդունում և գերբեռնվածությունից պաշտպանություն** — մեծածավալ զրույցի հարցումները 503 սխալ վերադարձնելու փոխարեն հերթագրվում են՝ յուրաքանչյուր կապի համար RPM-ի ատոմար սահող վարձակալումներով։ → [Կայունության ուղեցույց](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ `/v1/models`-ի կանոնական դասավորում** — յուրաքանչյուր մատակարարի համար մեկ անընդհատ, ըստ մատակարարի խմբավորված բլոկ (համակցումները՝ սկզբում ամրակցված), որը կայուն է կատալոգի բոլոր աղբյուրներում։ → [API տեղեկատու](docs/reference/API_REFERENCE.md)
- **🗜️ Սեղմման ամրապնդում** — լռելյայն միացված ընդարձակման պաշտպանիչ սահմանափակում, Caveman փաթեթներ DE / FR / JA + չինարենի (wényán) համար, RTK զտիչներ Gradle-ի և .NET-ի համար։ → [Սեղմում](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Ազնիվ հաստատագրված արժեք** — բաժանորդագրության / կոդավորման պլանի մատակարարների արժեքը վերլուծական տվյալներում նշվում է որպես **$0**, մինչդեռ բյուջեն, քվոտան և երթուղումը շարունակում են գնահատվել։ → [API տեղեկատու](docs/reference/API_REFERENCE.md)
- **⚖️ Քվոտայի համատեղ օգտագործմամբ երթուղում** — ընդհանուր հաշվի քվոտան արդարացիորեն բաժանեք միավորված բանալիների միջև՝ պահպանելով աշխատանքի արդյունավետությունը, որպեսզի չօգտագործվող բաժինները ժամանակավորապես տրամադրվեն մյուսներին։ → [Կայունության ուղեցույց](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 CLI-ի/գործակալի կարգավորում մեկ հրամանով** — գրանցված 15 `setup-*` հրաման․ `omniroute run`-ը գործարկում է 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI), իսկ `omniroute configure`-ն աջակցում է 11 թիրախ՝ մատակարարի և մոդելի ինտերակտիվ ընտրիչով ու յուրաքանչյուր համատեքստի նախընտրելիներով։ → [CLI ինտեգրումներ](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Հեռակա ռեժիմ** — կառավարեք հեռակա OmniRoute-ը սահմանափակված գործողության տիրույթով տոկենների (`connect` / `contexts` / `tokens`) և VPS տեղադրումների համար նախատեսված `antigravity` OAuth օգնականի միջոցով։ → [Հեռակա ռեժիմ](docs/guides/REMOTE-MODE.md)
- **🧭 Ավելի խելացի ավտոմատ երթուղում** — `auto/:` համակցումներ, **Fusion** (մոդելների վահանակ + դատավոր), առաջադրանքը հաշվի առնող երթուղում, յուրաքանչյուր հարցման համար մոդելի / ռեժիմի / USD բյուջեի վերասահմանումներ։ → [Ավտոմատ համակցում](docs/routing/AUTO-COMBO.md)
- **🗜️ Ընդլայնելի սեղմում** — համադրվող 12 շարժիչ + Compression Studios՝ LLMLingua-2, երկաստիճան Ultra, omniglyph, յուրաքանչյուր քայլի ճշգրտության սահմանիչ, GCF v3.2, քաշելով վերադասավորելու խմբագրիչ։ → [Սեղմում](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Թափանցիկ MITM վերծանում (TPROXY)** — որսացեք պրոքսիի միջավայրի փոփոխականներն անտեսող CLI-ները՝ յուրաքանչյուր SNI-ի համար առանձին CA-ով և վստահության պահոցի տեղադրիչով։ → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Արժեքի հեռաչափություն ամենուր** — `X-OmniRoute-*` արժեքի/օգտագործման վերնագրեր յուրաքանչյուր վերջնակետում, cache-HIT խնայողությունների վերնագիր և յուրաքանչյուր բանալու համար USD ծախսի քվոտաներ։ → [API տեղեկատու](docs/reference/API_REFERENCE.md)
- **🧠 Ձեր կողմից կառավարվող հիշողություն** — լռելյայն անջատված, կամավոր միացվող int8 վեկտորային քվանտացում + տիպավորված մարում, յուրաքանչյուր հարցման համար՝ `x-omniroute-no-memory`։ → [Հիշողություն](docs/frameworks/MEMORY.md)
- **🛡️ Անվտանգություն** — հուշման ներարկումից պաշտպանություն յուրաքանչյուր LLM երթուղում (red-team թեստերի հավաքածու), կամավոր միացվող հավատարմագրերի քողարկման պաշտպանիչ սահմանափակում (երկու ուղղությամբ էլ թաքցնում է արտահոսած API բանալիները/գաղտնիքները), DuckDuckGo-ի անվճար վեբ որոնում՝ որպես վերջին միջոց, և կառավարման վահանակի համար ընտրովի OIDC մուտքի սահմանափակում (գաղտնաբառով մուտքը միշտ հասանելի է մնում)։ → [Պաշտպանիչ սահմանափակումներ](docs/security/GUARDRAILS.md)
- **🖼️ Նոր վերջնակետեր** — `/v1/ocr` (Mistral OCR) և `/v1/audio/translations` (Whisper ոճով) լրացնում են մեդիա հնարավորությունների շրջանակը։ → [API տեղեկատու](docs/reference/API_REFERENCE.md)
- **🎨 Պատկերների / տեսանյութերի / ձայնանյութերի գեներացում** — մեկ API մեդիայի համար՝ xAI Grok Imagine և Novita AI տեսանյութեր, ComfyUI, Magnific, Adobe Firefly, Segmind և խոսքի մատակարարներ, ինչպիսին է ElevenLabs-ը։ → [API տեղեկատու](docs/reference/API_REFERENCE.md)
- **🌍 Տեղակայում և շահագործում** — հակադարձ պրոքսիի `basePath`, դիտարկիչի լեզվի ավտոմատ հայտնաբերում, սարքերի հետևում ըստ բանալու, առանց root-ի MITM վստահություն, zh-TW տեղայնացում։ → [Միջավայր](docs/reference/ENVIRONMENT.md)
- **🤝 Ավելի շատ մատակարարներ և գործակալներ** — ամպային գործակալներ (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI)՝ դիտարկիչով և OAuth մուտքով, Ollama-ի լիարժեք քարտ, Claude Opus 5 և Sonnet 5, պաշտոնական համագործակցություն Kimi-ի հետ (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… և թարմացված **375 մատակարարից բաղկացած կատալոգ**։ → [Մատակարարներ](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Երթուղման թափանցիկություն** — յուրաքանչյուր պատասխան պարունակում է `X-OmniRoute-Decision` վերնագիր, որը նշում է այն սպասարկած ռազմավարությունը/մատակարարին/ուշացումը, նոր `cache-optimized` համակցման ռազմավարությունը և Auto-Combo-ի `cacheAffinity` գործոնը կրկնվող հարցումները վերադարձնում են քեշավորված նախածանցը պահող կապին, իսկ միայն ընթերցման համար նախատեսված `/v1/auto-combo/{channel}/candidates` վերջնակետը ցուցադրում է `auto/*` ալիքի ընթացիկ թեկնածուների հավաքածուն։ → [Ավտոմատ համակցում](docs/routing/AUTO-COMBO.md)
- **⚡ Տեղական արտադրողականություն և ենթակառուցվածք** — մեկ սեղմումով տեղական Redis, Cloudflare Workers / Deno Deploy ռելեների տեղակայիչներ, Bifrost և Mux՝ որպես վերահսկվող ներկառուցված ծառայություններ։ → [Ներկառուցված ծառայություններ](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Նաև փաթեթում** — փլագինների շրջանակ + մարքեթփլեյս, Omni/Agent/GitHub հմտությունների շրջանակներ, Obsidian պահոցի ինտեգրում (22 MCP գործիք), OpenAI-համատեղելի Batch & Files API-ներ, իմաստային պատասխանների քեշ, գեյմիֆիկացիա առաջատարների աղյուսակներով, ACP գործակալների հայտնաբերում (15 ներկառուցված գործակալ), մատյանների պլանավորված արտահանում BigQuery, `auto/chaos` զուգահեռ բազմամոդելային fan-out, Telegram բոտի կամուրջ, հավելվածի ներսում տարբերակների կառավարիչ և LMArena-ELO անվճար մատակարարների վարկանիշներ։ → [Փաստաթղթեր](docs/README.md)
## 🤖 Համատեղելի CLI-ներ և կոդավորման գործակալներ
> Մեկ կազմաձևում՝ `http://localhost:20128/v1`, և **յուրաքանչյուր** AI IDE կամ CLI աշխատում է անվճար ու ցածրարժեք մոդելներով։
+ նաև աշխատում է հետևյալների հետ · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · OpenAI-ի հետ համատեղելի ցանկացած գործիք
📖 Յուրաքանչյուր գործիքի կարգավորում բոլոր 37 գործիքների համար (27 CLI Code + 10 CLI գործակալ) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode հավելում → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Գործարկեք աջակցվող ցանկացած CLI OmniRoute-ի միջոցով՝ մեկ հրամանով** — առանց կազմաձևման ֆայլեր ստեղծելու,
հավաստագրերը ներարկվում են յուրաքանչյուր գործընթացի համար, իսկ Qwen/Gemini-ն ստանում են ժամանակավոր մեկուսացված տնային պանակ․
```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"
# Կամ ինտերակտիվ կերպով ընտրեք մատակարարն ու մոդելը և ստեղծեք գործիքի սեփական կազմաձևումը․
omniroute configure codex # նաև՝ claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Յուրաքանչյուր հրաման հաշվի է առնում ակտիվ հեռակա համատեքստը (`omniroute connect `), `--dry-run`-ը
նախապես ցուցադրում է ճշգրիտ միջավայրի փոփոխականներն ու արգումենտները՝ առանց գործարկման, իսկ `--api-key-env NAME`-ը գաղտնիքները չի պահում
ձեր shell-ի պատմության մեջ։ → [CLI ինտեգրումներ](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 AI մատակարար — 153-ը կատալոգում նշված են որպես անվճար
> **375 գրանցված մատակարար**՝ ըստ կանոնական chat, media, search, local, cloud-agent և system հավաքածուների, ներառյալ **153-ը, որոնք կրում են `hasFree: true` հայտնաբերման մետատվյալներ**։ Chat մոդելների ռեեստրը ընդգրկում է **239 մատակարար / 3,059 տարբեր մատակարար-մոդել զույգ / 1,475 հում մոդել ID**; առանձին անվճար բյուջեի կատալոգն ունի **467 տող մեկ մոդելի համար**, **34 կրկնվող փուլ** և **51 կրկնվող/առանց բանալու ընդմիշտ անվճար մատակարար**։ Սրանք տարբեր հայտարարներ են ըստ նախագծման. սահմանումները և փուլերով ապակրկնօրինակված հաշվարկները գտնվում են [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) և [Free Tiers](docs/reference/FREE_TIERS.md) փաստաթղթերում։
### 🏢 Բոլոր խոշոր լաբորատորիաները՝ մեկ վերջնակետով
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…և ևս 350+ — յուրաքանչյուր պատկերանշան իրական ժամանակում լուծվում է վահանակի մատակարարների կատալոգից։ 📖 [Provider Reference](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Ընդմիշտ անվճար — $0, առանց քարտի
OpenCode Zen DeepSeek V4, Nemotron 3 Առանց token-ների սահմանափակման
Kilo Code Auto-router, Tencent Hy3 Ընդմիշտ անվճար
Requesty GPT-OSS 120B, Nemotron Ընդմիշտ անվճար
SiliconFlow DeepSeek V3.2 / R1 Անվճար փաթեթ
Z.AI GLM GLM-4.7 / 4.5-Flash Ընդմիշտ անվճար
Baidu ERNIE ERNIE 4.0 Ընդմիշտ անվճար
Qoder AI Qwen3-Max, Kimi-K2 Անսահմանափակ ԱՆՎՃԱՐ
Pollinations GPT, Llama, Claude Բանալին պետք չէ
Cloudflare AI 50+ մոդել 10K neurons/օր
NVIDIA NIM GLM, MiniMax ~40 RPM անվճար
Cerebras GLM 4.7, GPT-OSS Միանվագ $5 վարկ; քարտը պարտադիր է
OpenRouter :free մոդելներ +$10 → ավելի բարձր RPM
📖 Ամբողջական մեքենայաընթեռնելի կատալոգ → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Որտեղ է աշխատում OmniRoute-ը՝ ամենուր
> Նույն հավելվածը, ձեր սարքը, ձեր կանոնները։ Համընդհանուր npm տեղադրումից մինչև **ձեր հեռախոսը**՝ Termux-ի միջոցով։
Հարթակ
Տեղադրում
Առավելություններ
📦 npm (համընդհանուր)
npm install -g omniroute
Մեկ հրաման, ցանկացած ՕՀ
🐳 Docker
docker run … diegosouzapw/omniroute
Բազմաճարտարապետական՝ AMD64 + ARM64
🖥️ Աշխատասեղանային (Electron)
npm run electron:build
Բնիկ պատուհան + համակարգային սկուտեղ՝ Windows / macOS / Linux
🎩 Ընտրացանկի գոտի (OmniRouteTray)
brew install --cask zoispag/tap/omniroute-tray
Վերահսկում և ինքնաշխատ թարմացնում է սերվերը՝ macOS
💪 ARM
բնիկ arm64
Raspberry Pi, ARM սերվերներ, Apple Silicon
📱 Android (Termux)
pkg install nodejs && npx -y omniroute
Աշխատում է ձեր հեռախոսում, շուրջօրյա, առանց root-ի
📲 PWA
«Ավելացնել գլխավոր էկրանին»
Ամբողջ էկրանով, անցանց, դիտարկիչից տեղադրվող
🧩 OpenCode հավելում
@omniroute/opencode-provider
Բնիկ OpenCode ինտեգրում
🤖 VS Code Copilot Chat
տեղադրեք OmniCopilot ընդլայնումը
OmniRoute-ի բոլոր մոդելները Copilot Chat-ի բնիկ ընտրիչում՝ կայուն և Insiders տարբերակներում
### 🧩 Նորություն․ OmniRoute-ը՝ VS Code-ի բնիկ Copilot Chat-ում
> Ո՛չ նոր կողագոտի, ո՛չ նոր զրույցի միջերես․ OmniRoute-ի տրամադրած յուրաքանչյուր մոդել հայտնվում է հենց
> **Copilot Chat-ի՝ ձեր արդեն օգտագործած մոդելների ընտրիչում**։ VS Code 1.122-ից սկսած՝ մատակարարների մոդելներն աշխատում են
> առանց GitHub մուտքի կամ Copilot բաժանորդագրության՝ գործակալի ռեժիմ, գործիքների կանչում և տեսողական մշակում՝
> անվճար։
Տեղադրեք **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** ընդլայնումը, ուղղեք այն
ձեր OmniRoute սերվերին (լռելյայն՝ `localhost:20128`), ապա բացեք Copilot Chat → մոդելների ընտրիչ
→ **Կառավարել մոդելները…** → **OmniRoute**։
Խմբագրիչի ներսում բացեք **Ընդլայնումներ** տեսքը, որոնեք **«OmniRoute»**, սեղմեք **Տեղադրել**
․ երկու շտեմարաններում էլ այն աշխատում է նույն կերպ։ Սկզբնաղբյուրը, խնդիրները և հրապարակման գործակարգը հասանելի են
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot) հասցեում։
📖 [VS Code Copilot Chat-ի ուղեցույց](docs/guides/VSCODE-COPILOT.md) — կարգավորում, ընտրիչում ցուցադրվող տվյալներ, կառավարման վահանակը ներդիրում, խնդիրների լուծում
> `omniroute serve`-ն առավել լավ է աշխատում, երբ միշտ միացված է։ **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> այն վերածում է macOS-ի՝ մեկ անգամ կարգավորվող և այլևս ուշադրություն չպահանջող ընտրացանկի գոտու հավելվածի․ այն գործարկում է սերվերը, շարունակում աշխատեցնել այն
> վերագործարկումներից հետո, տեղում թարմացնում է այն և մեկ սեղմումով հասանելի է դարձնում ձեր ընթացիկ տոկենների բյուջեն՝ **առանց
> բաց թողնված տերմինալի պատուհանի և առանց մշտապես վերահսկվող `npm install -g omniroute`-ի։**
Կառուցված լինելով [Tauri v2](https://v2.tauri.app/)-ով (Rust միջուկով, որի չափը գրեթե աննշան է)՝ այն ներառում է
իր սեփական ստորագրված Node 24 գործարկման միջավայրը և կառավարում հավելվածին պատկանող OmniRoute տեղադրումը, ուստի երբեք չի հակասում ձեր
համընդհանուր `node`/`bun`-ին։ Այն **օգտագործում է ձեր առկա `~/.omniroute/` կազմաձևը և տվյալների բազան**․ այսպիսով, դա
նույն OmniRoute-ն է, որն արդեն գործարկում եք, պարզապես՝ գլխարկով։ 🎩
Ինչ է այն անում
Ինչպես
🟢 Վերահսկում է սերվերը
Ստեղծում է omniroute serve գործընթաց, իսկ արդեն աշխատող օրինակը կրկնօրինակելու փոխարեն՝ ընդունում է այն
Փուլային տեղադրում, ատոմային փոխարինում, ձախողման դեպքում հետադարձում՝ միշտ ամենանոր թողարկմամբ
🚀 Գործարկում մուտք գործելիս
Ընտրովի գործարկում մուտք գործելիս․ միայն սկուտեղում, առանց dock պատկերակի
🩺 Ստուգում և մատյաններ
Մեկ սեղմումով ախտորոշում և հասանելիություն սերվերի մատյաններին
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Նախընտրո՞ւմ եք ներբեռնել։ Վերջին .dmg-ը վերցրեք
Թողարկումներ բաժնից։ Սկզբնաղբյուրի կոդը, խնդիրները և հավաքման
փաստաթղթերը հասանելի են zoispag/omniroute-tray-ում։
💛 @zoispag-ի համայնքային նախագիծ է, ոչ թե OmniRoute-ի պաշտոնական թողարկում։
> Բացի սերվերից, OmniRoute-ը **հրամանային տողի լիարժեք կառավարման վահանակ** է՝ **80+ հրամաններով**, ինչպես նաև գործակալների բաց արձանագրություններով, որպեսզի AI գործակալը կարողանա այն կառավարել **ինքնուրույն**։
### ⌨️ Իրական CLI (ոչ միայն `start`)
```bash
omniroute # գործարկել gateway-ը և կառավարման վահանակը (պորտ 20128)
omniroute chat # ինտերակտիվ TUI զրույցի հաճախորդ (slash հրամաններ՝ /model /combo /skill /memory)
omniroute setup # առաջին գործարկման քայլ առ քայլ օգնական
omniroute doctor # ախտորոշել մատակարարները, պորտերը և բնիկ կախվածությունները
```
### 🛰️ Հեռակա ռեժիմ — CLI-ն գործարկեք այստեղ, իսկ OmniRoute-ը՝ VPS-ում
OmniRoute-ը սերվերի՞ վրա է։ Կառավարեք այն ձեր նոութբուքից՝ օգտագործելով **նույն CLI-ն**։ Մուտք գործեք մեկ անգամ
սահմանափակ իրավասություններով հասանելիության token-ով, որից հետո յուրաքանչյուր հրաման կուղղվի հեռակա սերվերին։
```bash
omniroute connect 192.168.0.15 # գաղտնաբառ → սահմանափակ իրավասություններով token, պահպանվում է որպես context
omniroute models # ← գործարկվում է ՀԵՌԱԿԱ սերվերի վրա
omniroute configure codex # ← ընտրում է հեռակա model և գրում տեղային Codex profile
omniroute tokens create --name ci --scope read # ստեղծում է ավելի նեղ իրավասություններով token-ներ այլ մեքենաների համար
omniroute contexts use default # ← վերադառնալ տեղային սերվերին
```
Token-ների իրավասություններն են՝ `read` / `write` / `admin`, իսկ գործընթացներ գործարկող route-երը հասանելի են միայն loopback-ից։
📖 [Հեռակա ռեժիմ](docs/guides/REMOTE-MODE.md)
### 🤝 Միացրեք գործակալ — և այն ինքնուրույն կկառավարի OmniRoute-ը
Հասանելի դարձրեք OmniRoute-ը **MCP**, **A2A**, **REST API**, **webhooks** կամ **հեռակա CLI** միջերեսներով, և ցանկացած ունակ գործակալ (կամ ձեր սեփական կոդը) կստանա ամբողջ gateway-ը՝ routing-ը, մատակարարները, combo-ները, cache-ը, compression-ը և memory-ն ինքնավար կառավարելու հնարավորություն։ Ստորև նշված HTTP endpoint-ները հասանելի են `http://localhost:20128` հասցեում։
Միջերես
Endpoint / հրաման
Օգտագործման նպատակ
🧰 MCP (stdio)
omniroute --mcp
Միացրեք Claude Desktop-ին, Cursor-ին կամ ցանկացած MCP client-ի
🌊 MCP (HTTP)
/api/mcp/stream
Հեռակա MCP՝ 110 գործիք, 33 scope (կիրարկումը միացվում է ըստ ցանկության), ամբողջական audit trail
OpenAI-ի հետ համատեղելի՝ զրույց, embeddings, պատկերներ, աուդիո, OCR
🔔 Webhooks
/api/webhooks
Ուղարկեք request-ի / quota-ի իրադարձությունները Slack, Discord, Telegram կամ ցանկացած URL
🛰️ Հեռակա CLI
omniroute connect
Կառավարեք հեռակա instance-ը սահմանափակ իրավասություններով հասանելիության token-ների միջոցով
```bash
# MCP-ի միջոցով Claude Code-ին տրամադրեք OmniRoute-ի գործիքների ամբողջական հավաքածուն.
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [MCP սերվեր](docs/frameworks/MCP-SERVER.md) · [A2A սերվեր](docs/frameworks/A2A-SERVER.md) · [Գործակալների արձանագրություններ](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Խնայեք 15–95% թոքեններ — ավտոմատ
### 📖 Ինչպես է աշխատում — փայփլայն, ճարտարապետություն և խնայողության հաշվարկ
Լռելյայն կուտակային կոմբոն գործարկում է `RTK → Caveman`: Երբ երկուսն էլ ազդում են նույն գործիքի/կոնտեքստի բեռնվածքի վրա, խնայողությունները բարդանում են.
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Կոդի բլոկները, URL-ները, JSON-ը և կառուցվածքային տվյալները **միշտ պաշտպանված են** պահպանման շարժիչի կողմից։
> **Ինչու՞ օգտագործել շատ թոքեններ, երբ քիչ թոքենները բավարարում են։** Յուրաքանչյուր հարցում անցնում է OmniRoute-ի սեղմման փայփլայնով **թափանցիկ կերպով**՝ առանց հաճախորդի փոփոխությունների։ Այն այժմ **12 կոմպոզիցիոն շարժիչների փաթեթ է**, որոնք գործում են հերթականությամբ և խառնվում ու համադրվում են ըստ երթուղման կոմբոյի՝ հիմնվելով [RTK](https://github.com/rtk-ai/rtk)-ի, [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua)-ի և [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR)-ի գաղափարների վրա։
### 🧱 12 շարժիչների փաթեթը
Շարժիչները գործում են փայփլայնի հերթականությամբ. յուրաքանչյուրը ինքնուրույն միացվող և կարգավորվող է՝ ըստ կոմբոյի։
#
Շարժիչ
Ինչ է անում
1
Session-Dedup
Հեռացնում է հերթափոխերի ընթացքում կրկնվող բովանդակությունը (բովանդակության հասցեավորված, միջհերթափոխային)
2
CCR
Արխիվացնում է մեծ բլոկները վերականգնման նշիչների հետևում՝ բերվող ըստ պահանջի
Գործիքների արդյունքների խելացի զտում, ապակրկնօրինակում և կրճատում (հրամանին տեղյակ)
5
Responses Tool Output
Առաջին հերթին անկորուստ JSON + սահմանափակ ախտորոշիչ սեղմում shell/patch/search/build ելքերի համար (Responses API)
6
Headroom
JSON զանգվածների անկորուստ աղյուսակային խտացում (~30%) ներկառուցված GCF կոդեկի միջոցով
7
Relevance
Էքստրակտիվ նախադասությունների գնահատում վերջին օգտատերական հարցման նկատմամբ
8
Caveman
Կանոնների վրա հիմնված արձակի սեղմում (~65–75% ելքի վրա)
9
Aggressive
Ամփոփում + հին հերթափոխերի աստիճանական հնացում
10
LLMLingua-2
ML իմաստային էտում MobileBERT ONNX-ի միջոցով — կոդի համար անվտանգ, ասինխրոն
11
Ultra
Էվրիստիկ թոքենների էտում՝ փոքր մոդելի (SLM) ըստ ցանկության մակարդակով
12
OmniGlyph
Փորձարարական կոնտեքստ-որպես-պատկեր կոդավորում՝ չափված Claude Fable 5-ի համար ուղիղ Anthropic մետաղալարով. GPT 5.6 տրանսֆորմերները մնում են fail-closed՝ սպասելով մատակարարի անդորրագրերին։ Չորս սեղմման պրոֆիլ (ագրեսիվ լռելյայն, հավասարակշռված, կոդի համար անվտանգ, passthrough) (ամենաագրեսիվը. opt-in)
Կոդի բլոկները, URL-ները և կառուցվածքային տվյալները **միշտ պահպանվում են** բայթ-կատարյալ։ **Մեկ սեղմումով նախակարգավորումները** համադրում են շարժիչները.
Ռեժիմ
Խնայողություն
Լավագույնը
🪶 Lite
~15%
Մշտապես միացված անվտանգ լռելյայն
🪨 Standard (Caveman)
~30%
Ամենօրյա ծրագրավորում
⚡ Aggressive
~50%
Երկար գործիքակենտրոն սեսիաներ
🔥 Ultra
~75%
Առավելագույն խնայողություն
🧰 RTK
60–90%
Shell/test/build/git ելք
🔗 Stacked (RTK → Caveman)
78–95%
Խառը հուշումներ + գործիքների մատյաններ
**Իրական օրինակ — Standard ռեժիմ:**
> **Մինչև (69 թոքեն).** _"Ձեր React կոմպոնենտի վերայիրկման պատճառը, հավանաբար, այն է, որ դուք յուրաքանչյուր ցուցադրման ցիկլում ստեղծում եք նոր օբյեկտի հղում։ Երբ որպես prop փոխանցում եք inline օբյեկտ, React-ի մակերեսային համեմատությունը այն տեսնում է որպես տարբեր օբյեկտ ամեն անգամ, ինչը հրահրում է վերայիրկում։ Խորհուրդ եմ տալիս օգտագործել useMemo՝ օբյեկտը մեմոիզացնելու համար։"_
>
> **Հետո (19 թոքեն).** _"Նոր օբյեկտի հղում յուրաքանչյուր ցուցադրման ժամանակ։ Inline օբյեկտ prop = նոր հղում = վերայիրկում։ Փաթաթեք useMemo-ով։"_
>
> **Նույն պատասխանը։ 72%-ով քիչ թոքեններ։ Զրո ճշգրտության կորուստ։** ✅
**PT-BR օրինակ — [Troglodita](https://github.com/leninejunior/troglodita) ռեժիմ.**
> **Առաջ (42 tokens):** _"Խնդիրն այն է, որ կոմպոնենտը կրկին ռենդերվում է, քանի որ յուրաքանչյուր ռենդերի ցիկլում ստեղծվում է օբյեկտի նոր հղում։ Ես խորհուրդ կտայի օգտագործել useMemo։"_
>
> **Հետո (12 tokens):** _"Վերա-ռենդեր՝ նոր հղում ամեն ցիկլում (inline օբյեկտը վերստեղծվում է)։ Օգտագործել `useMemo`։"_
>
> **Նույն պատասխանը։ ~70%-ով պակաս tokens։ Տեխնիկական ճշգրտությունը անփոփոխ։** ✅
### 🎚️ Շարժիչներից այն կողմ — ելքի ոճեր, հարմարվող կարգավորիչ և հարցում-առ հարցում կառավարում
Վերևի 12 շարժիչները նվազեցնում են այն, ինչ **մտնում է**։ Եվս երեք շերտ ձևավորում են **ինչպես**, **երբ** և ինչ է **դուրս գալիս**։
- **🪄 Ելքի ոճեր** _(ելքի առանցքի կառավարում)_ — ներարկում են դետերմինիստական, քեշի համար անվտանգ պատասխան-ձևավորող հրահանգներ. համակցելի են, յուրաքանչյուրը՝ `lite` / `full` / `ultra` ինտենսիվությամբ։ Ոճ ավելացնելը ռեեստրի մեկ տողանոց գրառում է.
- **Հակիրճ արձակ** — հեռացնել լցոնը / հոդերը / երկմտանքը. պահել տեխնիկական էությունը ճշգրիտ։
- **Ավելի քիչ կոդ** — «ծույլ ավագ ծրագրավորող» YAGNI. ամենափոքր աշխատող փոփոխությունը, առանց չպահանջված կառուցվածքի։
- **Ponytail (ծույլ ավագ ծրագրավորող)** — բարձրանալ YAGNI սանդուղքով, շտկել արմատական պատճառը, ամենափոքր աշխատող դիֆը։
- **Ես ADHD ունեմ (գործողություն-առաջին)** — հաջորդ գործողությունը գլխավորում է, քայլերը համարակալված, մեկ կոնկրետ հաջորդ քայլ, առանց նախաբանի։
- **Հակիրճ CJK (文言)** — դասական-չինարեն գերհակիրճ ոճ (լոկալիզացված `zh`-ի համար)։
- **🎯 Հարմարվող context-budget** _(կարգավորիչը)_ — մեկ միացված/անջատված token շեմի փոխարեն աստիճանաբար միացնել ամենաէժան, ամենաանկորուստ շարժիչները միայն այնքան, որքան անհրաժեշտ է **տեղավորվելու մոդելի context պատուհանում**։ Քաղաքականություն՝ `reserve-output` (կանխադրված, մոդելին տեղյակ) · `percentage` · `absolute`։ Ռեժիմ՝ `floor` (երաշխավորել տեղավորումը) · `replace-autotrigger` (ձեր բացահայտ ընտրությունը հաղթում է) · `off` (հին շեմ)։
- **🎛️ Որտեղ է որոշվում սեղմումը** _(գերակայություն, բարձր → ցածր)_ — հարցում-առ `x-omniroute-compression` վերնագիր › երթուղային-համակցության վերագրանցում › ակտիվ անվանված պրոֆիլ › հարմարվող / ինքնա-գործարկում › պանելի կանխադրված › անջատված։ Կիրառված պլանը հետ է արտացոլվում `X-OmniRoute-Compression: ; source=` պատասխանի վերնագրում։
Ինքնա-գործարկում token շեմով, հարմարվող կարգավորիչի միացում, անվանված պրոֆիլի ամրագրում, մեկանգամյա հարցում-առ կարգավորում կամ pipeline-ի նշանակում յուրաքանչյուր երթուղային համակցության համար — ինչը որ համապատասխանում է աշխատանքային ծանրաբեռնվածությանը։ Օպցիոնալ օֆլայն **eval harness** (`npm run eval:compression`) գնահատում է ճշգրտությունը ընդդեմ խնայողության ամրագրված կորպուսի վրա, նախքան փոփոխությունը առաջ տանելը։
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Արագ մեկնարկ
**1) Տեղադրել և գործարկել**
```bash
npm install -g omniroute
omniroute
```
> 💡 Տեսնո՞ւմ եք `npm warn ERESOLVE` կամ peer-dep նախազգուշացումներ։ [Դրանք անվնաս են](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated)։
> **Օգտագործո՞ւմ եք npm 11 կամ ավելի նոր։** npm-ը կարող է արգելափակել փաթեթների lifecycle սկրիպտները, եթե դրանք թույլատրված չեն։ OmniRoute-ի `postinstall`-ը (`node scripts/build/postinstall.mjs`) անհրաժեշտ է իր native runtime ֆայլերը պատրաստելու համար։ Գլոբալ տեղադրման ժամանակ թույլատրեք npm-ի նախազգուշացման մեջ նշված փաթեթները։ OmniRoute 3.8.53-ի հաղորդած փաթեթների հավաքածուի համար.
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Այս թույլատրելի ցանկը ապագա գլոբալ տեղադրումների համար վերօգտագործելու համար կարգավորեք այն մեկ անգամ, ապա տեղադրեք սովորական ձևով.
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Կախվածությունների ցանկը կարող է փոխվել թողարկումների միջև. եթե npm-ը հաղորդում է այլ ցանկ, օգտագործեք այդ նախազգուշացման փաթեթների անունները։ Փաթեթին թույլատրելը թույլ է տալիս նրա install սկրիպտներին աշխատել։
> **Օգտագործո՞ւմ եք Gemini Web կամ այլ web-cookie պրովայդեր։** npm փաթեթը ներառում է
> Playwright, բայց ոչ նրա Chromium binary-ն։ Տե՛ս
> [Playwright Chromium տեղադրում](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> նշումը նախքան առաջին web-provider հարցումը կատարելը։
Dashboard-ը՝ `http://localhost:20128` · API-ն՝ `http://localhost:20128/v1`։
**2) Միացրեք համապատասխան պրովայդեր՝ օգտագործելով ձեր սեփական հաշիվը**
Dashboard → **Providers** → ընտրեք պրովայդեր, որի ընթացիկ պայմաններն ու քվոտան համապատասխանում են ձեր օգտագործման դեպքին → ավելացրեք նրա API բանալին կամ ավարտեք նրա հաշվի հոսքը։ Անվճար փաթեթները կարող են պահանջել գրանցում, հաստատում կամ վճարման եղանակ։ Ծանոթացե՛ք [Անվճար փաթեթների ուղեցույցին](docs/getting-started/FREE-TIERS-GUIDE.md). առանց բանալու հասանելիությունը երաշխավորված չէ, և `tos: avoid` նշված պրովայդերները լռելյայն բացառվում են `auto`-ից։
**3) Ուղղեք ձեր կոդավորման գործիքը**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) Ստուգեք, որ այն աշխատում է**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Դուք պետք է տեսնեք ձեր միացված մոդելների ցանկը։ 🎉 Վե՛րջ — սկսեք կոդավորել, և OmniRoute-ը ինքնաշխատ ուղղորդում և fallback է անում ձեզ համար։
Եթե ձեր client-ը չի կարող ուղարկել հատուկ վերնագրեր, OmniRoute-ը նաև տրամադրում է tokenized համատեղելիության alias-ներ.
```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
```
Օգտագործե՛ք դրանք միայն այն client-ների համար, որոնք չեն կարող կցել `Authorization: Bearer ...`։ Վերնագրով նույնականացումը մնում է նախընտրելի ռեժիմը։
## 📦 Տեղադրման լրացուցիչ եղանակներ — Docker, սկզբնական կոդ, 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`-ը հետևում է ամենաբարձր **հրապարակված** կայուն SemVer տարբերակին։ Այն չի հետևում git-ի `main` ճյուղին։ GitOps-ի համար ամրագրեք `:X.Y.Z` տարբերակը։ Տե՛ս [Docker-ի թողարկման ալիքները](docs/guides/DOCKER_GUIDE.md#release-channels)։ Պատկերում ամրագրված է **`OMNIROUTE_MEMORY_MB=1024`**։ Դա բավարար է կառավարման վահանակի և թեթև զրույցի համար։ **Կոդավորման գործակալներին** (Claude Code-ից, Codex-ից, Grok-ից և այլն ուղարկվող `POST /v1/responses`) անհրաժեշտ է շատ ավելի մեծ V8 heap, այլապես երկու համընկնող երկար համատեքստերի դեպքում պրոցեսը մոտավորապես 12 GiB-ի սահմանում ավարտվում է `FATAL ERROR`-ով։ Կոնտեյների չափը սահմանեք heap-ից մեծ (բնական բուֆերները գտնվում են V8-ից դուրս)։
| Աշխատաբեռնվածություն | Heap (`-e OMNIROUTE_MEMORY_MB`) | Կոնտեյներ (`--memory`) |
| ---------------------------------------- | -------------------------------- | ---------------------- |
| Կառավարման վահանակ / թեթև զրույց | `1024` (պատկերի լռելյայն արժեքը) | ≥2 g |
| Մեկ կոդավորման գործակալ | `8192` | ≥10 g |
| Երկու միաժամանակյա երկար `/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
```
Ամբողջական աղյուսակը՝ [Docker-ի ուղեցույց — կատարման ժամանակի RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents)։
> **Docker-ի նախաթողարկման ալիք.** `diegosouzapw/omniroute:next` և
> `diegosouzapw/omniroute:next-web` թեգերը հետևում են ընթացիկ լռելյայն `release/v*`
> ճյուղին։ Այս փոփոխական թեգերը նախատեսված են միայն դեռ չթողարկված ուղղումները փորձարկելու համար և
> **չեն աջակցվում արտադրական միջավայրում**։ Տե՛ս
> [Docker-ի թողարկման ալիքները](docs/guides/DOCKER_GUIDE.md#release-channels)։
**🥟 Bun**
Ստանդարտ `bun install`-ը և գլոբալ տեղադրումը (`bun install -g omniroute`) աջակցվում են Bun-ի կատարման միջավայրի հայտնաբերման միջոցով։
- **Ներկառուցված `bun:sqlite`**. Bun-ի ներքո աշխատելիս OmniRoute-ն օգտագործում է Bun-ի ներկառուցված `bun:sqlite` դրայվերը՝ Node.js-ի դեպքում անցնելով `better-sqlite3`-ի կամ `sql.js`-ի։
- **Մշակման ընթացքում Webpack փաթեթավորիչի ավտոմատ ընտրություն**. Մշակման ռեժիմը (`bun run dev`) ավտոմատ հայտնաբերում է Bun-ը և Turbopack-ն անջատում է հօգուտ Webpack-ի՝ բնական V8 կապակցումների անհամատեղելիությունները կանխելու համար։ Արտադրական կառուցումները (`bun run build`) հետևում են `OMNIROUTE_USE_TURBOPACK`-ին ճիշտ այնպես, ինչպես Node-ում՝ լռելյայն օգտագործելով Turbopack, իսկ Webpack-ով կառուցելու համար՝ `OMNIROUTE_USE_TURBOPACK=0` (`Dockerfile.bun`-ն այն հասանելի է դարձնում որպես `--build-arg`)։
- **Bun-ի համար նախատեսված Dockerfile**. Բազմափուլ `Dockerfile.bun`՝ Bun-ի բնական արտադրական տեղակայումների համար (`docker build -f Dockerfile.bun -t omniroute:bun .`)։
```bash
# Տեղադրեք և գործարկեք Bun-ով
bun install
bun run dev
```
**🛠️ Սկզբնական կոդից**
```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
# Nix flakes-ի օգտագործմամբ
nix develop
npm run dev
# Կամ devbox-ի օգտագործմամբ
devbox run npm run dev
```
📖 [Docker-ի ուղեցույց](docs/guides/DOCKER_GUIDE.md) — Compose պրոֆիլներ, Caddy HTTPS, Cloudflare թունելներ։
**🦭 Podman**
```bash
# 1. Պատրաստեք bind mount-ով միացվող տվյալների պանակը
mkdir -p data
# 2. Միայն Linux + տեղային rootless Podman (երբեք ոչ հեռավար Podman Machine հաճախորդ).
podman unshare chown 1000:1000 ./data
# 3. Սահմանեք կատարման միջավայրի հուշումը, կառուցեք տեղային Compose պատկերը և գործարկեք
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
macOS-ում կամ Windows-ում Podman-ն օգտագործում է հեռավար Podman Machine. բաց թողեք `podman unshare`-ը և
հետևեք [տոպոլոգիային հատուկ տվյալների պանակի ցուցումներին](contrib/podman/README.md#data-directory-permissions-by-topology)։
📖 [Podman-ի ուղեցույց](contrib/podman/README.md) — Compose կառուցումներ, Podman Machine և
Linux/systemd Quadlet-ի կարգավորում։
**⚡ Ավելի արագ / թեթև տեղադրում (բաց թողեք բնական կառուցումը)**
Բնական SQLite շարժիչը (`better-sqlite3`) **ընտրովի** կախվածություն է, ուստի գլոբալ
տեղադրումը երբեք չի արգելափակվում սկզբնական կոդից կոմպիլյացիայի պատճառով. այն օգտագործում է նախապես կառուցված բինար ֆայլ, երբ առկա է
ձեր հարթակին/Node-ին համապատասխանող տարբերակ, իսկ հակառակ դեպքում աննկատ անցնում է զուտ JS շարժիչի
(Node 22+-ում՝ `node:sqlite`, այլապես՝ փաթեթում ներառված `sql.js` WASM)՝ առանց կառուցման գործիքների անհրաժեշտության։
Հետտեղադրման բնական նախապատրաստումն ամբողջությամբ բաց թողնելու համար (CI, առանց գրաֆիկական միջավայրի կամ դանդաղ մեքենաներում)՝
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1-ը նույնպես բաց է թողնում այն
```
Ամենաարագ տեղադրումների համար նախընտրեք **pnpm**-ը (բովանդակությամբ հասցեագրվող պահոց + կոշտ հղումներ՝ տե՛ս վերևում)։
Առանց կառավարման վահանակի, առանց գրաֆիկական միջավայրի կատարման համար օգտագործեք Docker-ի `base` պրոֆիլը (վերևում) կամ
[Termux-ի ուղեցույցը](docs/guides/TERMUX_GUIDE.md)։ CLI-ն և վեբ կառավարման վահանակը սպասարկվում են նույն
պրոցեսի կողմից՝ մեկ պորտով, ուստի ներկայում առանձին՝ միայն CLI-ի համար նախատեսված փաթեթ չկա։
Թեստային ծածկույթի ռազմավարություն՝ 7,800-ից ավելի հետագծվող թեստային ֆայլերում առկա 56,000-ից ավելի ստատիկ թեստային հայտարարությունների համար
# ⭐ Լավագույն մասնակիցներ
> OmniRoute-ը ձևավորվում է բաց կոդով ծրագրային ապահովման նվիրված համայնքի շնորհիվ։ Այս անձինք բացառիկ ներդրում են ունեցել, որն անմիջականորեն ազդում է նախագծի որակի, կայունության և հասանելիության վրա։ **Շնորհակալություն։**
### Արտաքին մասնակիցները՝ ըստ միավորված pull request-ների
Տվյալները հավաքվել են 2026-10-18 15:09:09 UTC-ին՝ ընթացիկ release/v3.8.52 ճյուղի վերջին 656f01cb43 կոմիթի հիման վրա։ Էջավորված GitHub GraphQL հաշվառումը ներառում է 9,191 միավորված PR՝ 3,834-ը ռեպոզիտորիայի սեփականատիրոջից, 229-ը՝ Dependabot-ից, 6-ը՝ այլ բոտերից/հավելվածներից, իսկ 5,122 արտաքին PR՝ 835 տարբեր մասնակիցներից։ «Փոփոխված տողեր»-ը GitHub-ի ավելացումների և ջնջումների հանրագումարն է և ներառում է գեներացված ֆայլեր, lockfile-եր, կատալոգներ, թարգմանություններ և փաստաթղթեր․ սա փոփոխությունների ծավալն է, այլ ոչ թե հեղինակի գրած կոդի տողերի քանակը։ 49 PR-ի համար GitHub-ը հայտնում է 500,000 տողից ավելի տարբերություն (օրինակ՝ #13399-ը, որը մեկ մատակարարի հավելում է, թվարկում է 2,347 փոփոխված ֆայլ), ինչն ուռճացնում է վերոնշյալ մի քանի ընդհանուր ցուցանիշ։ Հավասար արդյունքներն ունեն նույն դիրքը։
### GitHub-ին վերագրված կոմիթներ
Վերստուգված է 2026-10-18 14:44:45 UTC-ին. GitHub-ին վերագրված commit-ները, որոնք հաղորդել է repository-ի Contributors API-ն release/v3.8.52 լռելյայն ճյուղի համար։ API-ն վերադարձրել է 849 ինքնություն (429 օգտատեր, 2 bot, 418 անանուն)․ այս աղյուսակը բացառում է maintainer-ին, bot-երին և անանուն ինքնություններին ու պահպանում է հավասար արդյունքներով դիրքերը։ Այն տարբերվում է ինչպես վերևում բերված merged-PR վարկանիշից, այնպես էլ ներքևում բերված Git մետատվյալների հաշվառումից։
> 🙏 Այս ներդրողների ֆունկցիոնալությունները, սխալների շտկումները և ենթակառուցվածքային բարելավումները **հիմնական մասն** են այն ամենի, ինչը OmniRoute-ը դարձնում է հուսալի և ֆունկցիոնալությամբ հարուստ։ Կարևոր է յուրաքանչյուր pull request-ը, յուրաքանչյուր թեստային դեպքը և յուրաքանչյուր i18n թարգմանության ֆայլ։ Բաց կոդը ստեղծում են նրանց նման մարդիկ։
---
## 💖 Հովանավորներ
Սրտանց շնորհակալություն այն մարդկանց, ովքեր սեփական միջոցներով ֆինանսավորում են OmniRoute-ը․ յուրաքանչյուր ներդրում օգնում է նախագծին մնալ անվճար, անկախ և շարունակել զարգանալ։
… և ուրիշներ, ովքեր նախընտրում են անանուն մնալ 💛GitHub Sponsors-ի հանրային տվյալները վերավավերացվել են 2026-10-18-ին՝ GitHub Sponsors GraphQL API-ի միջոցով․ ընդհանուր 14 հովանավորությունից 11-ը հանրային են (6-ը՝ ակտիվ, 5-ը՝ նախկին)։ GitHub-ի isActive կարգավիճակն է որոշում վերևում նշված ակտիվ պիտակները․ նախկին հանրային մեկանգամյա աջակիցներին շարունակում ենք շնորհակալություն հայտնել, իսկ մասնավոր հովանավորները մնում են անանուն։ Ko-fi-ի, Buy Me a Coffee-ի, Liberapay-ի, PIX-ի և կրիպտոարժույթով նվիրատվությունները նշված չեն, քանի որ դրանց համար հովանավորության հանրային գրառում չկա։💖 Դարձեք հովանավոր → — յուրաքանչյուր դոլար օգնում է OmniRoute-ին մնալ անվճար և անկախ։
## 👥 900+ ներդրողներ
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Աուդիտն իրականացվել է 2026-10-18-ին՝ գործող release/v3.8.52 ճյուղի վերջին ad160ab2d1 կոմիթի դրությամբ (6,826 կոմիթ)․ 993 նորմալացված՝ մարդկանց պատկանող Git ինքնություն․ 707-ը հանդես են գալիս որպես կոմիթների հեղինակներ (ներառյալ սպասարկողը), իսկ 286-ը՝ միայն հստակ Co-authored-by վերջնագրերում։ Հաշվարկը կիրառում է .mailmap-ը, էլփոստի հասցեները համեմատում է առանց տառաչափը հաշվի առնելու, թվային և սովորական GitHub noreply հասցեները միավորում է միայն այն դեպքում, երբ դրանք կոդավորում են նույն օգտանունը, բացառում է բոտերի/գործակալների/ծառայությունների/տեղապահների 26 ինքնություն և չի միավորում սովորական էլփոստի հասցեները միայն այն պատճառով, որ դրանց ցուցադրվող անունները համընկնում են։ 2026-08-24-ի աուդիտը հրապարակել էր 639 թիվը․ այս մեթոդը տվյալ աուդիտի հիմքային ac02c5b42f կոմիթի վրա կրկին կիրառելիս ստացվում է 619, ուստի աճը պայմանավորված է նոր ներդրողներով, այլ ոչ թե ավելի մեղմ մեթոդաբանությամբ։
### Ինչպես ներդրում կատարել
1. Ստեղծեք պահոցի fork-ը
2. Ճյուղ ստեղծեք **ակտիվ** `release/vX.Y.Z` ճյուղի վերջին կոմիթից (ոչ թե `main`-ից) — տե՛ս [Ճյուղավորման և թողարկման մոդելը](docs/ops/BRANCHING_MODEL.md)
3. Ստեղծեք ձեր գործառութային ճյուղը (`git checkout -b feat/amazing-feature`)
4. Կոմիթ արեք ձեր փոփոխությունները (`git commit -m 'feat: add amazing feature'`)
5. Ուղարկեք փոփոխությունները ճյուղ (`git push origin feat/amazing-feature`)
6. Բացեք Pull Request՝ որպես **base նշելով տվյալ `release/vX.Y.Z` ճյուղը**
Մանրամասն ուղեցույցների համար տե՛ս [CONTRIBUTING.md](CONTRIBUTING.md)։
### Նոր տարբերակի թողարկում
```bash
# Ստեղծեք թողարկում․ npm publish-ը կատարվում է ինքնաբերաբար
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Աստղեր
## 🌍 Աստղային Քարտեզագիր
## 🙏 Երախտագիտություն
OmniRoute-ը կառուցված է հսկաների ուսերին։ Այն սկզբնապես **[9router](https://github.com/decolua/9router)**-ի fork էր և Go-ով գրված **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** նախագծի TypeScript տեղափոխում, իսկ դրանից հետո ստորև ներկայացված յուրաքանչյուր ենթահամակարգ ոգեշնչվել է բաց կոդով նախագծից, որն առաջինն էր հասել այդ լուծմանը։ Դրանցից յուրաքանչյուրը ձևավորել է OmniRoute-ի որոշակի բաղադրիչ։ Սա մեր շնորհակալությունն է նրանց բոլորին։ 🙏
> ⭐ աստղերի քանակները ստուգվել են GitHub-ի REST API-ի միջոցով 2026 թվականի հոկտեմբերի 18-ին․ գնացեք և աստղ տվեք այս նախագծերին։ Քանակները տվյալ ամսաթվի դրությամբ ճշգրիտ ակնթարթային պատկեր են և, բնականաբար, կփոխվեն։
### 🧬 Ծագում և gateway
AI gateway-ը, որի հանրային գնագոյացման տվյալակազմը սնուցում է ծախսերի հետագծման մեր համաժամացումը, իսկ մատակարարների նորմալացման մոդելն ուղղորդել է մեր երթուղավորումը։
MIT աղբյուր, որը հարմարեցվել է ներկառուցված ChatGPT Web → Codex Responses կամրջում՝ ներառյալ դիտարկիչի աշխատաշրջանի, պատասխանի շրջանակավորման, օգտագործման և վեբ որոնման ադապտերները։
Նախշեր, որոնք տեղափոխվել են հոսքի վերականգնման, առանց մտածողության այլանունների, պահուստային վեբ որոնման, սահող պատուհանի սահմանաչափերի, մատյանների տվյալների քողարկման և խստացված գործարկիչի հոսքերի մեջ։
Claude Code-ի հետ համատեղելի փոխակերպման լռելյայն արժեքները և հաշվարկային վերնագրերի վարքագիծը ընդհանրացվել են OmniRoute-ի կազմաձևով կառավարվող կամրջում։
Դրա Grok մոդելների համապատասխանեցումները, կեղծ TypeError-ով Statsig գեներատորը, հարցման և սարքի լռելյայն արժեքները, ինչպես նաև NDJSON պատասխանի մշակիչը էականորեն հարմարեցվել են OmniRoute-ի Grok Web կատարիչում։
grok2api-merged-ի հիմքում ընկած հիմնական անցումային կոդային աղբյուրը․ դրա մոդելի, վերնագրերի, օգտակար բեռի, Statsig-ի և մշակիչի իրականացումները պահպանվել են Grok Web-ի ծագումնաբանության մեջ։
Grok-ի օգտակար բեռի և սարքի լռելյայն արժեքների, Statsig գեներատորի և result.response մշակիչի հիմքում ընկած MIT աղբյուրը, որը փոխանցվել է TQZHR-ի և grok2api-merged-ի միջոցով։
Անցումային աղբյուր, որը grok2api-merged-ը նշել է որպես իր proxy-pool շերտի աղբյուր․ OmniRoute-ը պահպանում է այդ ծագման մասին նշումը, սակայն չի պնդում, որ իր սահմանափակ Grok Web կատարիչում տեղափոխել է proxy-pool-ը։
Grok Web-ի սկզբնական իրականացման համար ուսումնասիրվել է դրա HTTP/դիտարկիչային upstream-ի դիզայնը․ դրա ուղղակի HTTP ուղին բխում է GrokProxy-ից, ուստի անկախ կոդային տեղափոխման մասին պնդում չի արվում։
Վիրուսային դարձած «ինչու օգտագործել շատ թոքեն, երբ քիչ թոքեն գործ անել» նախագիծը․ դրա քարանձավային խոսքի փիլիսոփայությունն ընկած է մեր ստանդարտ սեղմման ռեժիմի և 30+ ավելորդաբանությունների հեռացման/խտացման կանոնների հիմքում։
Հրամանների ելքային տվյալների բարձր արտադրողականությամբ սեղմում․ ոգեշնչել է մեր RTK շարժիչը, JSON զտիչների DSL-ը, չմշակված ելքային տվյալների վերականգնումը և շերտավորված RTK → Caveman խողովակաշարը։
Հուշումների սեղմման հետազոտություն (LLMLingua / LLMLingua-2)․ ոգեշնչել է մեր ասինխրոն, կոդի համար անվտանգ, սխալի դեպքում սկզբնական տվյալները պահպանող llmlingua շարժիչը։
PT-BR թոքենների սեղմում․ ապահովում է մեր pt-BR լեզվային փաթեթի աշխատանքը՝ ավելորդաբանությունների կրճատմամբ և բրազիլական պորտուգալերենի քերականությանը հարմարեցված լցոնիչ բառերի հեռացմամբ։
Վիրուսային դարձած «ծույլ ավագ ծրագրավորողի» YAGNI կոդավորման հմտությունը․ ոգեշնչել է մեր քիչ կոդ ելքային ոճը՝ նվազագույն աշխատող փոփոխության ուղղորդում, որը կրճատում է _ստեղծվող_ կոդը (Caveman-ի հակիրճ արձակի՝ ելքային առանցքի նմանակը)։
Դրա՝ գործողությունն առաջնահերթ համարող և ADHD ունեցող մարդկանց համար հարմար պատասխանների ոճը հարմարեցվել է՝ դառնալով OmniRoute-ի հակիրճ ելքային ոճը հինգ լեզուներով։
### 🧩 Կոմպակտ ձևաչափեր, թոքենների հետազոտություն և կոդը հաշվի առնող գործիքակազմ
Բովանդակությունը հաշվի առնող, ըստ ֆայլի տեսակի ելքային տվյալների սեղմում՝ խափանումը հաշվի առնող հրաժարման մեխանիզմով․ հաստատել է ըստ տեսակի բաշխման և նվազագույն շահույթի դեպքում բաց թողնելու մեր մոտեցումը։
Rust սյունակային JSON + բովանդակության հասցեավորմամբ առբերում + հաղորդագրությունների միջև կրկնազերծում․ հաստատել է մեր headroom/ccr/session-dedup շարժիչների կառուցվածքը և քեշի համար կայուն «սեղմված ձևը դիրքից անկախ է» անփոփոխակը։
TypeScript Compiler API գործիքակազմ․ ոգեշնչել է վերլուծիչի վրա հիմնված մեկնաբանությունների հեռացումը, որը պահպանում է տողային, ձևանմուշային և կանոնավոր արտահայտությունների լիտերալները։
Կոդավորման օգնականի ↔ LLM երթևեկության MITM կալանումը/վերլուծությունը հիմք է հանդիսացել Traffic Inspector-ի սկզբնական պահանջների համար։ Նախկինում ածանցված չորս մոդուլները՝ SSE միավորումը, զրույցների նորմալացումը, գաղտնի տվյալների քողարկումը և վերնագրերի մաքրումը, փոխարինվել են հրապարակային արձանագրությունների ստանդարտների հիման վրա ստեղծված անկախ, զրոյից իրականացումներով։ Հոսթը շրջանցող երկու մակերեսները (passthrough.ts և _internal/bypass.cjs) մնում են OmniRoute-ի ներքին իրականացումներ, որոնք դասակարգվել են առանձին․ դրանք չեն վերագրվել այդ փոխարինման շրջանակում։
Թափանցիկ, ըստ գործընթացի պրոքսի երթուղավորում․ ոգեշնչել է մեր խափանման նկատմամբ անվտանգ MITM ապամոնտաժումը, սոքեթների անգործության ժամանակային սահմանափակումները, /proc-ի միջոցով գործընթացների վերագրումը և TPROXY կալանումը։
Լռելյայն անվտանգ գրադարանների ընտրված ցանկ, որն ուղղորդում է անվտանգության վերաբերյալ մեր ընտրությունները (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink)։
Դրա՝ հաշիվը հաշվի առնող մոդելների վերաքարտեզագրումը, գործարկվող ֆայլի ուղու վավերացումը և պլանի պիտակների վարքագիծը հիմք են հանդիսացել OmniRoute-ի Antigravity գործարկման միջավայրի համար։
Բացահայտել է Grok Build-ի քվոտայի մակերեսը․ այնուհետև OmniRoute-ն ինքնուրույն ստուգել և ուղղել է գործող հաղորդալարային ձևաչափը։
## 📄 Լիցենզիա
MIT License - մանրամասների համար տե՛ս [LICENSE](LICENSE)։
---
**[⬆ Վերև վերադառնալ](#-omniroute)** · Ստեղծված է ❤️-ով բաց կոդով AI համայնքի համար։
OmniRoute v3.8.53 · Node ≥22.22.2 · MIT License · omniroute.online