# 🚀 OmniRoute — უფასო AI Gateway
**შექმნა [Diego Souza](https://github.com/diegosouzapw)-მ**
## 💰 ~1.62B ტოკენი / თვე მესამე მხარის უფასო ტარიფებში
> **გამოიყენეთ საკუთარი პროვაიდერის ანგარიშები.** ეს არის ცალკე ხელმისაწვდომი მესამე მხარის უფასო ტარიფების სავარაუდო ჯამური მაჩვენებელი და არა OmniRoute-ის მიერ გაცემული ტოკენების გრანტი. დარეგისტრირდით, საჭიროების შემთხვევაში მიიღეთ ავტორიზაციის მონაცემები და დააკავშირეთ თქვენთვის ხელმისაწვდომი პროვაიდერები; თითოეული პროვაიდერი თავად აკონტროლებს ლიმიტებს, ხელმისაწვდომობასა და პირობებს.
>
> უფასო ტარიფების ხელით გაერთიანება რთულია — ათობით SDK, ათობით სიჩქარის ლიმიტი და არანაირი წარმოდგენა იმაზე, რეალურად რამდენი რესურსი გაქვთ. OmniRoute კატალოგში აერთიანებს **465 უფასო ტარიფის ჩანაწერს 34 განმეორებად pool key-ში** და ტოკენების მთავარ მაჩვენებელს ითვლის **17 pool-იდან, რომლებსაც გამოქვეყნებული დადებითი თვიური ბიუჯეტი აქვთ, პლუს Groq-ის ხუთი თითოეულ მოდელზე მოქმედი ლიმიტიდან**, საერთო pool-ების მიხედვით დუბლირების მოცილებით. კვოტები, რომლებიც მხოლოდ რეგიონული იდენტობის შემოწმების შემდეგ იხსნება (დღეს: ModelScope), ცალკე არის ნაჩვენები — რეგიონული იდენტობის ვერიფიკაციის შემდეგ დამატებით +~6M — და მთავარ მაჩვენებელში არასოდეს ჯამდება. შედეგი ხილული რჩება dashboard-ზე (`/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)
### 💬 შეუერთდით საზოგადოებას
**👋 გაჰყევით maintainer-ს — პირველებმა მიიღეთ ახალი პროვაიდერები, რელიზები და რჩევები:**
[](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)**
## 📈 Gateway კვლავ იზრდება
## 🆓 დააინსტალირეთ, დააკავშირეთ პროვაიდერი და შემდეგ გაატარეთ მოთხოვნები ერთი endpoint-ის მეშვეობით
```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-ის მიერ მხარდაჭერილი შერწყმის ვალიდაციის ეტაპს, რომელიც განიხილავს ყოველ pull request-ს მის გამოშვებამდე — პლუს ყოველდღიური ფუნქციების განვითარებას. პირველი კლასის Kimi-ის მხარდაჭერა მიეწოდება ორივე გზით: პირდაპირი Kimi API (kimi-k3) და Kimi Code კოდირების გეგმა (OAuth და API გასაღები). OmniRoute ასევე არის პირველი ბრაზილიური ღია კოდის პროექტი Kimi-ის მხარდაჭერის პროგრამაში. მიიღეთ Kimi API გასაღები 15% დამატებითი კრედიტებით →
Cheaper Inference cheaperinference.com
მადლობა Cheaper Inference-ს, OmniRoute-ის ღია კოდის მეგობარს, ამ პროექტის მხარდაჭერისთვის! Cheaper Inference არის ხარჯების მიხედვით რანჟირებული კარიბჭე, რომელიც ყიდის 42 სასაზღვრო მოდელს — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok და MiniMax — ერთი OpenAI-თან თავსებადი ბოლო წერტილის უკან, თითოეული მოთხოვნის გადამისამართებით ყველაზე იაფ შესაბამის პროვაიდერთან, მოდელის შემქმნელის ჩამონათვალის ფასზე მაღლა დატენვის გარეშე.
პირველი კლასის მხარდაჭერა OmniRoute-ში: Chat Completions, მშობლიური /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-დან: Chat Completions, Anthropic-თან თავსებადი სადენიანი ფორმატი და OpenAI-თან თავსებადი გზა. ხელმისაწვდომი მოდელები მოიცავს claude-opus-4-8, claude-opus-5, gpt-5.6-sol და სხვა. აიღეთ თქვენი $100 →
⚠️ შვილობილი ბმული — OmniRoute-ს არ აქვს სპონსორობა ან პარტნიორობა ამ პროვაიდერთან.
იცით სხვა პროვაიდერი გულუხვი უფასო რეგისტრაციის კუპონით, რომელიც სარგებელს მოუტანს OmniRoute-ის მომხმარებლებს? გახსენით საკითხი და ჩვენ დავამატებთ მას აქ.
## 🎯 კომბოები — ფლაგმანი
> **კომბო** არის მოდელების ჯაჭვი, რომელთა შორისაც OmniRoute მოთხოვნებს **ავტომატურად** მარშრუტიზებს. თუ კვოტა ამოიწურება, პროვაიდერი შეფერხდება ან ხარჯები მკვეთრად გაიზრდება, კომბოს შეუძლია შემდეგ შესაბამის და გამართულ მოდელზე გადასვლა. 🛡️
### ⚡ ნულოვანი კონფიგურაცია — უბრალოდ გამოიყენეთ `auto`
კომბოს შექმნა არ გჭირდებათ. თქვენს მოდელად მიუთითეთ `auto` (ან მისი ვარიანტი) და OmniRoute თქვენი დაკავშირებული პროვაიდერებისგან ვირტუალურ კომბოს შექმნის, რომელსაც რეალურ დროში შეაფასებს:
მოდელის ID
რის ოპტიმიზაციას ახდენს
auto
🎯 დაბალანსებული ნაგულისხმევი ვარიანტი (LKGP — რჩება თქვენს ბოლო გამართულ პროვაიდერთან)
🎟️ მხოლოდ ის სააბონენტო კვოტა, რომლის საფასურსაც უკვე იხდით — მიუწვდომლობისას იხურება და არასოდეს გადადის ფასიან სარეზერვო ვარიანტზე (სახელმძღვანელო)
auto/thrifty
🪜 ჯერ გეგმის კვოტა, შემდეგ კი თითო საფეხურით ყველაზე იაფ ფასიან ვარიანტებზე გადასვლა — განულების შემდეგ კვლავ გეგმაზე დაბრუნება (სახელმძღვანელო)
auto/offline
🔋 პირველ რიგში კვოტის / სიხშირის ლიმიტის ყველაზე დიდი მარაგი
auto/smart
🔭 ხარისხი პრიორიტეტულია + 10% კვლევა უკეთესი მოდელების აღმოსაჩენად
auto/lkgp
📌 ბოლო ცნობილი გამართული პროვაიდერის აშკარა უპირატესობა
auto/chaos
🧪 პარალელური განაწილება მოდელების პანელზე (თითო პროვაიდერზე ერთი, ნაგულისხმევად 5), აბრუნებს ერთ პასუხს; თითო აღმავალ მოდელზე ერთი გამოძახება და არა შეფერხებების ხელოვნური შეტანა
##
### 🔀 ან შექმენით საკუთარი — მარშრუტიზაციის 20 სტრატეგია
**ოცივე** სტრატეგია — შეურიეთ და შეუხამეთ კომბოს თითოეულ ნაბიჯზე:
#
სტრატეგია
რას აკეთებს
1
priority
პირველ სამიზნეზე ორიენტირებული დალაგებული სია — თითოეული სრულად გამოიყენება შემდეგზე გადასვლამდე 🥇
2
fill-first
თითოეული სამიზნის კვოტის სრულად შევსება შემდეგზე გადასვლამდე
3
weighted
შეწონილი შემთხვევითი არჩევა თითოეული სამიზნის წონის მიხედვით
4
round-robin
სამიზნეების თანმიმდევრული ციკლური მონაცვლეობა
5
p2c
დატვირთვის შემთხვევითი დაბალანსება ორი ვარიანტიდან არჩევის მეთოდით
6
least-used
ყველაზე დაბალი მიმდინარე დატვირთვის მქონე სამიზნის არჩევა
7
random
თანაბარი ალბათობით შემთხვევითი არჩევა (დუბლიკატების მოცილებით)
8
strict-random
შემთხვევითი არჩევა გამეორებების მოცილების გარეშე 🎲
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) და მისი კომიტში დამატება დაუშვებელია — თუ ის შემთხვევით დაემატა კომიტში, შეცვალეთ ყველა გამჟღავნებული საიდუმლო მონაცემი და წაშალეთ ფაილი ისტორიიდან. ლოკალური გარემოს ფაილებისა და საიდუმლო მონაცემების მართვის ინსტრუქციებისთვის იხილეთ 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.54** ვერსიებში. სრული ისტორია იხილეთ [`CHANGELOG.md`](CHANGELOG.md)-ში.
- **⚖️ `quota-weighted` მარშრუტიზაცია** — კომბინირებული სტრატეგიებიდან მე-20 გამოტოვებს ამოწურულ ანგარიშებს, შემდეგ კი დარჩენილებს შორის არჩევანს აკეთებს დარჩენილი კვოტის ÷ მიმდინარე დატვირთვის პროპორციულად და არსებულ საუბრებს იმავე ანგარიშზე ამაგრებს. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 Headless რეჟიმი** — `omniroute serve --headless` (ან `OMNIROUTE_HEADLESS=1`) ამუშავებს მხოლოდ `/v1/*` პროქსის ძრავას და თიშავს დეშბორდსა და მხოლოდ დეშბორდისთვის განკუთვნილ ქვესისტემებს. → [Headless რეჟიმი](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-ს push-to-talk ხმოვანი ჩატით. → [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)
- **⚖️ Quota-Share მარშრუტიზაცია** — საერთო ანგარიშის კვოტას სამართლიანად ანაწილებს გაერთიანებულ გასაღებებს შორის; მექანიზმი სამუშაოს მაქსიმალურად ეფექტურად იყენებს და უმოქმედო ნაწილებს გასცემს. → [გამძლეობის გზამკვლევი](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`) და გამოიყენეთ `antigravity` OAuth დამხმარე VPS-ის ინსტალაციებისთვის. → [დისტანციური რეჟიმი](docs/guides/REMOTE-MODE.md)
- **🧭 უფრო ჭკვიანი ავტომატური მარშრუტიზაცია** — `auto/:` კომბინაციები, **Fusion** (მოდელების პანელი + მსაჯი), ამოცანაზე მორგებული მარშრუტიზაცია და თითოეული მოთხოვნისთვის მოდელის / რეჟიმის / USD-ბიუჯეტის გადაფარვა. → [Auto-Combo](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-*` ღირებულების/გამოყენების ჰედერები ყველა endpoint-ზე, ქეშის HIT-ით მიღებული დანაზოგის ჰედერი და თითოეული გასაღებისთვის USD-ხარჯვის კვოტები. → [API-ის ცნობარი](docs/reference/API_REFERENCE.md)
- **🧠 თქვენ მიერ კონტროლირებადი მეხსიერება** — ნაგულისხმევად გამორთული, ჩართვის შემთხვევაში int8 ვექტორული კვანტიზაცია და ტიპიზებული დაძველება, თითოეული მოთხოვნისთვის `x-omniroute-no-memory`. → [მეხსიერება](docs/frameworks/MEMORY.md)
- **🛡️ უსაფრთხოება** — prompt-injection-ისგან დამცავი მექანიზმი ყველა LLM-მარშრუტზე (red-team-ის სატესტო ნაკრებით), სურვილისამებრ ჩასართავი სარეზერვო მონაცემების დაფარვის დამცავი წესი (ორივე მიმართულებით გაჟონილი API-გასაღებების/საიდუმლოებების დაფარვა), უფასო DuckDuckGo-ს საექსტრემო ვებ-ძიება და სურვილისამებრ OIDC-ით შესვლის ბარიერი დეშბორდისთვის (პაროლით შესვლა ყოველთვის ხელმისაწვდომი რჩება). → [დამცავი წესები](docs/security/GUARDRAILS.md)
- **🖼️ ახალი endpoint-ები** — `/v1/ocr` (Mistral OCR) და `/v1/audio/translations` (Whisper-ის სტილის) ავსებს მედიის შესაძლებლობებს. → [API-ის ცნობარი](docs/reference/API_REFERENCE.md)
- **🎨 სურათების / ვიდეოს / აუდიოს გენერაცია** — მედიისთვის ერთი API: xAI Grok Imagine და Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind და მეტყველების პროვაიდერები, მათ შორის ElevenLabs. → [API-ის ცნობარი](docs/reference/API_REFERENCE.md)
- **🌍 განთავსება და ოპერაციები** — reverse-proxy `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… და განახლებული **388-პროვაიდერიანი კატალოგი**. → [პროვაიდერები](docs/reference/PROVIDER_REFERENCE.md)
- **📡 მარშრუტიზაციის გამჭვირვალობა** — თითოეული პასუხი შეიცავს `X-OmniRoute-Decision` ჰედერს, რომელშიც მითითებულია მისი მომსახურე სტრატეგია/პროვაიდერი/დაყოვნება; ახალი `cache-optimized` კომბინირებული სტრატეგია და Auto-Combo-ის `cacheAffinity` ფაქტორი განმეორებით მოთხოვნებს აბრუნებს იმ კავშირზე, რომელსაც ქეშირებული პრეფიქსი აქვს; მხოლოდ წაკითხვისთვის განკუთვნილი `/v1/auto-combo/{channel}/candidates` endpoint-ი კი ავლენს `auto/*` არხის კანდიდატთა ცოცხალ ნაკრებს. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ ლოკალური წარმადობა და ინფრასტრუქტურა** — ლოკალური Redis-ის გაშვება ერთი დაწკაპუნებით, Cloudflare Workers / Deno Deploy relay-ის დიპლოიერები, Bifrost და Mux ზედამხედველობის ქვეშ გაშვებული ჩაშენებული სერვისების სახით. → [ჩაშენებული სერვისები](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 ასევე მოყვება** — პლაგინების ფრეიმვორკი და მარკეტფლეისი, Omni/Agent/GitHub-ის უნარების ფრეიმვორკები, Obsidian vault-ის ინტეგრაცია (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-თან თავსებად ხელსაწყოსთან
📖 თითოეული ინსტრუმენტის ცალკეული კონფიგურაცია ყველა 39 ინსტრუმენტისთვის (28 CLI Code + 11 CLI Agent) → [`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` საიდუმლოებს იცავს თქვენი შელის ისტორიისგან. → [CLI ინტეგრაციები](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 AI პროვაიდერი — 153 კატალოგში უფასოდ მონიშნული
> **388 რეგისტრირებული პროვაიდერი** კანონიკური ჩატის, მედიის, ძიების, ლოკალური, cloud-agent და სისტემის კოლექციებში, მათ შორის **153 პროვაიდერი, რომელსაც აღმოჩენის მეტამონაცემებში `hasFree: true` აქვს მითითებული**. ჩატის მოდელების რეესტრი მოიცავს **239 პროვაიდერს / 3,059 უნიკალურ provider-model წყვილს / 1,475 დაუმუშავებელ model ID-ს**; ცალკე უფასო ბიუჯეტის კატალოგში არის **471 ჩანაწერი თითოეულ მოდელზე**, **34 განმეორებადი პული** და **52 განმეორებადი/გასაღების გარეშე სამუდამოდ უფასო პროვაიდერი**. ეს სხვადასხვა მნიშვნელი განზრახ არის გამოყენებული; განსაზღვრებები და პულების დუბლიკატების მოცილებით გამოთვლები მოცემულია [პროვაიდერების ცნობარში](docs/reference/PROVIDER_REFERENCE.md) და [უფასო ტარიფებში](docs/reference/FREE_TIERS.md).
### 🏢 ყველა ძირითადი ლაბორატორია — ერთი endpoint-ის მეშვეობით
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…და კიდევ 350-ზე მეტი — ყველა აიკონი პირდაპირ იტვირთება dashboard-ის პროვაიდერების კატალოგიდან. 📖 [პროვაიდერების ცნობარი](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 სამუდამოდ უფასო — $0, ბარათი საჭირო არ არის
OpenCode Zen DeepSeek V4, Nemotron 3 ტოკენების ლიმიტის გარეშე
Kilo Code ავტო-როუტერი, 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 ნეირონი/დღე
NVIDIA NIM GLM, MiniMax ~40 RPM უფასოდ
Cerebras GLM 4.7, GPT-OSS ერთჯერადი $5 კრედიტი; ბარათი აუცილებელია
### 🧩 ახალი: OmniRoute VS კოდის მშობლიურ Copilot ჩატში
> არ არის ახალი გვერდითი ზოლი, არ არის ახალი ჩეთის UI - OmniRoute ის ყველა სერვისი გამოჩნდება პირდაპირ**Copilot ჩატის მოდელის ამომრჩევი, რომელსაც უკვე იყენებთ** . VS Code 1.122-დან მოყოლებული, პროვაიდერის მოდელები მუშაობს GitHub შესვლის ან Copilot გამოწერის გარეშე — აგენტის რეჟიმი, ხელსაწყოების დარეკვა და ხედვა, უფასოდ.
დააინსტალირეთ** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** გაფართოება, მიუთითეთ ის თქვენს OmniRoute სერვერზე (ნაგულისხმევად არის `localhost:20128`), შემდეგ გახსენით Copilot Chat → model picker →** მოდელების მართვა…** →**OmniRoute** .
რედაქტორის შიგნიდან: გახსენით** გაფართოებები** ნახვა, ძიება** "OmniRoute"** , დააწკაპუნეთ** დააინსტალირეთ** — მუშაობს ერთნაირად ორივე მაღაზიაში. წყარო, საკითხები და საგამომცემლო სახელმძღვანელო პირდაპირ ეთერში [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot) ზე.
📖 [VS კოდი Copilot ჩატის გზამკვლევი](docs/guides/VSCODE-COPILOT.md) — დაყენება, რას აჩვენებს ამომრჩევი, დაფა-ჩანართში, პრობლემების აღმოფხვრა
### 🎩 ახალი: OmniRouteTray - თქვენი კარიბჭე, რომელიც ცხოვრობს მენიუს ზოლში
> `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 icon
🩺 Doctor & logs
ერთი დაწკაპუნებით დიაგნოსტიკა და სერვერის ჟურნალში წვდომა
```sh
brew install --cask zoispag/tap/omniroute-tray
```
გსურთ ჩამოტვირთვა? აიღეთ უახლესი .dmg დან
ავრცელებს . წყარო, საკითხები და აშენება
დოკუმენტები ცხოვრობენ zoispag/omniroute-tray ში.
💛 საზოგადოების პროექტი @zoispag - არ არის OmniRoute ოფიციალური გამოცემა.
> სერვერის გარდა, OmniRoute არის **სრულფასოვანი ბრძანების სტრიქონის მართვის პანელი**, რომელსაც აქვს **80-ზე მეტი ბრძანება** და აგენტების ღია პროტოკოლები, რათა AI აგენტმა მისი მართვა **დამოუკიდებლად** შეძლოს.
### ⌨️ ნამდვილი CLI (არა მხოლოდ `start`)
```bash
omniroute # კარიბჭისა და მართვის პანელის გაშვება (პორტი 20128)
omniroute chat # ინტერაქტიული TUI ჩატის კლიენტი (სლეშ-ბრძანებები: /model /combo /skill /memory)
omniroute setup # პირველი გაშვების ეტაპობრივი ოსტატი
omniroute doctor # პროვაიდერების, პორტებისა და ნატიური დამოკიდებულებების დიაგნოსტიკა
```
### 🛰️ დისტანციური რეჟიმი — გაუშვით CLI აქ, ხოლო OmniRoute — VPS-ზე
OmniRoute სერვერზე გაქვთ? მართეთ ის თქვენი ლეპტოპიდან **იმავე CLI-ით**. ერთხელ გაიარეთ ავტორიზაცია
შეზღუდული წვდომის ტოკენით; ამის შემდეგ ყველა ბრძანება დისტანციურ სერვერზე შესრულდება.
```bash
omniroute connect 192.168.0.15 # პაროლი → შეზღუდული ტოკენი, შენახული კონტექსტის სახით
omniroute models # ← სრულდება დისტანციურ სერვერზე
omniroute configure codex # ← ირჩევს დისტანციურ მოდელს და წერს ლოკალურ Codex პროფილს
omniroute tokens create --name ci --scope read # ქმნის უფრო შეზღუდულ ტოკენებს სხვა მოწყობილობებისთვის
omniroute contexts use default # ← ადგილობრივ სერვერზე დაბრუნება
```
ტოკენების წვდომის დონეებია `read` / `write` / `admin`; პროცესების გამშვები მარშრუტები მხოლოდ loopback-ზე რჩება ხელმისაწვდომი.
📖 [დისტანციური რეჟიმი](docs/guides/REMOTE-MODE.md)
### 🤝 დააკავშირეთ აგენტი — და ის თავად მართავს OmniRoute-ს
გახადეთ OmniRoute ხელმისაწვდომი **MCP-ის**, **A2A-ის**, **REST API-ის**, **ვებჰუკების** ან **დისტანციური CLI-ის** მეშვეობით — ნებისმიერი შესაბამისი შესაძლებლობის მქონე აგენტი (ან თქვენი საკუთარი კოდი) მიიღებს მთელი კარიბჭის მართვის გასაღებებს: მარშრუტიზაცია, პროვაიდერები, კომბინაციები, კეში, შეკუმშვა, მეხსიერება — ავტონომიურად. ქვემოთ მოცემული HTTP ბოლო წერტილები ხელმისაწვდომია მისამართზე `http://localhost:20128`.
ინტერფეისი
ბოლო წერტილი / ბრძანება
გამოიყენეთ შემდეგისთვის
🧰 MCP (stdio)
omniroute --mcp
Claude Desktop-თან, Cursor-თან ან ნებისმიერ MCP კლიენტთან დაკავშირება
🌊 MCP (HTTP)
/api/mcp/stream
დისტანციური MCP — 110 ინსტრუმენტი, 33 წვდომის სფერო (აღსრულება სურვილისამებრ), სრული აუდიტის ჟურნალი
📡 MCP (SSE)
/api/mcp/sse
MCP-ის ნაკადური ტრანსპორტი
🤝 A2A
/.well-known/agent.json
აგენტებს შორის კომუნიკაცია, JSON-RPC 2.0 + SSE, 6 უნარი
მოთხოვნების / კვოტის მოვლენების გაგზავნა Slack-ში, Discord-ში, Telegram-ში ან ნებისმიერ URL-ზე
🛰️ დისტანციური CLI
omniroute connect
დისტანციური ინსტანციის მართვა შეზღუდული წვდომის ტოკენებით
```bash
# მიეცით Claude Code-ს OmniRoute-ის ინსტრუმენტების სრული ნაკრები MCP-ის მეშვეობით:
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%-ით დაზოგვა — ავტომატურად
### 📖 როგორ მუშაობს — pipeline, არქიტექტურა და დაზოგვის მათემატიკა
ნაგულისხმევი stacked კომბინაცია ამუშავებს `RTK → Caveman`-ს. როდესაც ორივე ერთსა და იმავე tool/context payload-ზე მოქმედებს, დაზოგვა კუმულაციურად იზრდება:
```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 და სტრუქტურირებული მონაცემები **ყოველთვის დაცულია** preservation engine-ის მიერ.
> **რატომ უნდა გამოიყენოთ ბევრი ტოკენი, როცა საქმეს ცოტა ტოკენიც ართმევს თავს?** ყოველი მოთხოვნა **გამჭვირვალედ** გადის OmniRoute-ის compression pipeline-ში — კლიენტში ცვლილებები საჭირო არ არის. ახლა ეს არის **12 კომპოზირებადი engine-ის stack**, რომლებიც რიგრიგობით მუშაობენ და თითოეული routing combo-ს მიხედვით თავისუფლად კომბინირდება — [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-engine-იანი stack
Engine-ები pipeline-ის თანმიმდევრობით მუშაობს; თითოეულის ჩართვა/გამორთვა და კონფიგურაცია combo-ს მიხედვით დამოუკიდებლად არის შესაძლებელი:
#
Engine
რას აკეთებს
1
Session-Dedup
შლის turn-ებს შორის განმეორებულ კონტენტს (content-addressed, cross-turn)
2
CCR
დიდ ბლოკებს retrieve marker-ების უკან არქივში ათავსებს და საჭიროებისას იღებს
3
Lite
Whitespace-ისა და image-URL-ების შემცირება (დაბალი latency-ის მქონე საბაზისო ვარიანტი)
4
RTK
Tool-result-ების ჭკვიანური გაფილტვრა, dedup და truncation (command-aware)
5
Responses Tool Output
Lossless-first JSON + შეზღუდული diagnostic compression shell/patch/search/build შედეგებისთვის (Responses API)
6
Headroom
JSON მასივების lossless tabular compaction (~30%) vendored GCF codec-ის მეშვეობით
7
Relevance
ბოლო user query-სთან მიმართებით წინადადებების extractive scoring
8
Caveman
წესებზე დაფუძნებული prose compression (output-ზე ~65–75%)
9
Aggressive
ძველი turn-ების შეჯამება + progressive aging
10
LLMLingua-2
ML semantic pruning MobileBERT ONNX-ის მეშვეობით — code-safe, async
ექსპერიმენტული context-as-image encoding, რომელიც გამოიყენება პირდაპირ Anthropic wire-ზე გაზომილი Claude Fable 5-ისთვის; GPT 5.6 transformers provider receipts-ის მოლოდინში fail-closed რჩება. compression-ის ოთხი profile (ნაგულისხმევად aggressive, balanced, coding-safe, passthrough) (ყველაზე აგრესიული; opt-in)
კოდის ბლოკები, URL-ები და სტრუქტურირებული მონაცემები **ყოველთვის შენარჩუნებულია** byte-perfect-ად. **One-click preset-ები** engine-ებს აერთიანებს:
რეჟიმი
დაზოგვა
საუკეთესო გამოყენება
🪶 Lite
~15%
ყოველთვის ჩართული უსაფრთხო ნაგულისხმევი ვარიანტი
🪨 Standard (Caveman)
~30%
ყოველდღიური კოდირება
⚡ Aggressive
~50%
ხანგრძლივი, tool-ებით დატვირთული სესიები
🔥 Ultra
~75%
მაქსიმალური დაზოგვა
🧰 RTK
60–90%
Shell/test/build/git output
🔗 Stacked (RTK → Caveman)
78–95%
შერეული prompt-ები + tool log-ები
**რეალური მაგალითი — Standard რეჟიმი:**
> **მანამდე (69 ტოკენი):** _"თქვენი React კომპონენტის ხელახლა რენდერინგის მიზეზი, სავარაუდოდ, ის არის, რომ ყოველი render cycle-ის დროს ახალ object reference-ს ქმნით. როდესაც inline object-ს prop-ის სახით გადასცემთ, React-ის shallow comparison მას ყოველ ჯერზე განსხვავებულ object-ად აღიქვამს, რაც ხელახალ რენდერინგს იწვევს. გირჩევთ, object-ის memoize-სთვის useMemo გამოიყენოთ."_
>
> **შემდეგ (19 ტოკენი):** _"ყოველ render-ზე ახალი object ref. Inline object prop = ახალი ref = ხელახალი რენდერი. მოათავსეთ useMemo-ში."_
>
> **იგივე პასუხი. 72%-ით ნაკლები ტოკენი. სიზუსტის ნულოვანი დანაკარგი.** ✅
**PT-BR მაგალითი — [Troglodita](https://github.com/leninejunior/troglodita) რეჟიმი:**
> **მანამდე (42 ტოკენი):** _"პრობლემა ისაა, რომ კომპონენტი ხელახლა რენდერდება, რადგან რენდერის თითოეულ ციკლში ობიექტის ახალი რეფერენსი იქმნება. გირჩევდით useMemo-ის გამოყენებას."_
>
> **შემდეგ (12 ტოკენი):** _"ხელახალი რენდერი: ახალი ref ყოველ ციკლში (ინლაინ-ობიექტი თავიდან იქმნება). გამოიყენეთ `useMemo`."_
>
> **იგივე პასუხი. ~70%-ით ნაკლები ტოკენი. ტექნიკური სიზუსტე შენარჩუნებულია.** ✅
### 🎚️ ძრავებს მიღმა — გამოსავლის სტილები, ადაპტური რეგულატორი და მოთხოვნის მიხედვით კონტროლი
ზემოთ აღწერილი 12 ძრავა ამცირებს იმას, რაც **შედის**. კიდევ სამი ფენა განსაზღვრავს **როგორ**, **როდის** და რა გამოდის:
- **🪄 გამოსავლის სტილები** _(გამოსავლის ღერძის მართვა)_ — ამატებს დეტერმინისტულ, ქეშისთვის უსაფრთხო ინსტრუქციებს პასუხის ფორმირებისთვის; მათი კომბინირება შესაძლებელია, თითოეული კი ხელმისაწვდომია `lite` / `full` / `ultra` ინტენსივობით. სტილის დამატება რეესტრში ერთხაზიანი ჩანაწერით ხდება:
- **მოკლე პროზა** — ამოიღეთ შემავსებელი სიტყვები / არტიკლები / მერყევი ფორმულირებები; ტექნიკური შინაარსი ზუსტად შეინარჩუნეთ.
- **ნაკლები კოდი** — „ზარმაცი senior dev“-ის YAGNI: უმცირესი მოქმედი ცვლილება, მოუთხოვნელი საყრდენი კოდის გარეშე.
- **კუდი (ზარმაცი senior dev)** — მიჰყევით YAGNI-ის საფეხურებს, გამოასწორეთ ძირეული მიზეზი, შეიტანეთ უმცირესი მოქმედი diff.
- **ADHD მაქვს (ქმედება უპირველესად)** — შემდეგი ქმედება პირველივე ადგილზეა, ნაბიჯები დანომრილია, ერთი კონკრეტული შემდეგი ნაბიჯი, შესავლის გარეშე.
- **მოკლე CJK (文言)** — კლასიკური ჩინურის ულტრამოკლე სტილი (ლოკალით შეზღუდული `zh`-ზე).
- **🎯 ადაპტური კონტექსტის ბიუჯეტი** _(რეგულატორი)_ — ერთი ჩართული/გამორთული ტოკენის ზღვრის ნაცვლად, ყველაზე იაფი და ნაკლებად დამაკარგვინებელი ძრავები მხოლოდ იმდენად ძლიერდება, რამდენიც საჭიროა, რათა მოთავსდეს მოდელის კონტექსტის ფანჯარაში. პოლიტიკა: `reserve-output` (ნაგულისხმევი, მოდელზე მორგებული) · `percentage` · `absolute`. რეჟიმი: `floor` (მოთავსების გარანტია) · `replace-autotrigger` (თქვენი აშკარა არჩევანი იმარჯვებს) · `off` (ძველი ზღვარი).
- **🎛️ სად წყდება შეკუმშვის გადაწყვეტილება** _(პრიორიტეტი, მაღალი → დაბალი)_ — თითოეული მოთხოვნის `x-omniroute-compression` ჰედერი › routing-combo-ის გადაფარვა › აქტიური სახელდებული პროფილი › adaptive / auto-trigger › პანელის ნაგულისხმევი მნიშვნელობა › off. გამოყენებული გეგმა პასუხში ბრუნდება `X-OmniRoute-Compression: ; source=` ჰედერის სახით.
ჩართეთ ავტომატური ტრიგერი ტოკენების ზღვრის მიხედვით, გადართეთ ადაპტური რეგულატორი, მიამაგრეთ სახელდებული პროფილი, დააყენეთ ერთჯერადი მნიშვნელობა მოთხოვნისთვის ან მიანიჭეთ pipeline თითოეულ routing combo-ს — იმის მიხედვით, რაც სამუშაო დატვირთვას შეესაბამება. არჩევითი ოფლაინ **შეფასების ჰარნესი** (`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.54-ის მიერ მოხსენებული პაკეტებისთვის:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> ამ allowlist-ის მომავალ გლობალურ ინსტალაციებზე ხელახლა გამოსაყენებლად, ერთხელ დააკონფიგურირეთ და შემდეგ ჩვეულებრივად დააინსტალირეთ:
>
> ```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-ს ან ვებ-ქუქიების სხვა პროვაიდერს?** npm პაკეტში შედის
> Playwright, თუმცა მისი Chromium ბინარული ფაილი — არა. პირველი web-provider მოთხოვნის შესრულებამდე გაეცანით
> [Playwright Chromium-ის დაყენების](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> შენიშვნას.
Dashboard ხელმისაწვდომია `http://localhost:20128`-ზე · API — `http://localhost:20128/v1`-ზე.
**2) შესაბამისი პროვაიდერის დაკავშირება საკუთარი ანგარიშით**
Dashboard → **Providers** → აირჩიეთ პროვაიდერი, რომლის მიმდინარე პირობები და კვოტა თქვენს გამოყენების შემთხვევას შეესაბამება → დაამატეთ მისი API key ან გაიარეთ მისი ანგარიშის პროცესი. უფასო ტარიფებმა შეიძლება მოითხოვოს რეგისტრაცია, დამტკიცება ან გადახდის მეთოდი. გაეცანით [Free Tiers Guide-ს](docs/getting-started/FREE-TIERS-GUIDE.md); keyless ხელმისაწვდომობა გარანტირებული არ არის, ხოლო `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 ავტომატურად შეარჩევს მარშრუტს და საჭიროების შემთხვევაში გადაერთვება ალტერნატივაზე.
თუ თქვენს კლიენტს მორგებული ჰედერების გაგზავნა არ შეუძლია, OmniRoute ასევე გთავაზობთ ტოკენიზებულ თავსებადობის ალაიასებს:
```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
```
გამოიყენეთ ისინი მხოლოდ იმ კლიენტებისთვის, რომლებსაც `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`**. ეს საკმარისია მართვის პანელისა და მსუბუქი ჩატისთვის. **კოდირების აგენტებს** (`POST /v1/responses` Claude Code-იდან, Codex-იდან, Grok-იდან, …) სჭირდებათ გაცილებით დიდი V8 heap, წინააღმდეგ შემთხვევაში ორი გადაფარული გრძელი კონტექსტის დროს პროცესი დაახლოებით 12 GiB-ზე `FATAL ERROR`-ით წყდება. კონტეინერის მეხსიერება heap-ზე მეტი გამოყავით (native ბუფერები 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-ის სახელმძღვანელო — ოპერატიული მეხსიერება მუშაობის დროს](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-ს და native V8 binding-ებთან შეუთავსებლობის თავიდან ასაცილებლად Turbopack-ს თიშავს Webpack-ის სასარგებლოდ. საწარმოო build-ები (`bun run build`) `OMNIROUTE_USE_TURBOPACK`-ს ზუსტად ისე ემორჩილება, როგორც Node-ზე: ნაგულისხმევად Turbopack, ხოლო Webpack-ით build-ისთვის — `OMNIROUTE_USE_TURBOPACK=0` (`Dockerfile.bun` მას `--build-arg`-ის სახით ხელმისაწვდომს ხდის).
- **Bun-ის ცალკე Dockerfile**: მრავალეტაპიანი `Dockerfile.bun` native 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-mounted მონაცემთა დირექტორია
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 build-ები, Podman Machine და
Linux/systemd Quadlet-ის კონფიგურაცია.
**⚡ უფრო სწრაფი / მსუბუქი ინსტალაცია (native build-ის გამოტოვება)**
native SQLite ძრავა (`better-sqlite3`) **არასავალდებულო** დამოკიდებულებაა, ამიტომ გლობალური
ინსტალაცია არასდროს ფერხდება საწყისი კოდიდან კომპილაციის გამო: შესაბამისი
პლატფორმის/Node-ის არსებობისას ის წინასწარ აგებულ ბინარულ ფაილს იყენებს, სხვა შემთხვევაში კი შეუმჩნევლად გადადის სუფთა JS ძრავაზე
(`node:sqlite` Node 22+-ზე, სხვა შემთხვევაში ჩაშენებულ `sql.js` WASM-ზე) — build ინსტრუმენტები საჭირო არ არის.
ინსტალაციის შემდგომი native მომზადების სრულად გამოსატოვებლად (CI, headless ან ნელი მოწყობილობები):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1-იც გამოტოვებს მას
```
ყველაზე სწრაფი ინსტალაციისთვის უპირატესობა მიანიჭეთ **pnpm**-ს (შიგთავსზე დაფუძნებული საცავი + hard link-ები — იხილეთ ზემოთ).
მართვის პანელის გარეშე, headless გაშვების გარემოსთვის გამოიყენეთ Docker-ის `base` პროფილი (ზემოთ) ან
[Termux-ის სახელმძღვანელო](docs/guides/TERMUX_GUIDE.md). CLI-სა და ვებ-მართვის პანელს ერთი და იგივე
პროცესი ერთ პორტზე ემსახურება, ამიტომ ამჟამად ცალკე, მხოლოდ CLI-სთვის განკუთვნილი პაკეტი არ არსებობს.
ტესტების დაფარვის სტრატეგია 8,400-ზე მეტ თვალყურის დევნებად სატესტო ფაილში განთავსებული 60,000-ზე მეტი სტატიკური სატესტო დეკლარაციისთვის
# ⭐ საუკეთესო კონტრიბუტორები
> OmniRoute-ის ჩამოყალიბებაში დიდი წვლილი მიუძღვის ენთუზიაზმით სავსე ღია კოდის საზოგადოებას. ამ ადამიანებმა განსაკუთრებული წვლილი შეიტანეს, რაც პირდაპირ აისახება პროექტის ხარისხზე, სტაბილურობასა და გავრცელებაზე. **გმადლობთ.**
### გარე კონტრიბუტორები გაერთიანებული pull request-ების მიხედვით
აღწერა აღებულია 2026-11-03 03:01:19 UTC-ზე, მოქმედი release/v3.8.53 წვერით 05bc048d6c. გვერდებად დაყოფილი GitHub GraphQL-ის აღწერა შეიცავს 9,947 გაერთიანებულ PR-ს: 4,130 საცავის მფლობელისგან, 240 Dependabot-ისგან, 6 სხვა ბოტებისა და აპებისგან და 5,571 გარე PR-ს 883 განსხვავებული კონტრიბუტორისგან. „შეცვლილი ხაზები“ არის GitHub-ის დამატებებისა და წაშლილებების ჯამი და მოიცავს გენერირებულ ფაილებს, lockfile-ებს, კატალოგებს, თარგმანებსა და დოკუმენტაციას; ეს არის ცვლილებების რაოდენობა და არა ავტორის მიერ დაწერილი LOC. 53 PR-ში GitHub-ის diff-ები 500,000 ხაზზე მეტია (მაგალითად, #13399-ში, რომელიც ერთი პროვაიდერის დამატებას წარმოადგენს, მითითებულია 2,347 შეცვლილი ფაილი), რაც ზემოთ მოცემულ რამდენიმე ჯამურ მაჩვენებელს ზრდის. თანაბარი შედეგების მქონე მონაწილეები ერთობლივად არიან რანჟირებული.
### GitHub-ისთვის მიკუთვნებული კომიტები
ხელახლა გადამოწმებულია 2026-11-03 02:09:16 UTC-ზე: GitHub-ის მიერ მიკუთვნებული კომიტები, რომლებიც მოხსენებულია repository Contributors API-ის მიერ release/v3.8.53 ნაგულისხმევი ბრანჩისთვის. API-მ დააბრუნა 903 იდენტობა (429 მომხმარებელი, 2 ბოტი, 472 ანონიმური); ეს ცხრილი გამორიცხავს maintainer-ს, ბოტებსა და ანონიმურ იდენტობებს და ინარჩუნებს კონკურსში თანაბარ შედეგებს. ის განსხვავდება როგორც ზემოთ მოცემული გაერთიანებული 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-ს უფასოსა და დამოუკიდებელს უნარჩუნებს.
## 👥 1,000+ კონტრიბუტორი
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
აუდიტი ჩატარდა 2026-11-02-ს live release/v3.8.53 tip 1c7135e0fb-ზე (7,972 commit): 1,074 ნორმალიზებული ადამიანის Git-იდენტიფიკატორი — 759 ჩანს commit-ის ავტორებად (მათ შორის, maintainer-იც), ხოლო 315 მხოლოდ მკაფიო Co-authored-by trailer-ებში. აღწერისას გამოყენებულია .mailmap, ელფოსტის მისამართები შედარებულია რეგისტრის გაუთვალისწინებლად, რიცხვითი და ჩვეულებრივი GitHub noreply მისამართები გაერთიანებულია მხოლოდ მაშინ, როცა ისინი ერთსა და იმავე handle-ს განსაზღვრავენ, გამორიცხულია 29 ბოტის/აგენტის/სერვისის/placeholder-ის იდენტიფიკატორი და ჩვეულებრივი ელფოსტის მისამართები არ გაერთიანებულა მხოლოდ display name-ების დამთხვევის საფუძველზე. 2026-08-24-ის აუდიტში გამოქვეყნებული იყო 639; ამ აუდიტის საბაზისო ac02c5b42f-ზე მეთოდის ხელახლა გაშვების შედეგად მიიღება 619, ამიტომ ზრდა ახალი კონტრიბუტორებით არის განპირობებული და არა უფრო ნაკლები შეზღუდვის მქონე მეთოდით.
### როგორ შევიტანოთ წვლილი
1. შექმენით repository-ის fork
2. განშტოება შექმენით აქტიური `release/vX.Y.Z` tip-იდან (არა `main`-იდან) — იხილეთ [განშტოებისა და რელიზების მოდელი](docs/ops/BRANCHING_MODEL.md)
3. შექმენით თქვენი feature branch (`git checkout -b feat/amazing-feature`)
4. დააკომიტეთ ცვლილებები (`git commit -m 'feat: add amazing feature'`)
5. ატვირთეთ branch-ზე (`git push origin feat/amazing-feature`)
6. გახსენით Pull Request-ი **base = ეს `release/vX.Y.Z` branch**
დეტალური მითითებებისთვის იხილეთ [CONTRIBUTING.md](CONTRIBUTING.md).
### ახალი ვერსიის რელიზი
```bash
# შექმენით რელიზი — npm publish ავტომატურად შესრულდება
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 ვარსკვლავები
## 🌍 StarMapper
## 🙏 მადლობები
OmniRoute გიგანტების მხრებზე დგას. ის დაიწყო როგორც **[9router](https://github.com/decolua/9router)**-ის fork-ი და Go პროექტის **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** TypeScript-პორტი — შემდეგ კი ქვემოთ ჩამოთვლილი თითოეული ქვესისტემა შთაგონებული იყო open-source პროექტით, რომელმაც ეს გზა პირველმა გაიარა. თითოეულმა მათგანმა OmniRoute-ის კონკრეტული ნაწილი ჩამოაყალიბა. ეს ჩვენი მადლობის გადახდაა ყველა მათგანისთვის. 🙏
> ⭐ ვარსკვლავების რაოდენობა დადასტურებულია GitHub-ის REST API-დან 2026 წლის 3 ნოემბერს — ეწვიეთ ამ პროექტებს და დაუმატეთ ვარსკვლავი. რაოდენობები წარმოადგენს კონკრეტული თარიღის ზუსტ სურათს და ბუნებრივად შეიცვლება.
### 🧬 წარმომავლობა და gateway
AI gateway, რომლის საჯარო ფასების მონაცემთა ნაკრები ამარაგებს ჩვენი ხარჯების აღრიცხვის სინქრონიზაციას და რომლის პროვაიდერების ნორმალიზაციის მოდელმა გავლენა მოახდინა ჩვენს მარშრუტიზაციაზე.
MIT-ის წყარო ადაპტირებულია vendored ChatGPT Web → Codex Responses bridge-ში, მათ შორის ბრაუზერის სესიის, პასუხების framing-ის, გამოყენების და ვებძიების ადაპტერები.
მისი Grok-ის მოდელების mapping-ები, fake-TypeError Statsig generator, request-ისა და device-ის ნაგულისხმევი პარამეტრები და NDJSON response processor არსებითად იქნა ადაპტირებული OmniRoute-ის Grok Web executor-ში.
Grok-ის payload-ისა და device-ის ნაგულისხმევი პარამეტრების, Statsig generator-ისა და result.response processor-ის საფუძვლად არსებული MIT-ის წყარო, რომელიც TQZHR-ისა და grok2api-merged-ის გავლით გადმოვიდა.
grok2api-merged-ის მიერ მისი proxy-pool ფენისთვის მითითებული ტრანზიტული წყარო; OmniRoute ინარჩუნებს ამ წარმომავლობის მითითებას, თუმცა თავის bounded Grok Web executor-ში proxy-pool-ის პორტირებას არ იჩემებს.
Grok Web-ის ორიგინალურ იმპლემენტაციას გაეცნენ მისი HTTP/browser upstream-ის დიზაინისთვის; მისი პირდაპირი HTTP გზა GrokProxy-დან მომდინარეობს, ამიტომ კოდის დამოუკიდებელი პორტირება არ არის მითითებული.
ვირუსული პროექტი — „რატომ გამოვიყენოთ ბევრი ტოკენი, როცა ცოტაოდენი ტოკენიც ასრულებს საქმეს“ — მისი გამოქვაბულის ადამიანის მეტყველების ფილოსოფია ამუშავებს ჩვენს სტანდარტულ შეკუმშვის რეჟიმს და 30-ზე მეტ შემავსებლის/კონდენსაციის წესს.
შიგთავსზე ორიენტირებულმა, თითოეული ფაილის ტიპისთვის ცალ-ცალკე გამოსავლის შეკუმშვამ, მარცხის გათვალისწინებით უარის თქმამ, დაადასტურა ჩვენი ტიპების მიხედვით დისპეტჩინგი და მინიმალური მოგებისას გამოტოვება.
TypeScript Compiler API-ის ხელსაწყოთა ნაკრებმა შთააგონა ჩვენი პარსერზე დაფუძნებული კომენტარების მოცილება, რომელიც ინარჩუნებს სტრიქონულ, template- და regex-ლიტერალებს.
კოდირების ასისტენტსა და LLM-ს შორის ტრაფიკის MITM-ით გადაჭერამ/ანალიზმა განსაზღვრა Traffic Inspector-ის ადრეული მოთხოვნები. ადრე მიღებული ოთხი მოდული — SSE-ის გაერთიანება, საუბრების ნორმალიზაცია, საიდუმლოებების დაფარვა და ჰედერების გასუფთავება — ჩანაცვლებულია დამოუკიდებელი, clean-room პრინციპით განხორციელებული რეალიზაციებით, რომლებიც საჯარო პროტოკოლის სტანდარტებს ეფუძნება. ჰოსტებზე passthrough-ის ორი ზედაპირი (passthrough.ts და _internal/bypass.cjs) კვლავ OmniRoute-ის შიდა რეალიზაციებად რჩება და დამოუკიდებლად არის კლასიფიცირებული; ისინი ამ ჩანაცვლების ფარგლებში ხელახლა არ დაწერილა.
თითოეული პროცესისთვის გამჭვირვალე პროქსით მარშრუტიზაციამ შთააგონა ავარიის მიმართ უსაფრთხო MITM-ის დასრულება, სოკეტის უმოქმედობის ტაიმ-აუტები, პროცესების ატრიბუცია /proc-ის მეშვეობით და TPROXY-ის დაჭერა.
უსაფრთხო ნაგულისხმევი პარამეტრებით ბიბლიოთეკების კურირებული სია, რომელიც წარმართავს ჩვენს უსაფრთხოების არჩევანს (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
მისმა ანგარიშზე დამოკიდებულმა მოდელების გადამისამართებამ, შესრულებადი ფაილების გზების ვალიდაციამ და გეგმის იარლიყების ქცევამ გავლენა მოახდინა OmniRoute-ის Antigravity runtime-ზე.
გამოავლინა Grok Build-ის კვოტის ზედაპირი; OmniRoute-მა შემდეგ დამოუკიდებლად გადაამოწმა და შეასწორა wire-ის ცოცხალი ფორმატი.
## 📄 ლიცენზია
MIT ლიცენზია — დეტალებისთვის იხილეთ [LICENSE](LICENSE).
---
**[⬆ თავში დაბრუნება](#-omniroute)** · შექმნილია ❤️-ით ღია კოდის AI-საზოგადოებისთვის.
შექმნა Diego Souza-მ · OmniRoute v3.8.54 · Node ≥22.22.2 · MIT ლიცენზია · omniroute.online