# README (ខ្មែរ)
🌐 **Languages:** 🇺🇸 [English](../../../README.md) · 🇪🇹 [am](../am/README.md) · 🇸🇦 [ar](../ar/README.md) · 🇦🇿 [az](../az/README.md) · 🇧🇬 [bg](../bg/README.md) · 🇧🇩 [bn](../bn/README.md) · 🇧🇦 [bs](../bs/README.md) · 🇨🇿 [cs](../cs/README.md) · 🇩🇰 [da](../da/README.md) · 🇩🇪 [de](../de/README.md) · 🇬🇷 [el](../el/README.md) · 🇪🇸 [es](../es/README.md) · 🇪🇪 [et](../et/README.md) · 🇮🇷 [fa](../fa/README.md) · 🇫🇮 [fi](../fi/README.md) · 🇫🇷 [fr](../fr/README.md) · 🇮🇪 [ga](../ga/README.md) · 🇮🇳 [gu](../gu/README.md) · 🇳🇬 [ha](../ha/README.md) · 🇮🇱 [he](../he/README.md) · 🇮🇳 [hi](../hi/README.md) · 🇭🇷 [hr](../hr/README.md) · 🇭🇺 [hu](../hu/README.md) · 🇦🇲 [hy](../hy/README.md) · 🇮🇩 [id](../id/README.md) · 🇳🇬 [ig](../ig/README.md) · 🇮🇹 [it](../it/README.md) · 🇯🇵 [ja](../ja/README.md) · 🇬🇪 [ka](../ka/README.md) · 🇮🇳 [kn](../kn/README.md) · 🇰🇷 [ko](../ko/README.md) · 🇱🇹 [lt](../lt/README.md) · 🇱🇻 [lv](../lv/README.md) · 🇮🇳 [ml](../ml/README.md) · 🇮🇳 [mr](../mr/README.md) · 🇲🇾 [ms](../ms/README.md) · 🇲🇹 [mt](../mt/README.md) · 🇲🇲 [my](../my/README.md) · 🇳🇵 [ne](../ne/README.md) · 🇳🇱 [nl](../nl/README.md) · 🇳🇴 [no](../no/README.md) · 🇮🇳 [or](../or/README.md) · 🇮🇳 [pa](../pa/README.md) · 🇵🇭 [phi](../phi/README.md) · 🇵🇱 [pl](../pl/README.md) · 🇵🇹 [pt](../pt/README.md) · 🇧🇷 [pt-BR](../pt-BR/README.md) · 🇷🇴 [ro](../ro/README.md) · 🇷🇺 [ru](../ru/README.md) · 🇱🇰 [si](../si/README.md) · 🇸🇰 [sk](../sk/README.md) · 🇸🇮 [sl](../sl/README.md) · 🇷🇸 [sr](../sr/README.md) · 🇸🇪 [sv](../sv/README.md) · 🇰🇪 [sw](../sw/README.md) · 🇮🇳 [ta](../ta/README.md) · 🇮🇳 [te](../te/README.md) · 🇹🇭 [th](../th/README.md) · 🇹🇷 [tr](../tr/README.md) · 🇺🇦 [uk-UA](../uk-UA/README.md) · 🇵🇰 [ur](../ur/README.md) · 🇺🇿 [uz](../uz/README.md) · 🇻🇳 [vi](../vi/README.md) · 🇳🇬 [yo](../yo/README.md) · 🇨🇳 [zh-CN](../zh-CN/README.md) · 🇹🇼 [zh-TW](../zh-TW/README.md)
---
# 🚀 OmniRoute — ច្រកទ្វារ AI ឥតគិតថ្លៃ
## 💰 ~1.62B ថូខិន / ខែ តាមរយៈកម្រិតប្រើឥតគិតថ្លៃរបស់ភាគីទីបី
> **ប្រើគណនីអ្នកផ្តល់សេវាផ្ទាល់ខ្លួនរបស់អ្នក។** នេះគឺជាការប៉ាន់ស្មានសរុបពីកម្រិតប្រើឥតគិតថ្លៃរបស់ភាគីទីបីដែលមានលក្ខខណ្ឌទទួលបានដោយឡែកពីគ្នា មិនមែនជាការផ្តល់ថូខិនពី OmniRoute ទេ។ ចុះឈ្មោះ ទទួលយកព័ត៌មានសម្គាល់អត្តសញ្ញាណនៅកន្លែងដែលតម្រូវ ហើយភ្ជាប់អ្នកផ្តល់សេវាដែលអ្នកអាចប្រើបាន; អ្នកផ្តល់សេវានីមួយៗគ្រប់គ្រងដែនកំណត់ ភាពអាចប្រើបាន និងលក្ខខណ្ឌរបស់ខ្លួន។
>
> ការបញ្ចូលកម្រិតប្រើឥតគិតថ្លៃជាច្រើនដោយដៃគឺពិបាក — SDK រាប់សិប ដែនកំណត់អត្រារាប់សិប ហើយមិនដឹងថាអ្នកពិតជាមានប៉ុន្មាននោះទេ។ OmniRoute រៀបចំកាតាឡុក **ធាតុកម្រិតប្រើឥតគិតថ្លៃចំនួន 489 នៅក្នុងសោ pool កើតឡើងវិញចំនួន 35** ហើយគណនាចំនួនថូខិនចម្បងពី **pool ចំនួន 17 ដែលមានថវិកាប្រចាំខែវិជ្ជមានបានប្រកាសជាសាធារណៈ បូកនឹងកម្រិត Groq តាមម៉ូដែលចំនួនប្រាំ** ដោយលុបការរាប់ស្ទួនតាម pool ដែលប្រើរួម។ កូតាដែលបើកឱ្យប្រើបានតែបន្ទាប់ពីការផ្ទៀងផ្ទាត់អត្តសញ្ញាណតាមតំបន់ (បច្ចុប្បន្ន៖ ModelScope) ត្រូវបានបង្ហាញដាច់ដោយឡែក គឺ +~6M នៅពីក្រោយការផ្ទៀងផ្ទាត់អត្តសញ្ញាណតាមតំបន់ ហើយមិនត្រូវបានបូកបញ្ចូលក្នុងចំនួនចម្បងឡើយ។ លទ្ធផលនៅតែអាចមើលឃើញនៅលើផ្ទាំងគ្រប់គ្រង (`/dashboard/free-tiers`)។
> សេចក្តីសង្ខេបមានចលនានៃទំព័របច្ចុប្បន្ន `/dashboard/free-tiers`។ វិធីសាស្ត្រពេញលេញ (ការលុប pool ស្ទួន កម្រិតឥណទាន លក្ខខណ្ឌអ្នកផ្តល់សេវា)៖ **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**។
>
> តួលេខទាំងនេះត្រូវបានធ្វើសវនកម្មឡើងវិញរៀងរាល់ពីរសប្តាហ៍ ធៀបនឹងកាតាឡុកបច្ចុប្បន្ន ហើយ **អាចផ្លាស់ប្តូរទាំងឡើងនិងចុះ** — ប្រសិនបើអ្នកផ្តល់សេវាបញ្ចប់កម្រិតប្រើឥតគិតថ្លៃ ចំនួននឹងថយចុះ; ប្រសិនបើមានកម្រិតថ្មី ចំនួននឹងកើនឡើង។ យើងផ្សព្វផ្សាយអ្វីដែលកាតាឡុកគណនាបានពិតប្រាកដ មិនមែនករណីល្អបំផុតដែលបានបង្គត់ឡើងទេ។
⭐ ដាក់ផ្កាយឱ្យ repo ប្រសិនបើ 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)**
## 📈 Gateway បន្តរីកចម្រើន
| | v3.8.50 | **v3.8.51** | `v3.8.52+` |
| ------------------------------- | :--------------------------: | :---------: | :-------------------: |
| 🌐 អ្នកផ្តល់សេវា | 352 | **358** | 372 |
| 🧠 ID ម៉ូដែលជជែកតែមួយគត់ | 1320 | **1374** | 1443 |
| 🖼️ ស្ពានទម្រង់ទិន្នន័យ | 🆕 រូបភាព + អូឌីយ៉ូ + វីដេអូ | ✓ | ✓ |
| 📡 កាតាឡុក Radar ឥតគិតថ្លៃ | 🆕 ជ្រើសរើសចូល | ✓ | ✓ |
| ⚖️ ការកំណត់កាលវិភាគដោយគិតពីកូតា | 🆕 Quota-Share | ✓ | ✓ |
| 📊 ទិន្នន័យតេឡេមេទ្រីនៃកូតា | 🆕 ផ្ទាល់ | ✓ | ✓ |
| 🧰 របៀបគ្មានចំណុចប្រទាក់ | — | — | 🆕 `serve --headless` |
| 🛤️ ហេដ្ឋារចនាសម្ព័ន្ធផ្លូវ LTS | — | — | 🆕 ឆានែលចេញផ្សាយ |
**→ [ផែនទីបង្ហាញផ្លូវ](ROADMAP.md) — ធ្វើដំណើរតាមផ្លូវឆ្ពោះទៅកាន់ `v3.9.0 LTS`**
## 🧩 អាចប្រើបាន
[](https://www.npmjs.com/package/omniroute)

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


## 🆓 ដំឡើង ភ្ជាប់អ្នកផ្តល់សេវា បន្ទាប់មកបញ្ជូនតាមរយៈចំណុចចុងតែមួយ
```bash
# បន្ទាប់ពីភ្ជាប់អ្នកផ្ដល់សេវា សូមចម្លង OmniRoute key របស់អ្នកពី 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` ត្រូវការផ្លូវបញ្ជូនដែលមានសិទ្ធិ។ ការដំឡើងថ្មីអាចមិនមានគោលដៅគ្មាន key ដែលមានសិទ្ធិទេ ហើយអ្នកផ្ដល់សេវាគ្មាន key អាចបដិសេធ client របស់ភាគីទីបី។ អ្នកផ្ដល់សេវាដែលបានសម្គាល់ `tos: avoid` រួមទាំង OpenCode Free និង Kiro ត្រូវបានដកចេញពីការបញ្ជូនដោយស្វ័យប្រវត្តិតាមលំនាំដើម។ ការភ្ជាប់គណនីមិនបដិសេធការកំណត់នោះទេ។ សូមមើល [មគ្គុទ្ទេសក៍កម្រិតប្រើប្រាស់ឥតគិតថ្លៃ](docs/getting-started/FREE-TIERS-GUIDE.md) មុនពេលជ្រើសរើសអ្នកផ្ដល់សេវា។
📦 ស្គ្រីបចាប់ផ្ដើមរហ័សដែលអាចចម្លង និងបិទភ្ជាប់បាន សម្រាប់ **Python, Node.js, PHP និង cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 ការសន្យា
# 🤔 ហេតុអ្វីត្រូវប្រើ OmniRoute?
## 🤝 គាំទ្រដោយមិត្តភក្តិប្រភពបើកចំហរបស់យើង
> **ចង់ចូលរួមជាមិត្តភក្តិប្រភពបើកចំហទេ?** ទាំងនេះគឺជាក្រុមហ៊ុនដែលគាំទ្រប្រភពបើកចំហ និងជួយរក្សា OmniRoute ឱ្យដំណើរការ — ហើយយើងប្រកាសជាសាធារណៈថាគ្រប់ token ដែលពួកគេផ្តល់ឱ្យយើងទៅណា។ ទាក់ទងមក៖ [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
សូមអរគុណដល់ Kimi (Moonshot AI) ដែលជាមិត្តភក្តិប្រភពបើកចំហស្ថាបនិករបស់យើង សម្រាប់ការគាំទ្រគម្រោងនេះ! Kimi គឺជាមន្ទីរពិសោធន៍ AI នៅពីក្រោយគ្រួសារម៉ូដែល K2 និង K3 ដែលមានទម្ងន់បើកចំហ — Kimi K3 ផ្តល់នូវបង្អួចបរិបទ 1M-token, ចក្ខុវិស័យដើម និងការសរសេរកូដកម្រិតព្រំដែនក្នុងតម្លៃមួយភាគនៃតម្លៃម៉ូដែលបិទជិត ហើយដំណើរការចេញពីប្រអប់ជាមួយ Claude Code, Codex និងឧបករណ៍សរសេរកូដទាំងអស់ដែល OmniRoute ផ្តល់ជូន។
អ្វីដែលការគាំទ្ររបស់ Kimi ផ្តល់ថាមពល៖ ឥណទាន API របស់ Kimi ផ្តល់ថាមពលដល់បំពង់បង្ហូរចេញដែលបានផ្ទៀងផ្ទាត់ដោយ AI របស់ OmniRoute — ដំណាក់កាល ការផ្ទៀងផ្ទាត់ការបញ្ចូលគ្នាដែលផ្តល់ថាមពលដោយ Kimi K3 ដែលពិនិត្យមើលរាល់សំណើសុំទាញមុនពេលវាចេញផ្សាយ — បូករួមទាំងការអភិវឌ្ឍន៍មុខងារប្រចាំថ្ងៃ។ ការគាំទ្រ Kimi លំដាប់ទីមួយត្រូវបានដឹកជញ្ជូនលើផ្លូវដែកទាំងពីរ៖ Kimi API ដោយផ្ទាល់ (kimi-k3) និង គម្រោងសរសេរកូដ Kimi Code (OAuth និង API key)។ OmniRoute ក៏ជាគម្រោងប្រភពបើកចំហរបស់ប្រេស៊ីលដំបូងគេនៅក្នុងកម្មវិធីគាំទ្ររបស់ Kimi ផងដែរ។ ទទួលបាន Kimi API key ជាមួយនឹងឥណទានបន្ថែម 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 key →
តំណភ្ជាប់ដែលបានដាក់ស្លាក 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 ទេ? បើកបញ្ហាហើយយើងនឹងបន្ថែមវានៅទីនេះ។
## 🎯 Combo — មុខងារចម្បង
> **Combo** គឺជាខ្សែសង្វាក់នៃម៉ូដែលដែល OmniRoute កំណត់ផ្លូវឆ្លងកាត់ដោយ **ស្វ័យប្រវត្តិ**។ ប្រសិនបើកូតាត្រូវបានប្រើអស់ អ្នកផ្តល់សេវាបរាជ័យ ឬតម្លៃកើនឡើង Combo អាចប្តូរទៅម៉ូដែលដែលមានសុខភាពល្អ និងមានលក្ខណៈសម្បត្តិសមស្របបន្ទាប់។ 🛡️
### ⚡ មិនត្រូវការការកំណត់រចនាសម្ព័ន្ធ — គ្រាន់តែប្រើ `auto`
មិនចាំបាច់បង្កើត Combo ទេ។ កំណត់ម៉ូដែលរបស់អ្នកជា `auto` (ឬវ៉ារ្យ៉ង់ណាមួយ) ហើយ OmniRoute នឹងបង្កើត Combo និម្មិតពីអ្នកផ្តល់សេវាដែលអ្នកបានភ្ជាប់ ដោយដាក់ពិន្ទុជាក់ស្តែង៖
លេខសម្គាល់ម៉ូដែល អ្វីដែលវាបង្កើនប្រសិទ្ធភាព
auto🎯 លំនាំដើមដែលមានតុល្យភាព (LKGP — បន្តប្រើអ្នកផ្តល់សេវាល្អចុងក្រោយរបស់អ្នក)
auto/coding🧑💻 ទម្ងន់ដែលផ្តល់អាទិភាពដល់គុណភាពសម្រាប់ការបង្កើតកូដ
auto/fast⚡ ផ្តល់អាទិភាពដល់ភាពយឺតយ៉ាវទាបបំផុត
auto/cheap💰 ផ្តល់អាទិភាពដល់តម្លៃថោកបំផុតក្នុងមួយ token
auto/offline🔋 ផ្តល់អាទិភាពដល់កូតា / គម្លាតដែនកំណត់អត្រាដែលនៅសល់ច្រើនបំផុត
auto/smart🔭 ផ្តល់អាទិភាពដល់គុណភាព + ការសាកល្បង 10% ដើម្បីស្វែងរកម៉ូដែលដែលប្រសើរជាង
auto/lkgp📌 បន្តប្រើអ្នកផ្តល់សេវាល្អដែលបានស្គាល់ចុងក្រោយដោយជាក់លាក់
auto/chaos🧪 ចែកសំណើស្របគ្នាទៅក្រុមម៉ូដែល (មួយក្នុងអ្នកផ្តល់សេវានីមួយៗ និង 5 តាមលំនាំដើម) ហើយត្រឡប់ចម្លើយមួយ; ការហៅទៅប្រភពខាងលើមួយក្នុងមួយម៉ូដែលនៃក្រុម មិនមែនជាការបញ្ចូលកំហុសទេ
##
### 🔀 ឬបង្កើតដោយខ្លួនឯង — យុទ្ធសាស្ត្រកំណត់ផ្លូវ 19
យុទ្ធសាស្ត្រទាំង **19** — លាយបញ្ចូល និងផ្គូផ្គងតាមជំហាន Combo នីមួយៗ៖
#
យុទ្ធសាស្ត្រ
អ្វីដែលវាធ្វើ
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
reset-window
ផ្តល់អាទិភាពដល់គោលដៅដែលចន្លោះពេលកូតារបស់វានឹងកំណត់ឡើងវិញមុនគេ
12
reset-aware
ចាត់ថ្នាក់តាមពេលវេលាកំណត់កូតាឡើងវិញ — ចន្លោះពេលខ្លីមុន 📊
13
context-relay
ផ្ទេរបរិបទឆ្លងកាត់គោលដៅសម្រាប់ការសន្ទនាវែងៗ 🧠
14
context-optimized
ជ្រើសជម្រើសដែលសមស្របបំផុតសម្រាប់ទំហំបរិបទបច្ចុប្បន្ន
15
cache-optimized
ភ្ជាប់បុព្វបទ prompt ដែលអាចប្រើឡើងវិញនីមួយៗទៅគណនីដដែល — បង្កើនចំនួន prompt-cache hit ឱ្យអតិបរមា 🎯
16
lkgp
ផ្លូវល្អដែលបានស្គាល់ចុងក្រោយ — ភ្ជាប់ទៅអ្នកផ្តល់សេវាដែលជោគជ័យចុងក្រោយ បន្ទាប់មកប្តូរទៅប្រើច្បាប់បម្រុង
17
auto
ការដាក់ពិន្ទុជាក់ស្តែងតាមកត្តា 16 នៅគ្រប់ការតភ្ជាប់ 🤖
18
fusion
ចែកសំណើទៅក្រុមម៉ូដែល + ម៉ូដែលវិនិច្ឆ័យសំយោគចម្លើយតែមួយ 🧬
19
pipeline
តភ្ជាប់ជំហានជាខ្សែសង្វាក់ — លទ្ធផលរបស់គោលដៅនីមួយៗត្រូវបានបញ្ជូនទៅគោលដៅបន្ទាប់ 🔗
ម៉ាស៊ីន Auto-Combo ដាក់ពិន្ទុបេក្ខភាពនីមួយៗតាម **កត្តា 16** (ស្ថានភាពប្រព័ន្ធ កូតា តម្លៃ ភាពយឺតយ៉ាវ ភាពសមស្របនឹងកិច្ចការ គុណភាព ភាពអាចប្រើបាននៃ session…) — សូមមើល [`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 និងត្រូវបានថែទាំជាសាធារណៈ។ ប្រសិនបើវាជួយសន្សំពេលវេលា ឬថវិការបស់អ្នក នេះជាវិធីដែលអាចជួយរក្សាឯករាជ្យភាពរបស់វា — ជ្រើសរើសអ្វីដែលសមនឹងអ្នក។ ការឧបត្ថម្ភមិនដែលប៉ះពាល់ដល់អាទិភាពនៃការកំណត់ផ្លូវឡើយ វាផ្តល់តែភាពមើលឃើញ មិនមែនចំណាត់ថ្នាក់ទេ។
**🇧🇷 PIX** — ភ្លាមៗ ដោយមិនគិតថ្លៃ (ប្រេស៊ីល)
កូនសោ (ចៃដន្យ)៖ `5d865059-bc44-483a-962d-43ceb80126eb`
Pix copia-e-cola៖
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ រូបិយប័ណ្ណគ្រីបតូ — BTC · ETH · USDT-TRC20 · USDC-Solana (ចុចដើម្បីពង្រីក)
₿ BTC Bitcoin (SegWit) bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH Ethereum (ERC20) 0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT Tron (TRC20) TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC Solana 2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ សូមផ្ញើកាក់នីមួយៗតែលើបណ្តាញដែលបានបង្ហាញប៉ុណ្ណោះ — ការផ្ញើលើបណ្តាញខុសអាចធ្វើឱ្យបាត់បង់ថវិកា។
🐛 បានរកឃើញកំហុស ឬមានមតិកែលម្អមែនទេ? បើក [ការពិភាក្សា](https://github.com/diegosouzapw/OmniRoute/discussions) មួយ។
កំណត់សម្គាល់សម្រាប់អ្នកអភិវឌ្ឍន៍៖ គម្រោងអាចបង្កើតឯកសារមូលដ្ឋាន .env អំឡុងពេល npm install/postinstall ដើម្បីផ្តល់ភាពងាយស្រួលដល់អ្នកអភិវឌ្ឍន៍។ ឯកសារនេះត្រូវបានមិនអើពើដោយចេតនាតាមរយៈ .gitignore (សូមមើល .gitignore) ហើយមិនត្រូវ commit ជាដាច់ខាត — ប្រសិនបើបាន commit ដោយចៃដន្យ សូមប្តូរព័ត៌មានសម្ងាត់ដែលបានបង្ហាញណាមួយ ហើយលុបឯកសារនោះចេញពីប្រវត្តិ។ សូមមើល docs/DEVELOPER-ENVIRONMENT.md សម្រាប់ការណែនាំអំពីការគ្រប់គ្រងឯកសារបរិស្ថានមូលដ្ឋាន និងព័ត៌មានសម្ងាត់។
## 📡 OmniRoute Radar
ចំណុចសំខាន់នៃកម្រិតឥតគិតថ្លៃនៅតែមាន **~1.62B tokens/ខែ** ពីកាតាឡុកដែលបានរៀបរាប់ខាងលើ និងបានលុបធាតុស្ទួនរវាងបណ្តុំរួច។ ក្រេឌីតបណ្តោះអាសន្នសម្រាប់ការចុះឈ្មោះជាមួយអ្នកផ្តល់សេវា អាចបង្កើនចំនួនសម្រាប់ខែដំបូងដោយឡែករហូតដល់ **~2.22B**។ Radar គឺជាស្រទាប់បន្ថែមលើកាតាឡុកដែលមានហត្ថលេខាផ្ទៀងផ្ទាត់ និងអាចជ្រើសរើសប្រើបាន សម្រាប់អ្នកដែលចង់ទទួលបានព័ត៌មានថ្មីជាងមុនអំពីភាពអាចប្រើបាននៃម៉ូដែលឥតគិតថ្លៃ នៅចន្លោះការចេញផ្សាយនីមួយៗរបស់ OmniRoute។ កាតាឡុកសហគមន៍ និងមុខងារឥតគិតថ្លៃដែលមានស្រាប់ទាំងអស់ នៅតែឥតគិតថ្លៃដដែល។
អ្នកគាំទ្រអាចទទួលបានកាតាឡុកបន្តផ្ទាល់ និងឱកាសបន្ថែមពីអ្នកផ្តល់សេវា។ ដែនកំណត់អតិបរមាដាច់ដោយឡែក និងអាចផ្លាស់ប្តូរបានរបស់វាគឺ **ប្រហែល 3B tokens/ខែ យ៉ាងច្រើនបំផុត** ដោយអាស្រ័យលើភាពអាចប្រើបានរបស់អ្នកផ្តល់សេវា។ ដែនកំណត់នេះមិនមែនជាការធានាទេ៖ អ្នកផ្តល់សេវាអាចផ្លាស់ប្តូរកូតា លក្ខខណ្ឌសិទ្ធិទទួលបាន ម៉ូដែល ឬតំបន់បានគ្រប់ពេល។
Radar គឺជាមុខងារដែលត្រូវជ្រើសរើសចូលប្រើ និងប្រើតែ GET ប៉ុណ្ណោះ។ កម្មវិធីអតិថិជន OmniRoute មិនបង្ហោះប្រូមត៍ ចរាចរណ៍ ការកំណត់រចនាសម្ព័ន្ធអ្នកផ្តល់សេវា ទិន្នន័យតេឡេមេទ្រីនៃការប្រើប្រាស់ ឬស្ថានភាពមូលដ្ឋាននៃការបិទការជូនដំណឹងឡើយ។ ស្វែងយល់អំពីលក្ខខណ្ឌសិទ្ធិទទួលបាន និងកាតាឡុកបច្ចុប្បន្ននៅ **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**។
## ✨ អ្វីដែលថ្មី
> ចំណុចលេចធ្លោថ្មីៗពី **v3.8.20 → v3.8.50**។ ប្រវត្តិពេញលេញមាននៅក្នុង [`CHANGELOG.md`](CHANGELOG.md)។
- **🎛️ OmniConductor** — ការផ្ទេរភារកិច្ច A2A ចូលទៅកាន់ក្រុម agent របស់អ្នក, ជំនាញ Conductor នៅលើ Agent Card និងផ្ទាំង dashboard ដែលមានការជជែកជាសំឡេងបែបចុចដើម្បីនិយាយរបស់ Faro។ → [ម៉ាស៊ីនបម្រើ A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 ការអនុញ្ញាតឱ្យចូលបែបសម្របខ្លួន និងការការពារពីបន្ទុកលើស** — សំណើ chat ដែលប្រើធនធានច្រើននឹងត្រូវតម្រង់ជួរ ជំនួសឱ្យការឆ្លើយតប 503 ដោយមានការជួលបង្វិល RPM បែបអាតូមិកសម្រាប់ connection នីមួយៗ។ → [មគ្គុទ្ទេសក៍ភាពធន់](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ លំដាប់ `/v1/models` ស្តង់ដារ** — block ជាប់គ្នាមួយដែលដាក់ជាក្រុមតាម provider សម្រាប់ provider នីមួយៗ (combos ត្រូវបានដាក់ថេរនៅមុខគេ) និងមានស្ថិរភាពនៅគ្រប់ប្រភព catalog។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md)
- **🗜️ ការពង្រឹង compression** — inflation guard ដែលបើកតាមលំនាំដើម, Caveman packs សម្រាប់ DE / FR / JA + ភាសាចិន (wényán), និង RTK filters សម្រាប់ Gradle និង .NET។ → [Compression](docs/compression/COMPRESSION_ENGINES.md)
- **💸 តម្លៃថេរដែលឆ្លុះបញ្ចាំងត្រឹមត្រូវ** — providers ប្រភេទ subscription / coding-plan បង្ហាញតម្លៃ **$0** ក្នុងការវិភាគចំណាយ ខណៈដែល budget, quota និង routing នៅតែបន្តធ្វើការប៉ាន់ស្មាន។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share routing** — បែងចែក quota របស់គណនីរួមដោយយុត្តិធម៌រវាង keys ក្នុង pool ដោយរក្សាការប្រើប្រាស់ធនធានឱ្យមានប្រសិទ្ធភាព ដូច្នេះចំណែកដែលនៅទំនេរត្រូវបានផ្តល់ឱ្យអ្នកផ្សេងប្រើបណ្តោះអាសន្ន។ → [មគ្គុទ្ទេសក៍ភាពធន់](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 ការដំឡើង CLI/agent ដោយប្រើ command តែមួយ** — មាន command `setup-*` ដែលបានចុះឈ្មោះចំនួន 13; `omniroute run` ដំណើរការ CLI ចំនួន 7 (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` គាំទ្រគោលដៅ 10 ជាមួយឧបករណ៍ជ្រើស provider+model បែបអន្តរកម្ម និងបញ្ជីចំណូលចិត្តសម្រាប់ context នីមួយៗ។ → [ការរួមបញ្ចូល CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ របៀបពីចម្ងាយ** — គ្រប់គ្រង OmniRoute ពីចម្ងាយដោយប្រើ token ដែលកំណត់វិសាលភាព (`connect` / `contexts` / `tokens`) + ឧបករណ៍ជំនួយ OAuth `antigravity` សម្រាប់ការដំឡើងលើ VPS។ → [របៀបពីចម្ងាយ](docs/guides/REMOTE-MODE.md)
- **🧭 Auto-routing កាន់តែឆ្លាតវៃ** — combos `auto/:`, **Fusion** (model panel + judge), routing ដែលយល់ដឹងអំពី task និងការកំណត់ជំនួស model / mode / USD-budget តាមសំណើនីមួយៗ។ → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Compression ដែលអាចដោតបន្ថែមបាន** — engine ដែលអាចផ្សំគ្នាបានចំនួន 12 + Compression Studios៖ LLMLingua-2, Ultra ពីរថ្នាក់, omniglyph, fidelity gate សម្រាប់ជំហាននីមួយៗ, GCF v3.2 និងកម្មវិធីកែសម្រួលដែលអាចអូសដើម្បីរៀបលំដាប់ឡើងវិញ។ → [Compression](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ ការឌិគ្រីប MITM ប្រកបដោយតម្លាភាព (TPROXY)** — ចាប់យក CLI ដែលមិនអើពើនឹង proxy env vars ដោយមាន CA សម្រាប់ SNI នីមួយៗ + កម្មវិធីដំឡើង trust-store។ → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 ទិន្នន័យ telemetry នៃចំណាយគ្រប់ទីកន្លែង** — headers `X-OmniRoute-*` សម្រាប់ចំណាយ/ការប្រើប្រាស់នៅគ្រប់ endpoint, header បង្ហាញការសន្សំដោយ cache-HIT និង quota ចំណាយជា USD សម្រាប់ key នីមួយៗ។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md)
- **🧠 Memory ដែលអ្នកគ្រប់គ្រងបាន** — បិទតាមលំនាំដើម, អាចជ្រើសបើក int8 vector quantization + typed decay និង `x-omniroute-no-memory` សម្រាប់សំណើនីមួយៗ។ → [Memory](docs/frameworks/MEMORY.md)
- **🛡️ សុវត្ថិភាព** — prompt-injection guard នៅលើគ្រប់ route របស់ LLM (red-team suite), guardrail សម្រាប់បិទបាំងព័ត៌មានសម្ងាត់ដែលអាចជ្រើសបើកបាន (លុបបាំង API keys/secrets ដែលលេចធ្លាយក្នុងទិសដៅទាំងពីរ), ការស្វែងរកតាមវេប DuckDuckGo ឥតគិតថ្លៃជាជម្រើសចុងក្រោយ និងច្រកចូល OIDC ជាជម្រើសសម្រាប់ dashboard (ការចូលដោយ password នៅតែអាចប្រើបានជានិច្ច)។ → [Guardrails](docs/security/GUARDRAILS.md)
- **🖼️ Endpoints ថ្មី** — `/v1/ocr` (Mistral OCR) និង `/v1/audio/translations` (បែប Whisper) បំពេញមុខងារ media ឱ្យកាន់តែគ្រប់ជ្រុងជ្រោយ។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md)
- **🎨 ការបង្កើតរូបភាព / វីដេអូ / សំឡេង** — API តែមួយសម្រាប់ media៖ វីដេអូ xAI Grok Imagine និង Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind និង speech providers ដូចជា ElevenLabs។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md)
- **🌍 ការដាក់ឱ្យដំណើរការ និងប្រតិបត្តិការ** — reverse-proxy `basePath`, ការរកឃើញភាសា browser ដោយស្វ័យប្រវត្តិ, ការតាមដាន device សម្រាប់ key នីមួយៗ, MITM trust ដែលមិនត្រូវការ root និងការធ្វើមូលដ្ឋានីយកម្ម zh-TW។ → [បរិស្ថាន](docs/reference/ENVIRONMENT.md)
- **🤝 Providers និង agents កាន់តែច្រើន** — cloud agents (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) ជាមួយ browser + ការចូលតាម OAuth, card ពេញលេញសម្រាប់ Ollama, Claude Opus 5 និង Sonnet 5, ភាពជាដៃគូផ្លូវការជាមួយ Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… និង **catalog ដែលមាន 352 providers** ដែលបានធ្វើបច្ចុប្បន្នភាព។ → [Providers](docs/reference/PROVIDER_REFERENCE.md)
- **📡 តម្លាភាពនៃ routing** — រាល់ response មាន header `X-OmniRoute-Decision` ដែលបញ្ជាក់ strategy/provider/latency ដែលបានបម្រើវា, strategy ថ្មី `cache-optimized` សម្រាប់ combo + កត្តា Auto-Combo `cacheAffinity` បញ្ជូនសំណើដដែលៗត្រឡប់ទៅ connection ដែលកាន់ cached prefix ហើយ endpoint ដែលអាចអានបានតែប៉ុណ្ណោះ `/v1/auto-combo/{channel}/candidates` បង្ហាញ candidate pool ផ្ទាល់របស់ channel `auto/*`។ → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ ប្រសិទ្ធភាព local និងហេដ្ឋារចនាសម្ព័ន្ធ** — Redis local ដោយចុចតែមួយដង, ឧបករណ៍ deploy relay សម្រាប់ Cloudflare Workers / Deno Deploy និង Bifrost និង Mux ជា embedded services ដែលមានការត្រួតពិនិត្យ។ → [Embedded Services](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 មានរួមបញ្ចូលផងដែរ** — plugin framework + marketplace, frameworks សម្រាប់ជំនាញ Omni/Agent/GitHub, ការរួមបញ្ចូល Obsidian vault (ឧបករណ៍ MCP ចំនួន 22), Batch និង Files APIs ដែលត្រូវគ្នាជាមួយ OpenAI, semantic response cache, gamification ជាមួយ leaderboards, ការស្វែងរក agent តាម ACP (agents ភ្ជាប់មកជាស្រេចចំនួន 15), ការនាំចេញ log តាមកាលវិភាគទៅ BigQuery, `auto/chaos` សម្រាប់ការបំបែកសំណើប៉ារ៉ាឡែលទៅកាន់ model ច្រើន, ស្ពានភ្ជាប់ Telegram bot, កម្មវិធីគ្រប់គ្រង version ក្នុង app និងចំណាត់ថ្នាក់ free-provider របស់ LMArena-ELO។ → [ឯកសារ](docs/README.md)
## 🤖 CLI និងភ្នាក់ងារសរសេរកូដដែលឆបគ្នា
> ការកំណត់រចនាសម្ព័ន្ធតែមួយ — `http://localhost:20128/v1` — ហើយ IDE ឬ CLI ដែលប្រើ AI **ទាំងអស់** អាចដំណើរការជាមួយម៉ូដែលឥតគិតថ្លៃ និងតម្លៃទាប។
+ ក៏អាចប្រើជាមួយ · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · ឧបករណ៍ណាមួយដែលឆបគ្នាជាមួយ OpenAI
📖 ការដំឡើងដាច់ដោយឡែកសម្រាប់ឧបករណ៍ទាំង 36 (CLI Code ចំនួន 26 + CLI Agents ចំនួន 10) → [`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
```
ពាក្យបញ្ជានីមួយៗគោរពតាមបរិបទពីចម្ងាយដែលកំពុងសកម្ម (`omniroute connect `) ហើយ `--dry-run`
បង្ហាញការមើលជាមុននូវ env/args ពិតប្រាកដដោយមិនប្រតិបត្តិ ខណៈដែល `--api-key-env NAME` រក្សាព័ត៌មានសម្ងាត់ឱ្យនៅក្រៅ
ប្រវត្តិ shell របស់អ្នក។ → [ការរួមបញ្ចូល CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 អ្នកផ្តល់សេវា AI ចំនួន 372 — 154 ត្រូវបានសម្គាល់ថាឥតគិតថ្លៃក្នុងកាតាឡុក
> **អ្នកផ្តល់សេវាដែលបានចុះបញ្ជីចំនួន 372** នៅទូទាំងបណ្តុំស្តង់ដារសម្រាប់ការជជែក មេឌៀ ការស្វែងរក មូលដ្ឋាន ភ្នាក់ងារក្លោដ និងប្រព័ន្ធ ដែលរួមមាន **154 ដែលមានទិន្នន័យមេតាសម្រាប់ការស្វែងរក `hasFree: true`**។ បញ្ជីចុះឈ្មោះម៉ូដែលជជែកគ្របដណ្តប់ **អ្នកផ្តល់សេវា 237 / គូអ្នកផ្តល់សេវា-ម៉ូដែលផ្សេងគ្នា 3,009 / លេខសម្គាល់ម៉ូដែលដើម 1,443**; កាតាឡុកថវិកាឥតគិតថ្លៃដាច់ដោយឡែកមាន **ទិន្នន័យតាមម៉ូដែល 491 ជួរ** **កញ្ចប់កូតាកើតឡើងវិញ 35** និង **អ្នកផ្តល់សេវាឥតគិតថ្លៃជារៀងរហូតបែបកើតឡើងវិញ/មិនត្រូវការសោចំនួន 54**។ តួចែកទាំងនេះខុសគ្នាដោយចេតនា; និយមន័យ និងការគណនាដែលបានលុបការស្ទួនតាមកញ្ចប់មាននៅក្នុង [ឯកសារយោងអ្នកផ្តល់សេវា](docs/reference/PROVIDER_REFERENCE.md) និង [កម្រិតប្រើប្រាស់ឥតគិតថ្លៃ](docs/reference/FREE_TIERS.md)។
## 🖥️ កន្លែងដែល OmniRoute ដំណើរការ — គ្រប់ទីកន្លែង
> កម្មវិធីដដែល ម៉ាស៊ីនរបស់អ្នក ច្បាប់របស់អ្នក។ ចាប់ពីការដំឡើង npm ជាសកល រហូតដល់ **ទូរសព្ទរបស់អ្នក** តាមរយៈ Termux។
វេទិកា ការដំឡើង ចំណុចលេចធ្លោ
📦 npm (ជាសកល) npm install -g omnirouteពាក្យបញ្ជាតែមួយ ប្រើបានលើ OS ណាមួយ
🐳 Docker docker run … diegosouzapw/omnirouteស្ថាបត្យកម្មច្រើន AMD64 + ARM64
🖥️ កុំព្យូទ័រលើតុ (Electron) npm run electron:buildផ្ទាំង native + ថាសប្រព័ន្ធ — Windows / macOS / Linux
🎩 របារម៉ឺនុយ (OmniRouteTray) brew install --cask zoispag/tap/omniroute-trayត្រួតពិនិត្យ និងធ្វើបច្ចុប្បន្នភាពម៉ាស៊ីនមេដោយស្វ័យប្រវត្តិ — macOS
💪 ARM native arm64 Raspberry Pi, ម៉ាស៊ីនមេ ARM, Apple Silicon
📱 Android (Termux) pkg install nodejs && npx -y omnirouteដំណើរការ នៅលើទូរសព្ទរបស់អ្នក 24/7 ដោយមិនត្រូវការ root
📲 PWA "បន្ថែមទៅអេក្រង់ដើម" ពេញអេក្រង់ ប្រើក្រៅបណ្តាញ និងអាចដំឡើងពីកម្មវិធីរុករកបាន
🧩 កម្មវិធីជំនួយ OpenCode @omniroute/opencode-providerការរួមបញ្ចូល native ជាមួយ OpenCode
🤖 VS Code Copilot Chat ដំឡើងផ្នែកបន្ថែម OmniCopilot គ្រប់ម៉ូដែល OmniRoute នៅក្នុងឧបករណ៍ជ្រើសរើស Copilot Chat native — កំណែ stable និង Insiders
🛠️ ពីកូដប្រភព npm install && npm run devកែសម្រួលវា និងចូលរួមចំណែក
📖 [មគ្គុទ្ទេសក៍ Docker](docs/guides/DOCKER_GUIDE.md) · [កុំព្យូទ័រលើតុ](electron/README.md) · [ថាសរបារម៉ឺនុយ](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 ថ្មី៖ OmniRoute នៅខាងក្នុង Copilot Chat native របស់ VS Code
> គ្មានរបារចំហៀងថ្មី គ្មាន UI ជជែកថ្មី — គ្រប់ម៉ូដែលដែល OmniRoute ផ្តល់ នឹងបង្ហាញដោយផ្ទាល់ក្នុង
> **ឧបករណ៍ជ្រើសរើសម៉ូដែល Copilot Chat ដែលអ្នកកំពុងប្រើស្រាប់**។ ចាប់តាំងពី VS Code 1.122 មក ម៉ូដែលរបស់អ្នកផ្តល់សេវាអាចដំណើរការ
> ដោយមិនចាំបាច់ចូលគណនី GitHub ឬមានការជាវ Copilot ទេ — របៀប agent ការហៅឧបករណ៍ និង vision
> ដោយឥតគិតថ្លៃ។
ដំឡើងផ្នែកបន្ថែម **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** រួចចង្អុលវា
ទៅម៉ាស៊ីនមេ OmniRoute របស់អ្នក (តម្លៃលំនាំដើមគឺ `localhost:20128`) បន្ទាប់មកបើក Copilot Chat → ឧបករណ៍ជ្រើសរើសម៉ូដែល
→ **គ្រប់គ្រងម៉ូដែល…** → **OmniRoute**។
ហាង តំណ ដំណើរការជាមួយ
🧩 VS Code Marketplace ដំឡើង → VS Code — កំណែ stable និង Insiders
🔓 Open VSX Registry ដំឡើង → Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
ពីខាងក្នុងកម្មវិធីកែសម្រួល៖ បើកទិដ្ឋភាព **Extensions** ស្វែងរក **"OmniRoute"** ហើយចុច **Install**
— វាដំណើរការដូចគ្នានៅលើហាងទាំងពីរ។ កូដប្រភព បញ្ហា និងសៀវភៅណែនាំការចេញផ្សាយ មាននៅ
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)។
📖 [មគ្គុទ្ទេសក៍ VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — ការរៀបចំ អ្វីដែលឧបករណ៍ជ្រើសរើសបង្ហាញ ផ្ទាំងគ្រប់គ្រងក្នុងថេប និងការដោះស្រាយបញ្ហា
### 🎩 ថ្មី៖ OmniRouteTray — ច្រកទ្វាររបស់អ្នក ដែលស្ថិតនៅក្នុងរបារម៉ឺនុយ
> `omniroute serve` ដំណើរការបានល្អបំផុតនៅពេលវាបើកជានិច្ច។ **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> ប្រែក្លាយវាទៅជាកម្មវិធីរបារម៉ឺនុយសម្រាប់ macOS ដែលរៀបចំម្តងហើយលែងបារម្ភ៖ វាចាប់ផ្ដើមម៉ាស៊ីនមេ រក្សាវាឱ្យដំណើរការ
> ឆ្លងកាត់ការចាប់ផ្ដើមម៉ាស៊ីនឡើងវិញ ធ្វើបច្ចុប្បន្នភាពនៅនឹងកន្លែង និងធ្វើឱ្យអ្នកអាចមើលកញ្ចប់កំណត់ token ផ្ទាល់របស់អ្នកបានដោយចុចតែមួយដង — **មិនចាំបាច់
> ទុកផ្ទាំង terminal ឱ្យបើក និងមិនចាំបាច់តាមមើលថែ `npm install -g omniroute` ទេ។**
បង្កើតឡើងជាមួយ [Tauri v2](https://v2.tauri.app/) (ស្នូល Rust ដែលតូចស្ទើរតែអាចមិនគិតដល់) វាភ្ជាប់មកជាមួយ
Node 24 runtime ដែលបានចុះហត្ថលេខារបស់ខ្លួន និងគ្រប់គ្រងការដំឡើង OmniRoute ដែលជាកម្មសិទ្ធិរបស់កម្មវិធី ដូច្នេះវាមិនដែលប៉ះទង្គិចជាមួយ
`node`/`bun` ជាសកលរបស់អ្នកទេ។ វា **ចែករំលែកការកំណត់រចនាសម្ព័ន្ធ និងមូលដ្ឋានទិន្នន័យ `~/.omniroute/` ដែលមានស្រាប់របស់អ្នក** — ដូច្នេះវាជា
OmniRoute ដដែលដែលអ្នកកំពុងដំណើរការ គ្រាន់តែពាក់មួកប៉ុណ្ណោះ។ 🎩
អ្វីដែលវាធ្វើ របៀបធ្វើ
🟢 ត្រួតពិនិត្យម៉ាស៊ីនមេ បង្កើតដំណើរការ omniroute serve និងប្រើ instance ដែលកំពុងដំណើរការស្រាប់ ជំនួសឱ្យការបង្កើតវាស្ទួន
📊 ការប្រើប្រាស់ផ្ទាល់ ដែលអាចមើលឃើញភ្លាមៗ របារកូតារបស់អ្នកផ្តល់សេវា ដែនកំណត់ប្រចាំសម័យ/ប្រចាំសប្ដាហ៍របស់ Claude ជាមួយការរាប់ថយក្រោយរហូតដល់កំណត់ឡើងវិញ និងការបែងចែកចំណាយរយៈពេល 30 ថ្ងៃ
🔄 ធ្វើបច្ចុប្បន្នភាពនៅនឹងកន្លែងដោយស្វ័យប្រវត្តិ ការដំឡើងជាដំណាក់កាល ការប្តូរបែប atomic និងត្រឡប់ទៅកំណែមុននៅពេលបរាជ័យ — តែងតែប្រើកំណែចេញផ្សាយថ្មីបំផុត
🚀 ចាប់ផ្ដើមពេលចូលប្រព័ន្ធ អាចជ្រើសរើសឱ្យដំណើរការពេលចូលប្រព័ន្ធបាន; មានតែក្នុងថាសប៉ុណ្ណោះ គ្មានរូបតំណាងក្នុង dock
🩺 ការវិនិច្ឆ័យ និងកំណត់ហេតុ ការវិនិច្ឆ័យដោយចុចតែមួយដង និងការចូលប្រើកំណត់ហេតុម៉ាស៊ីនមេ
```sh
brew install --cask zoispag/tap/omniroute-tray
```
ចូលចិត្តទាញយកមែនទេ? យកឯកសារ .dmg ចុងក្រោយបំផុតពី
ការចេញផ្សាយ ។ កូដប្រភព បញ្ហា និងឯកសារ
ណែនាំអំពីការបង្កើត មាននៅ zoispag/omniroute-tray ។
💛 គម្រោងសហគមន៍ដោយ @zoispag — មិនមែនជាការចេញផ្សាយ OmniRoute ផ្លូវការទេ។
## 🔒 ឯកជនភាព និងផ្តោតលើការដំណើរការក្នុងម៉ាស៊ីនជាមុន
📖 [ការផ្តល់សិទ្ធិ](docs/architecture/AUTHZ_GUIDE.md) · [របាំងការពារ](docs/security/GUARDRAILS.md) · [ការអនុលោមតាមបទប្បញ្ញត្តិ](docs/security/COMPLIANCE.md)
## 🔌 CLI ពេញលេញ + A2A និង MCP
> លើសពី server, OmniRoute គឺជា **ផ្ទាំងបញ្ជាតាម command-line ពេញលេញ** ដែលមាន **ពាក្យបញ្ជាជាង 80** ព្រមទាំងពិធីការភ្នាក់ងារបើកចំហ ដូច្នេះភ្នាក់ងារ AI អាចបញ្ជាវា **ដោយខ្លួនឯង**។
### ⌨️ CLI ពិតប្រាកដមួយ (មិនមែនត្រឹមតែ `start` ទេ)
```bash
omniroute # បើកបម្រើ gateway + dashboard (ច្រក 20128)
omniroute chat # កម្មវិធីជជែក TUI អន្តរកម្ម (slash: /model /combo /skill /memory)
omniroute setup # អ្នកជំនួយការណែនាំសម្រាប់ការដំណើរការលើកដំបូង
omniroute doctor # វិនិច្ឆ័យអ្នកផ្តល់សេវា ច្រក និង dependency ដើម
```
### 🛰️ របៀបពីចម្ងាយ — ដំណើរការ CLI នៅទីនេះ និង OmniRoute លើ VPS
ដាក់ OmniRoute លើ server មែនទេ? បញ្ជាវាពី laptop របស់អ្នកដោយប្រើ **CLI ដដែល**។ ចូលប្រើម្តង
ដោយប្រើ access token ដែលមានវិសាលភាពកំណត់; បន្ទាប់មក ពាក្យបញ្ជាទាំងអស់នឹងកំណត់គោលដៅទៅម៉ាស៊ីនពីចម្ងាយ។
```bash
omniroute connect 192.168.0.15 # ពាក្យសម្ងាត់ → token មានវិសាលភាពកំណត់ ដែលត្រូវបានរក្សាទុកជា context
omniroute models list # ← ដំណើរការទល់នឹង server ពីចម្ងាយ
omniroute configure codex # ← ជ្រើសរើស model ពីចម្ងាយ ហើយសរសេរ profile Codex ក្នុងម៉ាស៊ីន
omniroute tokens create --name ci --scope read # បង្កើត token ដែលមានវិសាលភាពតូចជាងសម្រាប់ម៉ាស៊ីនផ្សេងទៀត
omniroute contexts use default # ← ប្តូរត្រឡប់ទៅ server ក្នុងម៉ាស៊ីន
```
Tokens ត្រូវបានកំណត់វិសាលភាពជា `read` / `write` / `admin`; routes ដែលបង្កើត process នៅតែអនុញ្ញាតតែតាម loopback ប៉ុណ្ណោះ។
📖 [របៀបពីចម្ងាយ](docs/guides/REMOTE-MODE.md)
### 🤝 ភ្ជាប់ភ្នាក់ងារមួយ — ហើយវានឹងគ្រប់គ្រង OmniRoute ដោយខ្លួនឯង
បើកឱ្យចូលប្រើ OmniRoute តាមរយៈ **MCP**, **A2A**, **REST API**, **webhooks** ឬ **CLI ពីចម្ងាយ** — ភ្នាក់ងារដែលមានសមត្ថភាពណាមួយ (ឬ code ផ្ទាល់ខ្លួនរបស់អ្នក) នឹងទទួលបានសិទ្ធិគ្រប់គ្រង gateway ទាំងមូល៖ routing, providers, combos, cache, compression, memory — ដោយស្វ័យប្រវត្តិ។ HTTP endpoints ខាងក្រោមត្រូវបានបម្រើក្រោម `http://localhost:20128`។
ចំណុចប្រទាក់ Endpoint / ពាក្យបញ្ជា ប្រើវាសម្រាប់
🧰 MCP (stdio) omniroute --mcpភ្ជាប់ទៅ Claude Desktop, Cursor ឬ MCP client ណាមួយ
🌊 MCP (HTTP) /api/mcp/streamMCP ពីចម្ងាយ — ឧបករណ៍ 110 , វិសាលភាព 33 (ការអនុវត្តត្រូវជ្រើសបើក), កំណត់ត្រាសវនកម្មពេញលេញ
📡 MCP (SSE) /api/mcp/sseមធ្យោបាយបញ្ជូន MCP បែប streaming
🤝 A2A /.well-known/agent.jsonភ្នាក់ងារទៅភ្នាក់ងារ, JSON-RPC 2.0 + SSE, ជំនាញ 6
🌐 REST API /v1/*ឆបគ្នាជាមួយ OpenAI — ការជជែក, embeddings, រូបភាព, សំឡេង, OCR
🔔 Webhooks /api/webhooksបញ្ជូនព្រឹត្តិការណ៍សំណើ / quota ទៅ Slack, Discord, Telegram ឬ URL ណាមួយ
🛰️ CLI ពីចម្ងាយ omniroute connect បញ្ជា instance ពីចម្ងាយដោយប្រើ access token ដែលមានវិសាលភាពកំណត់
```bash
# ផ្តល់សំណុំឧបករណ៍ OmniRoute ពេញលេញទៅ Claude Code តាមរយៈ MCP៖
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [MCP Server](docs/frameworks/MCP-SERVER.md) · [A2A Server](docs/frameworks/A2A-SERVER.md) · [ពិធីការភ្នាក់ងារ](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%
```
ប្លុកកូដ URLs 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 រក្សាទុកប្លុកធំៗនៅពីក្រោយសញ្ញាសម្គាល់សម្រាប់ទាញយក ហើយទាញយកតាមតម្រូវការ
3 Lite កាត់បន្ថយចន្លោះទទេ + URL រូបភាព (មូលដ្ឋានដែលមានភាពយឺតយ៉ាវទាប)
4 RTK ត្រង លុបភាពស្ទួន និងកាត់ខ្លីលទ្ធផលឧបករណ៍ដោយឆ្លាតវៃ (យល់ដឹងអំពីពាក្យបញ្ជា)
5 Responses Tool Output ការបង្រួម JSON ដែលផ្តល់អាទិភាពដល់ការមិនបាត់បង់ទិន្នន័យ + ការបង្រួមព័ត៌មានវិនិច្ឆ័យក្នុងដែនកំណត់ សម្រាប់លទ្ធផល shell/patch/search/build (Responses API)
6 Headroom ការបង្រួម JSON arrays ជាទម្រង់តារាងដោយមិនបាត់បង់ទិន្នន័យ (~30%) តាមរយៈ codec GCF ដែលបានភ្ជាប់មកជាមួយ
7 Relevance ដាក់ពិន្ទុប្រយោគតាមបែបស្រង់ចេញ ដោយធៀបនឹងសំណួរចុងក្រោយរបស់អ្នកប្រើ
8 Caveman ការបង្រួមអត្ថបទដោយផ្អែកលើច្បាប់ (~65–75% លើលទ្ធផល)
9 Aggressive ការសង្ខេប + ការធ្វើឱ្យវេនចាស់ៗចុះអាទិភាពជាបន្តបន្ទាប់
10 LLMLingua-2 ការកាត់ចេញតាមន័យដោយ ML តាមរយៈ MobileBERT ONNX — មានសុវត្ថិភាពសម្រាប់កូដ និងអសមកាល
11 Ultra ការកាត់ចេញថូខិនតាមវិធីសាស្ត្រប៉ាន់ស្មាន ជាមួយកម្រិតម៉ូដែលតូច (SLM) ជាជម្រើស
12 OmniGlyph ការអ៊ិនកូដបរិបទជារូបភាពបែបពិសោធន៍ សម្រាប់ Claude Fable 5 ដែលបានវាស់វែងលើការតភ្ជាប់ Anthropic ដោយផ្ទាល់; transformers របស់ GPT 5.6 នៅតែបិទដោយសុវត្ថិភាព រង់ចាំបង្កាន់ដៃពីអ្នកផ្តល់សេវា។ មានប្រវត្តិរូបបង្រួមចំនួនបួន (ឈ្លានពានជាលំនាំដើម មានតុល្យភាព សុវត្ថិភាពសម្រាប់ការសរសេរកូដ និងបញ្ជូនតាមដដែល) (ឈ្លានពានបំផុត; ត្រូវជ្រើសបើក)
ប្លុកកូដ URLs និងទិន្នន័យដែលមានរចនាសម្ព័ន្ធ **តែងតែត្រូវបានរក្សាទុក** ឱ្យត្រឹមត្រូវដូចគ្នាគ្រប់ byte។ **ការកំណត់ជាមុនដោយចុចម្តង** ផ្សំម៉ាស៊ីនទាំងនេះ៖
របៀប ការសន្សំ ស័ក្តិសមបំផុតសម្រាប់
🪶 Lite ~15% លំនាំដើមដែលមានសុវត្ថិភាព និងបើកជានិច្ច
🪨 Standard (Caveman) ~30% ការសរសេរកូដប្រចាំថ្ងៃ
⚡ Aggressive ~50% សម័យការងារវែងៗដែលប្រើឧបករណ៍ច្រើន
🔥 Ultra ~75% ការសន្សំអតិបរមា
🧰 RTK 60–90% លទ្ធផល shell/test/build/git
🔗 ជាជាន់ៗ (RTK → Caveman) 78–95% ប្រអប់បញ្ចូលចម្រុះ + កំណត់ហេតុឧបករណ៍
**ឧទាហរណ៍ជាក់ស្តែង — របៀប Standard៖**
> **មុនពេលបង្រួម (69 ថូខិន)៖** _"មូលហេតុដែល React component របស់អ្នកកំពុង render ឡើងវិញ ទំនងជាដោយសារតែអ្នកកំពុងបង្កើត object reference ថ្មីនៅរាល់ render cycle។ នៅពេលអ្នកបញ្ជូន inline object ជា prop ការប្រៀបធៀបបែប shallow របស់ React មើលឃើញថាវាជា object ផ្សេងរាល់ពេល ដែលបង្កឱ្យមានការធ្វើ re-render។ ខ្ញុំសូមណែនាំឱ្យប្រើ useMemo ដើម្បី memoize object នោះ។"_
>
> **ក្រោយពេលបង្រួម (19 ថូខិន)៖** _"Object ref ថ្មីនៅរាល់ render។ Inline object prop = ref ថ្មី = re-render។ រុំវាក្នុង useMemo។"_
>
> **ចម្លើយដូចគ្នា។ ប្រើថូខិនតិចជាងមុន 72%។ មិនបាត់បង់ភាពត្រឹមត្រូវសោះ។** ✅
**ឧទាហរណ៍ PT-BR — របៀប [Troglodita](https://github.com/leninejunior/troglodita)៖**
> **មុន (42 tokens):** _"បញ្ហាគឺ component កំពុង re-render ព្រោះ reference ថ្មីរបស់ object ត្រូវបានបង្កើតនៅគ្រប់ render cycle។ ខ្ញុំណែនាំឱ្យប្រើ useMemo។"_
>
> **ក្រោយ (12 tokens):** _"Re-render៖ ref ថ្មីរាល់ cycle (បង្កើត inline object ឡើងវិញ)។ ប្រើ `useMemo`។"_
>
> **ចម្លើយដូចគ្នា។ tokens តិចជាង ~70%។ ភាពត្រឹមត្រូវបច្ចេកទេសនៅដដែល។** ✅
### 🎚️ លើសពី engines — រចនាប័ទ្ម output, adaptive dial និងការគ្រប់គ្រងក្នុង request នីមួយៗ
engines ទាំង 12 ខាងលើកាត់បន្ថយអ្វីដែលចូល **ខាងក្នុង**។ ស្រទាប់បីបន្ថែមទៀតកំណត់ថា **ដោយរបៀបណា**, **នៅពេលណា** និងអ្វីដែលចេញ **ខាងក្រៅ**៖
- **🪄 Output Styles** _(ការកំណត់ទិសតាមអ័ក្ស output)_ — បញ្ចូលសេចក្ដីណែនាំសម្រាប់កំណត់ទម្រង់ response ដែលមានលក្ខណៈកំណត់ច្បាស់ និងមានសុវត្ថិភាពសម្រាប់ cache; អាចប្រើរួមគ្នាបាន ដោយរចនាប័ទ្មនីមួយៗមានកម្រិត `lite` / `full` / `ultra`។ ការបន្ថែមរចនាប័ទ្មមួយ គ្រាន់តែបន្ថែម registry entry មួយបន្ទាត់៖
- **សំណេរខ្លីខ្លឹម** — ដកពាក្យបំពេញ / articles / ពាក្យបង្ហាញភាពស្ទាក់ស្ទើរ; រក្សាខ្លឹមសារបច្ចេកទេសឱ្យបានត្រឹមត្រូវ។
- **កូដតិចជាងមុន** — YAGNI បែប "lazy senior dev"៖ ការផ្លាស់ប្ដូរដែលដំណើរការបាន និងតូចបំផុត ដោយគ្មាន scaffolding ដែលមិនបានស្នើ។
- **Ponytail (lazy senior dev)** — ឡើងតាមជណ្ដើរ YAGNI, ដោះស្រាយមូលហេតុដើម និងធ្វើ diff ដែលដំណើរការបានតូចបំផុត។
- **ខ្ញុំមាន ADHD (សកម្មភាពមុន)** — ចាប់ផ្ដើមដោយសកម្មភាពបន្ទាប់, រៀបជាជំហានមានលេខ, ផ្ដល់ជំហានបន្ទាប់ជាក់លាក់តែមួយ និងគ្មានសេចក្ដីផ្ដើម។
- **CJK ខ្លីខ្លឹម (文言)** — រចនាប័ទ្មភាសាចិនបុរាណដែលខ្លីខ្លាំង (កំណត់តាម locale ជា `zh`)។
- **🎯 Adaptive context-budget** _(dial)_ — ជំនួសឱ្យ threshold ចំនួន token បែបបើក/បិទតែមួយ វាបង្កើនការប្រើ engines ដែលចំណាយតិចបំផុត និងបាត់បង់ព័ត៌មានតិចបំផុត ត្រឹមកម្រិតចាំបាច់ដើម្បី **ឱ្យសមនឹង context window របស់ model**។ គោលការណ៍៖ `reserve-output` (លំនាំដើម ដែលយល់ដឹងអំពី model) · `percentage` · `absolute`។ Mode៖ `floor` (ធានាថាសម) · `replace-autotrigger` (ជម្រើសជាក់លាក់របស់អ្នកមានអាទិភាព) · `off` (threshold ចាស់)។
- **🎛️ កន្លែងដែលការបង្ហាប់ត្រូវបានសម្រេច** _(លំដាប់អាទិភាព ខ្ពស់ → ទាប)_ — header `x-omniroute-compression` ក្នុង request នីមួយៗ › routing-combo override › named profile ដែលសកម្ម › adaptive / auto-trigger › panel default › off។ ផែនការដែលបានអនុវត្តនឹងត្រូវបានបញ្ជូនត្រឡប់ក្នុង response header `X-OmniRoute-Compression: ; source=`។
បើក auto-trigger តាម threshold ចំនួន token, បើក adaptive dial, pin named profile មួយ, កំណត់តែម្ដងសម្រាប់ request មួយ ឬកំណត់ pipeline មួយសម្រាប់ routing combo នីមួយៗ — ជ្រើសរើសអ្វីដែលសមនឹង workload។ **eval harness** offline ដែលត្រូវ opt-in (`npm run eval:compression`) វាយតម្លៃភាពស្មោះត្រង់នៃលទ្ធផលធៀបនឹងការសន្សំលើ corpus ដែលបាន pin មុនពេលអ្នកដាក់ការផ្លាស់ប្ដូរឱ្យប្រើប្រាស់។
📖 [`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 អាចរារាំង package lifecycle scripts លុះត្រាតែ scripts ទាំងនោះត្រូវបានអនុញ្ញាត។ `postinstall` របស់ OmniRoute (`node scripts/build/postinstall.mjs`) ចាំបាច់សម្រាប់រៀបចំ native runtime files របស់វា។ នៅពេលដំឡើងជា global សូមអនុញ្ញាត packages ដែលមានឈ្មោះក្នុងការព្រមានរបស់ npm។ សម្រាប់សំណុំ package ដែល OmniRoute 3.8.51 បានរាយការណ៍៖
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> ដើម្បីប្រើ allowlist នេះឡើងវិញសម្រាប់ការដំឡើងជា global នៅពេលក្រោយ សូមកំណត់វាម្ដង រួចដំឡើងតាមធម្មតា៖
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> បញ្ជី dependencies អាចផ្លាស់ប្ដូររវាង releases; ប្រសិនបើ npm រាយការណ៍បញ្ជីផ្សេង សូមប្រើឈ្មោះ packages ពីការព្រមាននោះ។ ការអនុញ្ញាត package មួយ មានន័យថាអនុញ្ញាតឱ្យ install scripts របស់វាដំណើរការ។
> **កំពុងប្រើ Gemini Web ឬ web-cookie provider ផ្សេងទៀតមែនទេ?** npm package រួមបញ្ចូល
> Playwright ប៉ុន្តែមិនរួមបញ្ចូល Chromium binary របស់វាទេ។ សូមមើលកំណត់សម្គាល់អំពី
> [ការដំឡើង Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> មុនពេលធ្វើ request ទៅ web-provider ជាលើកដំបូង។
Dashboard នៅ `http://localhost:20128` · API នៅ `http://localhost:20128/v1`។
**2) ភ្ជាប់ provider ដែលមានសិទ្ធិប្រើប្រាស់ ដោយប្រើ account ផ្ទាល់ខ្លួនរបស់អ្នក**
Dashboard → **Providers** → ជ្រើសរើស provider ដែលលក្ខខណ្ឌ និង quota បច្ចុប្បន្នសមនឹងករណីប្រើប្រាស់របស់អ្នក → បន្ថែម API key របស់វា ឬបំពេញ account flow របស់វា។ Free tiers អាចតម្រូវឱ្យចុះឈ្មោះ, ទទួលការអនុម័ត ឬមានវិធីបង់ប្រាក់។ សូមពិនិត្យមើល [មគ្គុទ្ទេសក៍ Free Tiers](docs/getting-started/FREE-TIERS-GUIDE.md); ការអាចប្រើប្រាស់ដោយគ្មាន key មិនត្រូវបានធានាទេ ហើយ providers ដែលសម្គាល់ថា `tos: avoid` ត្រូវបានដកចេញពី `auto` តាមលំនាំដើម។
**3) កំណត់ coding tool របស់អ្នកឱ្យប្រើវា**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) ផ្ទៀងផ្ទាត់ថាវាដំណើរការ**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
អ្នកគួរតែឃើញ models ដែលបានភ្ជាប់របស់អ្នកនៅក្នុងបញ្ជី។ 🎉 ប៉ុណ្ណឹងហើយ — ចាប់ផ្ដើមសរសេរកូដ ហើយ OmniRoute នឹង auto-route និង fallback ជំនួសអ្នក។
ប្រសិនបើ client របស់អ្នកមិនអាចផ្ញើ custom headers បានទេ OmniRoute ក៏ផ្ដល់ tokenized compatibility aliases ផងដែរ៖
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
ប្រើទាំងនេះសម្រាប់តែ clients ដែលមិនអាចភ្ជាប់ `Authorization: Bearer ...` បានប៉ុណ្ណោះ។ ការផ្ទៀងផ្ទាត់តាម header នៅតែជាវិធីដែលត្រូវបានណែនាំ។
## 📦 វិធីដំឡើងបន្ថែម — 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` ទេ។ កំណត់ជាប់នឹង `:X.Y.Z` សម្រាប់ GitOps។ សូមមើល [ឆានែលចេញផ្សាយ Docker](docs/guides/DOCKER_GUIDE.md#release-channels)។ Image នេះកំណត់ **`OMNIROUTE_MEMORY_MB=1024`** ជាស្រេច។ ទំហំនេះគ្រប់គ្រាន់សម្រាប់ផ្ទាំងគ្រប់គ្រង និងការជជែកកម្រិតស្រាល។ **ភ្នាក់ងារសរសេរកូដ** (`POST /v1/responses` ពី Claude Code, Codex, Grok, …) ត្រូវការ V8 heap ធំជាងនេះខ្លាំង បើមិនដូច្នោះទេ process នឹងជួប `FATAL ERROR` នៅប្រហែល 12 GiB នៅពេលមាន context វែងពីរត្រួតស៊ីគ្នា។ កំណត់ទំហំ container ឱ្យធំជាង heap (native buffers ស្ថិតនៅខាងក្រៅ V8)៖
| បន្ទុកការងារ | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) |
| ----------------------------------------- | -------------------------------- | ---------------------- |
| ផ្ទាំងគ្រប់គ្រង / ការជជែកកម្រិតស្រាល | `1024` (តម្លៃលំនាំដើមរបស់ image) | ≥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` ប្រើតាម branch លំនាំដើមបច្ចុប្បន្ន `release/v*`។
> tag ដែលអាចផ្លាស់ប្តូរទាំងនេះមានគោលបំណងសម្រាប់តែការសាកល្បងការកែតម្រូវដែលមិនទាន់ចេញផ្សាយប៉ុណ្ណោះ ហើយ
> **មិនត្រូវបានគាំទ្រសម្រាប់ production ទេ**។ សូមមើល
> [ឆានែលចេញផ្សាយ Docker](docs/guides/DOCKER_GUIDE.md#release-channels)។
**🥟 Bun**
ការដំឡើងស្តង់ដារដោយ `bun install` និងការដំឡើង global (`bun install -g omniroute`) ត្រូវបានគាំទ្រតាមរយៈការរកឃើញ Bun runtime៖
- **`bun:sqlite` ដែលភ្ជាប់មកស្រាប់**៖ OmniRoute ប្រើ driver `bun:sqlite` ដែលភ្ជាប់មកស្រាប់របស់ Bun នៅពេលដំណើរការក្រោម Bun ហើយប្តូរទៅប្រើ `better-sqlite3` នៅលើ Node.js ឬ `sql.js` ជាជម្រើសបម្រុង។
- **ការជ្រើសរើស Webpack bundler ដោយស្វ័យប្រវត្តិក្នុង dev**៖ បរិស្ថានអភិវឌ្ឍន៍ (`bun run dev`) រកឃើញ Bun ដោយស្វ័យប្រវត្តិ និងបិទ Turbopack ដើម្បីប្រើ Webpack ជំនួស ក្នុងគោលបំណងទប់ស្កាត់បញ្ហាមិនត្រូវគ្នាជាមួយ native V8 binding។ ការ build សម្រាប់ production (`bun run build`) អនុវត្តតាម `OMNIROUTE_USE_TURBOPACK` ដូចនៅលើ Node យ៉ាងពិតប្រាកដ៖ ប្រើ Turbopack តាមលំនាំដើម និងប្រើ `OMNIROUTE_USE_TURBOPACK=0` ដើម្បី build ជាមួយ Webpack (`Dockerfile.bun` បង្ហាញវាជា `--build-arg`)។
- **Bun Dockerfile ដាច់ដោយឡែក**៖ `Dockerfile.bun` ពហុដំណាក់កាល សម្រាប់ការដាក់ឱ្យដំណើរការ native Bun ក្នុង production (`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 profiles, Caddy HTTPS និង Cloudflare tunnels។
**🦭 Podman**
```bash
# 1. រៀបចំថតទិន្នន័យដែលបាន bind-mount
mkdir -p data
# 2. សម្រាប់តែ Linux + Podman មូលដ្ឋានប្រភេទ rootless ប៉ុណ្ណោះ (កុំប្រើជាមួយ client របស់ Podman Machine ពីចម្ងាយ)៖
podman unshare chown 1000:1000 ./data
# 3. កំណត់ runtime hint, build Compose image មូលដ្ឋាន និងចាប់ផ្តើម
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
នៅលើ macOS ឬ Windows, Podman ប្រើ Podman Machine ពីចម្ងាយ៖ រំលង `podman unshare` ហើយ
អនុវត្តតាម [ការណែនាំអំពីថតទិន្នន័យសម្រាប់ topology នីមួយៗ](contrib/podman/README.md#data-directory-permissions-by-topology)។
📖 [មគ្គុទ្ទេសក៍ Podman](contrib/podman/README.md) — Compose builds, Podman Machine និង
ការកំណត់ Linux/systemd Quadlet។
**⚡ ការដំឡើងលឿនជាង / ស្រាលជាង (រំលង native build)**
ម៉ាស៊ីន SQLite ប្រភេទ native (`better-sqlite3`) គឺជា dependency **ជាជម្រើស** ដូច្នេះការដំឡើង
global មិនដែលត្រូវរង់ចាំការចងក្រងពីកូដប្រភពទេ៖ វាប្រើ binary ដែលបាន build ជាមុន នៅពេលមានកំណែត្រូវគ្នា
នឹង platform/Node របស់អ្នក ហើយបើមិនដូច្នោះទេ វានឹងប្តូរទៅប្រើម៉ាស៊ីន pure-JS ដោយស្វ័យប្រវត្តិ
(`node:sqlite` នៅលើ Node 22+ បើមិនដូច្នោះទេ ប្រើ `sql.js` WASM ដែលបានភ្ជាប់មកជាមួយ) — មិនត្រូវការឧបករណ៍ build ទេ។
ដើម្បីរំលង native warm-up ក្រោយការដំឡើងទាំងស្រុង (CI, headless ឬម៉ាស៊ីនយឺត)៖
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 ក៏រំលងវាដែរ
```
ដើម្បីទទួលបានការដំឡើងលឿនបំផុត សូមជ្រើសប្រើ **pnpm** (ឃ្លាំងផ្អែកលើអាសយដ្ឋានមាតិកា + hard links — សូមមើលខាងលើ)។
សម្រាប់ runtime ប្រភេទ headless ដែលគ្មានផ្ទាំងគ្រប់គ្រង សូមប្រើ Docker profile `base` (ខាងលើ) ឬ
[មគ្គុទ្ទេសក៍ Termux](docs/guides/TERMUX_GUIDE.md)។ CLI និងផ្ទាំងគ្រប់គ្រងតាមវេបត្រូវបានផ្តល់សេវាដោយ
process ដូចគ្នានៅលើ port តែមួយ ដូច្នេះបច្ចុប្បន្នមិនមាន package ដាច់ដោយឡែកសម្រាប់តែ CLI ទេ។
# 🎬 OmniRoute កំពុងដំណើរការ
## 📹 មគ្គុទ្ទេសក៍វីដេអូ
រូបថតផ្ទាំងគ្រប់គ្រងនៅថ្ងៃទី 2026-08-24 · កាតាឡុកឆៅ៖ YT 809 | TT 137 | IG 124 · ភាពថ្មី (ថ្ងៃ)៖ YT 1 | TT 21 | IG 22
🎬 #1 — Instagram
nick_saraev — ការមើល 3,042,474 ដង
🎬 #2 — Instagram
theopenstack — ការមើល 692,419 ដង
🎬 #3 — TikTok
milesreevesai — ការមើល 620,400 ដង
🎬 #4 — YouTube
Vaibhav Sisinty — ការមើល 391,109 ដង
🎬 #5 — Instagram
buildwithai.club — ការមើល 347,652 ដង
**ចំណាត់ថ្នាក់ពេញលេញ (URL កាណូនិកដែលបានលុបធាតុស្ទួន, `v > 0`, វិសាលភាពខ្ពស់បំផុត)៖**
| #1 | #2 | #3 | #4 | #5 |
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **391,109** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** |
| #6 | #7 | #8 | #9 | #10 |
| ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | [vaibhavsisinty — Instagram](https://www.instagram.com/reel/Dae05TSAK1l/) — **263,744** | [Nick Automates — YouTube Shorts](https://www.youtube.com/shorts/fZIBK_4fKq8) — **218,174** | [theroshankrishna — Instagram](https://www.instagram.com/reel/Dapjs58z0P0/) — **186,786** | [midudev — TikTok](https://www.tiktok.com/@midudev/video/7664636453544152342) — **177,800** |
ម៉ែត្រកាណូនិកនៅថ្ងៃទី 2026-08-24៖ **វីដេអូតែមួយគត់ 1.029** · **ការមើលដែលបានដឹង 11.132.922 ដង** (`v > 0`) · **ឆានែល/ប្រវត្តិរូបតាមបណ្តាញ 639**។ ផ្ទាំងគ្រប់គ្រងឆៅមាន 1.070 ជួរ។ ធាតុស្ទួន Instagram ចំនួន 41 ត្រូវបានធ្វើឱ្យមានស្តង់ដារតាម URL កាណូនិក ដោយរក្សាទុកចំនួនខ្ពស់បំផុតសម្រាប់វីដេអូនីមួយៗ។
> 🎬 **បានបង្កើតវីដេអូអំពី OmniRoute មែនទេ?** បើក [បញ្ហា](https://github.com/diegosouzapw/OmniRoute/issues/new) ឬ [ការពិភាក្សា](https://github.com/diegosouzapw/OmniRoute/discussions) ជាមួយតំណ — យើងនឹងដាក់បង្ហាញវានៅទីនេះ។
# 📧 សហគមន៍ និងជំនួយ
> អ្វីៗគ្រប់យ៉ាងនៅកន្លែងតែមួយ — តាមដានអ្នកថែទាំ ជជែកជាមួយសហគមន៍ ឬបើកបញ្ហាមួយ។
| ឆានែល | ទីកន្លែង / របៀប |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| 💼 **LinkedIn** — តាមដានអ្នកថែទាំ | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) |
| 🐙 **GitHub** — តាមដានសម្រាប់ការចេញផ្សាយ និងគន្លឹះ | [@diegosouzapw](https://github.com/diegosouzapw) |
| 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) |
| ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) |
| 🟢 **WhatsApp — 🌍 សកល** | [ចូលរួមក្រុម](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) |
| 🟢 **WhatsApp — 🇧🇷 ប្រេស៊ីល** | [ចូលរួមក្រុម](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) |
| 🌍 **គេហទំព័រ** | [omniroute.online](https://omniroute.online) |
| 🌍 **🌍សហគមន៍ StHub OmniRoute (ឥតគិតថ្លៃ)** | [វិបផតថល StHub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) |
| 📦 **កូដប្រភព** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) |
| 🐛 **រាយការណ៍កំហុស** | [បើក issue មួយ](https://github.com/diegosouzapw/OmniRoute/issues) — ភ្ជាប់លទ្ធផលពី `npm run system-info` |
| 🤝 **ចូលរួមចំណែក** | [CONTRIBUTING.md](CONTRIBUTING.md) · [គំរូ Branching និង Release](docs/ops/BRANCHING_MODEL.md) · ជ្រើសរើស `good first issue` |
| 💚 **គាំទ្រគម្រោង** | [វិធីគាំទ្រ ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ បច្ចេកវិទ្យាដែលប្រើ
ស្រទាប់ បច្ចេកវិទ្យា
បរិស្ថានដំណើរការ Node.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
ភាសា TypeScript 6.0 — TypeScript 100% នៅទូទាំង src/ និង open-sse/ (គ្មាន any នៅក្នុងផ្នែកស្នូលចាប់តាំងពី v2.0)
ក្របខណ្ឌ Next.js 16 + React 19 + Tailwind CSS 4
មូលដ្ឋានទិន្នន័យ better-sqlite3 (SQLite, ការកត់ត្រាបែប WAL) + LowDB (JSON ចាស់) — ម៉ូឌុលដែន 137, ការធ្វើចំណាកស្រុក 202
អង្គចងចាំ ការស្វែងរកអត្ថបទពេញលេញដោយ SQLite FTS5 + វ៉ិចទ័របង្កប់ដែលបានធ្វើបរិមាណកម្មជា int8, ការថយចុះដែលមានប្រភេទ
គ្រោងការណ៍ Zod 4 — ការផ្ទៀងផ្ទាត់ I/O របស់ឧបករណ៍ MCP + កិច្ចសន្យា API
ពិធីការ MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
ការស្ទ្រីម Server-Sent Events (SSE) + ស្ពាន WebSocket (/v1/ws)
ការបង្ហាប់ បំពង់ដំណើរការ 12 ម៉ាស៊ីន — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
ការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ & សុវត្ថិភាព OAuth 2.0 (PKCE) + JWT + សោ API + ការផ្ទៀងផ្ទាត់អត្តសញ្ញាណតាមវិសាលភាព MCP · AES-256-GCM សម្រាប់ទិន្នន័យពេលរក្សាទុក · DOMPurify
ភាពលាក់បាំង wreq-js — ការក្លែងបន្លំស្នាមម្រាមដៃ TLS ប្រភេទ JA3 / JA4, ប្រូកស៊ី 3 កម្រិត
ភាពធន់ ឧបករណ៍ផ្តាច់សៀគ្វី, ការពន្យារពេលបែបអិចស្ប៉ូណង់ស្យែល, ការទប់ស្កាត់ការសម្រុកព្រមគ្នា, ការស្តារដំណើរការដោយខ្លួនឯងតាមរយៈ auto-combo
ការកត់ត្រា pino — កំណត់ហេតុ JSON ដែលមានរចនាសម្ព័ន្ធជាមួយបរិបទសំណើ
ការធ្វើតេស្ត កម្មវិធីដំណើរការតេស្តរបស់ Node.js + Vitest — សេចក្តីប្រកាសតេស្តឋិតិវន្ត 39,000+ នៅទូទាំងឯកសារតេស្តដែលបានតាមដាន 5,100+ (ឯកតា, សមាហរណកម្ម, E2E, សុវត្ថិភាព, ប្រព័ន្ធអេកូឡូស៊ី)
វេទិកា កុំព្យូទ័រលើតុ (Electron) · Android (Termux) · PWA (កម្មវិធីរុករកណាមួយ)
CI/CD GitHub Actions — បោះផ្សាយទៅ npm និង Docker Hub ដោយស្វ័យប្រវត្តិនៅពេលចេញផ្សាយ
តំណភ្ជាប់ គេហទំព័រ · npm · Docker Hub
## 📖 ឯកសារ
### 📘 ការចាប់ផ្តើម
ឯកសារ សេចក្ដីពិពណ៌នា
មគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ អ្នកផ្តល់សេវា បន្សំ ការរួមបញ្ចូល CLI និងការដាក់ឱ្យដំណើរការ
មគ្គុទ្ទេសក៍រៀបចំ វិធីសាស្ត្រដំឡើងពេញលេញ ការកំណត់រចនាសម្ព័ន្ធឧបករណ៍ CLI ការរៀបចំពិធីការ និងការកែសម្រួលពេលវេលាផុតកំណត់
មគ្គុទ្ទេសក៍ឧបករណ៍ CLI ការរៀបចំតាមឧបករណ៍នីមួយៗសម្រាប់ Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
របៀបពីចម្ងាយ បញ្ជា OmniRoute ពីចម្ងាយ (VPS) ពី CLI លើកុំព្យូទ័រយួរដៃរបស់អ្នក តាមរយៈថូខឹនចូលប្រើដែលមានវិសាលភាពកំណត់
ការកំណត់រចនាសម្ព័ន្ធ Claude Code តម្រង់ Claude Code ទៅ OmniRoute (ក្នុងម៉ាស៊ីន/ពីចម្ងាយ) ដោយប្រើ launch + ទម្រង់សម្រាប់ម៉ូដែលនីមួយៗ
ចាប់ផ្តើមរហ័ស ដំឡើង 3 ជំហាន → ភ្ជាប់ → កំណត់រចនាសម្ព័ន្ធ
### 🔧 ប្រតិបត្តិការ និងការដាក់ឱ្យដំណើរការ
### 🧠 លក្ខណៈពិសេស និងស្ថាបត្យកម្ម
### 🤖 ពិធីការ និង API
### 📋 គម្រោង និងគុណភាព
# ⭐ អ្នករួមចំណែកឆ្នើម
> OmniRoute ត្រូវបានបង្កើតឡើងដោយសហគមន៍ប្រភពបើកចំហដ៏មានឆន្ទៈមោះមុត។ បុគ្គលទាំងនេះបានរួមចំណែកយ៉ាងពិសេស ដែលជះឥទ្ធិពលដោយផ្ទាល់ដល់គុណភាព ស្ថិរភាព និងវិសាលភាពរបស់គម្រោង។ **សូមអរគុណ។**
### អ្នករួមចំណែកខាងក្រៅតាមចំនួន pull request ដែលបានបញ្ចូលចូលគ្នា
ចំណាត់ថ្នាក់ អ្នករួមចំណែក PR ដែលបានបញ្ចូលចូលគ្នា ~បន្ទាត់ដែលបានផ្លាស់ប្តូរ
1 backryun 190 227,977
2 oyi77 180 407,678
3 rdself 145 80,663
4 JxnLexn 128 387,049
5 KooshaPari 101 125,747
6 herjarsa 88 230,872
7 RaviTharuma 79 55,106
8 maxmad64bis 69 394,715
9 artickc 59 33,260
10 HouMinXi 51 47,334
10 chirag127 51 5,153
12 xz-dev 50 245,976
13 hartmark 47 52,185
14 rqzbeh 39 143,181
15 dhaern 34 19,559
16 Dingding-leo 33 1,986
17 NomenAK 32 13,854
18 MumuTW 30 16,953
19 benzntech 29 11,641
20 pacocartones 24 9,331
20 Prudhvivuda 24 6,312
បានបង្កកនៅត្រង់ចុងសាខាផ្ទាល់ release/v3.8.50 ដែលមានលេខសម្គាល់ dafb4ae808 ដោយរាប់បញ្ចូលការបញ្ចូលចូលគ្នារហូតដល់ 2026-08-24 05:26:03 UTC។ ជំរឿន GitHub GraphQL ដែលបែងចែកជាទំព័រ មាន PR ដែលបានបញ្ចូលចូលគ្នាចំនួន 5,911៖ 2,707 ដោយម្ចាស់ឃ្លាំងកូដ 179 ដោយ Dependabot និង PR ខាងក្រៅចំនួន 3,025 ពីអ្នករួមចំណែកផ្សេងគ្នាចំនួន 535 នាក់ ។ “បន្ទាត់ដែលបានផ្លាស់ប្តូរ” គឺជាចំនួនបន្ទាត់ដែលបានបន្ថែម + លុបរបស់ GitHub ហើយរួមបញ្ចូលឯកសារដែលបានបង្កើតដោយស្វ័យប្រវត្តិ lockfiles បញ្ជីកាតាឡុក ការបកប្រែ និងឯកសារ; វាជាបរិមាណការផ្លាស់ប្តូរ មិនមែន LOC ដែលបាននិពន្ធនោះទេ។ ចំណាត់ថ្នាក់ស្មើគ្នានៅត្រង់ចំណុចកាត់ត្រូវបានរក្សាទុក។
### commit ដែលកំណត់ថាមកពី GitHub
backryun
🥇 220 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub
Paijo
🥈 219 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub
Randi
🥉 108 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub
Ravi Tharuma
🏅 81 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub
Chris
🏅 70 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub
Markus Hartung
🏅 69 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub · ជាប់ចំណាត់ថ្នាក់ស្មើគ្នា #6
Dizzle
🏅 69 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub · ជាប់ចំណាត់ថ្នាក់ស្មើគ្នា #6
Jan Leon
🏅 64 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub
zenobit
🏅 62 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub
Bob.Hou
🏅 51 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub · ជាប់ចំណាត់ថ្នាក់ស្មើគ្នា #10
Xiangzhe
🏅 51 commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub · ជាប់ចំណាត់ថ្នាក់ស្មើគ្នា #10
បានត្រួតពិនិត្យឡើងវិញនៅ 2026-08-24 06:14:31 UTC៖ commit ដែលបានកំណត់អត្តសញ្ញាណដោយ GitHub ត្រូវបានរាយការណ៍ដោយ Contributors API របស់ repository សម្រាប់ branch លំនាំដើម release/v3.8.50។ API បានត្រឡប់អត្តសញ្ញាណចំនួន 525 (អ្នកប្រើប្រាស់ 415 នាក់ bot 2 និងអនាមិក 108 នាក់)។ តារាងនេះមិនរាប់បញ្ចូលអ្នកថែទាំ bot និងអត្តសញ្ញាណអនាមិកទេ ហើយរក្សាទុកចំណាត់ថ្នាក់ស្មើគ្នា។ វាខុសពីទាំងចំណាត់ថ្នាក់ merged-PR ខាងលើ និងជំរឿន Git-metadata ដែលមានមនុស្ស 639 នាក់ខាងក្រោម។
> 🙏 មុខងារ ការកែកំហុស និងការកែលម្អហេដ្ឋារចនាសម្ព័ន្ធរបស់អ្នករួមចំណែកទាំងនេះ គឺជា **ផ្នែកស្នូល** នៃអ្វីដែលធ្វើឱ្យ OmniRoute អាចទុកចិត្តបាន និងសម្បូរមុខងារ។ រាល់ pull request រាល់ករណីសាកល្បង និងរាល់ឯកសារបកប្រែ i18n សុទ្ធតែមានសារៈសំខាន់។ កម្មវិធីប្រភពបើកចំហត្រូវបានបង្កើតឡើងដោយមនុស្សដូចពួកគេ។
---
## 💖 អ្នកឧបត្ថម្ភ
សូមថ្លែងអំណរគុណយ៉ាងស្មោះស្ម័គ្រដល់អ្នកដែលបានឧបត្ថម្ភថវិកាដល់ OmniRoute ពីហោប៉ៅផ្ទាល់ខ្លួនរបស់ពួកគេ — រាល់ការរួមចំណែកទាំងអស់ជួយរក្សាគម្រោងនេះឱ្យនៅតែឥតគិតថ្លៃ ឯករាជ្យ និងបន្តរីកចម្រើនទៅមុខ។
… និងអ្នកផ្សេងទៀតដែលចង់រក្សាភាពឯកជន 💛
អ្នកឧបត្ថម្ភសាធារណៈនៅលើ GitHub ត្រូវបានផ្ទៀងផ្ទាត់ឡើងវិញនៅថ្ងៃទី 2026-08-24។ ស្ថានភាព activeOnly របស់ GitHub កំណត់ស្លាកសកម្មខាងលើ; អ្នកគាំទ្រសាធារណៈដែលបានឧបត្ថម្ភម្តង និងត្រូវបានបង្ហាញពីមុន នៅតែទទួលបានការថ្លែងអំណរគុណ ហើយអ្នកឧបត្ថម្ភឯកជននៅតែរក្សាអនាមិក។
💖 ក្លាយជាអ្នកឧបត្ថម្ភ → — រាល់ដុល្លារទាំងអស់ជួយរក្សា OmniRoute ឱ្យនៅតែឥតគិតថ្លៃ និងឯករាជ្យ។
## 👥 អ្នករួមចំណែកជាង 600 នាក់
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
បានធ្វើសវនកម្មនៅថ្ងៃទី 2026-08-24 លើមូលដ្ឋានថេរ ac02c5b42f និងបានត្រួតពិនិត្យឡើងវិញនៅចុងសាខាបច្ចុប្បន្ន release/v3.8.50 ដែលមាន dafb4ae808៖ អត្តសញ្ញាណ Git របស់មនុស្សចំនួន 639 ដែលបានធ្វើប្រក្រតីកម្ម — ក្នុងនោះ 407 បង្ហាញជាអ្នកនិពន្ធ commit (រួមទាំងអ្នកថែទាំ) និង 232 បង្ហាញតែនៅក្នុង trailer Co-authored-by ដែលបានបញ្ជាក់ច្បាស់។ ការធ្វើជំរឿននេះធ្វើប្រក្រតីកម្ម handle noreply របស់ GitHub ដកចេញអត្តសញ្ញាណ bot/agent/service/placeholder ចំនួន 26 ហើយមិនបញ្ចូលអាសយដ្ឋានអ៊ីមែលធម្មតាចូលគ្នា ដោយគ្រាន់តែឈ្មោះបង្ហាញរបស់ពួកគេដូចគ្នានោះទេ។
### របៀបរួមចំណែក
1. Fork repository
2. បង្កើត branch ចេញពីចុង `release/vX.Y.Z` **សកម្ម** (មិនមែន `main`) — សូមមើល [គំរូ Branching និង Release](docs/ops/BRANCHING_MODEL.md)
3. បង្កើត feature branch របស់អ្នក (`git checkout -b feat/amazing-feature`)
4. Commit ការផ្លាស់ប្តូររបស់អ្នក (`git commit -m 'feat: add amazing feature'`)
5. Push ទៅកាន់ branch (`git push origin feat/amazing-feature`)
6. បើក Pull Request ដោយកំណត់ **base = branch `release/vX.Y.Z` នោះ**
សូមមើល [CONTRIBUTING.md](CONTRIBUTING.md) សម្រាប់គោលការណ៍ណែនាំលម្អិត។
### ការចេញផ្សាយកំណែថ្មី
```bash
# បង្កើត release មួយ — npm publish នឹងដំណើរការដោយស្វ័យប្រវត្តិ
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 ផ្កាយ
## 🌍 StarMapper
## 🙏 ការថ្លែងអំណរគុណ
OmniRoute ឈរនៅលើស្មារបស់អ្នកជំនាញដ៏អស្ចារ្យ។ វាបានចាប់ផ្តើមជាការ fork ពី **[9router](https://github.com/decolua/9router)** និងជា TypeScript port នៃគម្រោង Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — ហើយចាប់ពីទីនោះមក ប្រព័ន្ធរងនីមួយៗខាងក្រោមត្រូវបានបំផុសគំនិតដោយគម្រោងប្រភពបើកចំហដែលបានធ្វើវាមុនគេ។ គម្រោងនីមួយៗបានរួមចំណែកបង្កើតផ្នែកជាក់លាក់មួយនៃ OmniRoute។ នេះជាការថ្លែងអំណរគុណរបស់យើងចំពោះគម្រោងទាំងអស់នោះ។ 🙏
> ⭐ ចំនួនផ្កាយត្រូវបានផ្ទៀងផ្ទាត់ពី REST API របស់ GitHub នៅថ្ងៃទី 24 ខែសីហា ឆ្នាំ 2026 — សូមចូលទៅផ្តល់ផ្កាយដល់គម្រោងទាំងនេះ។ ចំនួនទាំងនេះគឺជារូបថតចម្លងជាក់លាក់តាមកាលបរិច្ឆេទ ហើយនឹងប្រែប្រួលតាមធម្មជាតិ។
### 🧬 ប្រភពដើម និង gateway
គម្រោង ⭐ របៀបដែលវាបានជំរុញឱ្យបង្កើត OmniRoute
9router 26,161 គម្រោងដើមដែល fork នេះត្រូវបានបង្កើតឡើងដោយផ្អែកលើវា — ហើយត្រូវបានពង្រីកនៅទីនេះដោយបន្ថែម API ពហុមុខងារ និងសរសេរឡើងវិញទាំងស្រុងជា TypeScript។
CLIProxyAPI 48,497 ការអនុវត្តជា Go ដែលបានជំរុញឱ្យបង្កើតការផ្ទេរនេះទៅជា JavaScript / TypeScript។
LiteLLM 57,100 ច្រកទ្វារ AI ដែលសំណុំទិន្នន័យតម្លៃសាធារណៈរបស់វាផ្គត់ផ្គង់ដល់ការធ្វើសមកាលកម្មតាមដានថ្លៃចំណាយរបស់យើង ហើយគំរូស្តង់ដារូបនីយកម្មអ្នកផ្ដល់សេវារបស់វាបានជួយកំណត់ទិសដៅនៃប្រព័ន្ធបញ្ជូនរបស់យើង។
codex-chatgpt-web 1,410 កូដប្រភព MIT ដែលត្រូវបានកែសម្រួលចូលក្នុងស្ពាន ChatGPT Web → Codex Responses ដែលបានបញ្ចូលមកជាមួយ រួមទាំងអាដាប់ទ័រសម្រាប់សម័យកម្មកម្មវិធីរុករក ការកំណត់ស៊ុមឆ្លើយតប ការប្រើប្រាស់ និងការស្វែងរកលើបណ្ដាញ។
free-claude-code 48,112 លំនាំដែលត្រូវបានផ្ទេរទៅក្នុងការស្ដារស្ទ្រីម ឈ្មោះក្លែងក្លាយ no-thinking ការស្វែងរកលើបណ្ដាញជំនួស ដែនកំណត់បង្អួចរំកិល ការលាក់បាំងព័ត៌មានក្នុងកំណត់ហេតុ និងលំហូរកម្មវិធីបើកដំណើរការដែលត្រូវបានពង្រឹងសុវត្ថិភាព។
composer-api 322 លំនាំនៃការជ្រើសរើសឧបករណ៍ ដែនកំណត់លទ្ធផល និងការបញ្ជាក់ការប្រើឧបករណ៍របស់ Cursor Composer ដែលត្រូវបានកែសម្រួលបញ្ចូលក្នុងកម្មវិធីប្រតិបត្តិ Cursor ដើម។
codex-multi-auth 457 លំនាំចូលគណនីថ្មី និងការប្ដូរ refresh-token ដែលត្រូវបានផ្ទេរទៅក្នុងការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ Codex OAuth ឡើងវិញ។
opencode-anthropic-auth 510 តម្លៃលំនាំដើមនៃការបំប្លែងដែលឆបគ្នាជាមួយ Claude Code និងឥរិយាបថបឋមកថាចេញវិក្កយបត្រ ដែលត្រូវបានធ្វើឱ្យប្រើបានទូទៅក្នុងស្ពានរបស់ OmniRoute ដែលដំណើរការតាមការកំណត់រចនាសម្ព័ន្ធ។
grok2api-merged 2 ការផ្គូផ្គងម៉ូដែល Grok កម្មវិធីបង្កើត Statsig ប្រភេទ fake-TypeError តម្លៃលំនាំដើមនៃសំណើ និងឧបករណ៍ ព្រមទាំងកម្មវិធីដំណើរការការឆ្លើយតប NDJSON របស់វា ត្រូវបានកែសម្រួលយ៉ាងសំខាន់ចូលក្នុងកម្មវិធីប្រតិបត្តិ Grok Web របស់ OmniRoute។
TQZHR/grok2api 705 ប្រភពកូដអន្តរកាលចម្បងដែលនៅពីក្រោយ grok2api-merged; ការអនុវត្តម៉ូដែល បឋមកថា បន្ទុកទិន្នន័យ Statsig និងកម្មវិធីដំណើរការរបស់វា ត្រូវបានរក្សាទុកក្នុងខ្សែស្រឡាយប្រភពរបស់ Grok Web។
chenyme/grok2api 7,520 កូដប្រភព MIT មូលដ្ឋានសម្រាប់បន្ទុកទិន្នន័យ Grok និងតម្លៃលំនាំដើមនៃឧបករណ៍ កម្មវិធីបង្កើត Statsig និងកម្មវិធីដំណើរការ result.response ដែលត្រូវបានបន្តយកមកប្រើតាមរយៈ TQZHR និង grok2api-merged។
grok2api-pro 27 ប្រភពអន្តរកាលដែល grok2api-merged បានផ្ដល់កិត្តិយសសម្រាប់ស្រទាប់ proxy-pool របស់វា; OmniRoute រក្សាទុកសេចក្ដីជូនដំណឹងអំពីខ្សែស្រឡាយប្រភពនោះ ប៉ុន្តែមិនអះអាងថាបានផ្ទេរ proxy-pool ចូលក្នុងកម្មវិធីប្រតិបត្តិ Grok Web ដែលមានដែនកំណត់របស់ខ្លួនទេ។
GrokProxy 50 ប្រូកស៊ី Grok ដែលផ្ទៀងផ្ទាត់អត្តសញ្ញាណដោយ cookie និងលំនាំស្ទ្រីម result.response.token របស់វា បានជួយកំណត់ការដឹកជញ្ជូន Grok Web របស់ OmniRoute។
GrokBridge 5 ការអនុវត្ត Grok Web ដើមបានយោងទៅលើការរចនាប្រភពខាងលើ HTTP/កម្មវិធីរុករករបស់វា; ផ្លូវ HTTP ផ្ទាល់របស់វាមានប្រភពមកពី GrokProxy ដូច្នេះមិនមានការអះអាងថាបានផ្ទេរកូដដោយឯករាជ្យទេ។
grok-web-api 14 គ្រោងការណ៍ Rust ChatOptions និងស្រោមការឆ្លើយតបរបស់វា បានជួយកំណត់ប្រភេទសំណើ Grok និងការឆ្លើយតបជាស្ទ្រីមជា TypeScript របស់ OmniRoute។
### 🗜️ ការបង្ហាប់បរិបទ និងតូខិន — ម៉ាស៊ីន
គម្រោង ⭐ របៀបដែលវាបានជំរុញគំនិតដល់ OmniRoute
Caveman 100,538 គម្រោងដ៏ល្បីល្បាញ "ហេតុអ្វីប្រើថូខិនច្រើន បើថូខិនតិចក៏អាចធ្វើការបាន" — ទស្សនវិជ្ជានិយាយបែបមនុស្សរូងភ្នំរបស់វាជាមូលដ្ឋានសម្រាប់របៀបបង្ហាប់ស្តង់ដាររបស់យើង និងច្បាប់លុបពាក្យបំពេញ/បង្រួមជាង 30។
RTK – Rust Token Killer 77,185 ការបង្ហាប់លទ្ធផលពាក្យបញ្ជាដែលមានប្រសិទ្ធភាពខ្ពស់ — បានជំរុញគំនិតដល់ម៉ាស៊ីន RTK, DSL តម្រង JSON, ការសង្គ្រោះលទ្ធផលដើម និងខ្សែដំណើរការជាជាន់ RTK → Caveman របស់យើង។
headroom 67,310 ការបង្ហាប់បរិបទដែលអាចត្រឡប់ទៅដូចដើមវិញ (SmartCrusher) — បានជំរុញគំនិតដល់ម៉ាស៊ីន headroom និងលំនាំសញ្ញាសម្គាល់ការទាញយក ccr របស់យើង។
LLMLingua 6,598 ការស្រាវជ្រាវអំពីការបង្ហាប់ប្រូម (LLMLingua / LLMLingua-2) — បានជំរុញគំនិតដល់ម៉ាស៊ីន llmlingua របស់យើង ដែលដំណើរការអសមកាល មានសុវត្ថិភាពចំពោះកូដ និងបន្តដំណើរការដោយមិនបង្ហាប់នៅពេលបរាជ័យ។
llmlingua-2-js 31 កំណែផ្ទេរទៅ JS/ONNX (MobileBERT / XLM-RoBERTa) ដែលប្រើជាប្រព័ន្ធខាងក្រោយ worker-thread សម្រាប់ម៉ាស៊ីន LLMLingua របស់យើង។
Troglodita 40 ការបង្ហាប់ថូខិន PT-BR — ជាមូលដ្ឋានសម្រាប់កញ្ចប់ភាសា pt-BR របស់យើង៖ ការកាត់បន្ថយពាក្យស្ទួនន័យ និងការលុបពាក្យបំពេញ ដែលបានកែសម្រួលឱ្យសមនឹងវេយ្យាករណ៍ព័រទុយហ្គាល់-ប្រេស៊ីល។
ponytail 108,957 ជំនាញអ្នកសរសេរកូដ YAGNI បែប "អ្នកអភិវឌ្ឍន៍ជាន់ខ្ពស់ខ្ជិល" ដ៏ល្បីល្បាញ — បានជំរុញគំនិតដល់រចនាប័ទ្មលទ្ធផល less-code របស់យើង៖ ការណែនាំឱ្យធ្វើការផ្លាស់ប្តូរតូចបំផុតដែលអាចដំណើរការបាន ដើម្បីកាត់បន្ថយកូដដែល _បានបង្កើត_ (ជាគូស្របតាមអ័ក្សលទ្ធផលនឹងពាក្យពេចន៍ខ្លីៗរបស់ Caveman)។
i-have-adhd 23,526 រចនាប័ទ្មឆ្លើយតបដែលផ្តោតលើសកម្មភាពជាមុន និងងាយស្រួលសម្រាប់អ្នកមាន ADHD របស់វា ត្រូវបានកែសម្រួលទៅជារចនាប័ទ្មលទ្ធផលសង្ខេបរបស់ OmniRoute ក្នុងភាសាចំនួនប្រាំ។
### 🧩 ទម្រង់បង្រួម ការស្រាវជ្រាវថូខិន និងឧបករណ៍ដែលយល់ដឹងអំពីកូដ
គម្រោង ⭐ របៀបដែលវាបានជំរុញគំនិតដល់ OmniRoute
TOON 25,233 Token-Oriented Object Notation — គំរូរៀបជាជួរឈរ ដោយមានបឋមកថាបូកនឹងជួរដេករបស់វា បានកំណត់រូបរាងដំណាក់កាលបង្រួមទិន្នន័យជាតារាងរបស់យើង។
GCF – Graph Compact Format 41 ទម្រង់ក្រាហ្វបង្រួម និងការរចនាប្រូហ្វាល់ទូទៅរបស់វា បានផ្តល់ជាគោលគំនិតដល់ការបង្រួមទិន្នន័យជាតារាង និងទម្រង់កូឌិក Headroom របស់ OmniRoute។
gcf-typescript 4 ការអនុវត្ត TypeScript ក្រោមអាជ្ញាបណ្ណ MIT ដែលត្រូវបានបញ្ចូលដោយផ្ទាល់ និងពង្រីកជាកូឌិកប្រូហ្វាល់ទូទៅ Headroom។
token-optimizer-mcp 494 ឃ្លាំងសម្ងាត់ Brotli/SQLite + ភាពខុសគ្នានៃបរិបទក្នុងមួយសម័យ — បានជំរុញគំនិតដល់ម៉ាស៊ីន session-dedup របស់យើង។
token-savior 1,122 ការបង្រួមលទ្ធផល Bash + ប្រូហ្វាល់ MCP — បានជំរុញគំនិតដល់វិន័យបោះបង់ការបង្ហាប់ និងការកាត់បន្ថយបញ្ជីឧបករណ៍ MCP របស់យើង។
token-saver 138 ការបង្ហាប់លទ្ធផលតាមប្រភេទឯកសារនីមួយៗ ដែលយល់ដឹងអំពីមាតិកា និងបោះបង់នៅពេលប្រឈមនឹងការបរាជ័យ — បានបញ្ជាក់សុពលភាពនៃការបញ្ជូនតាមប្រភេទ និងការរំលងនៅពេលទទួលបានផលចំណេញតិចជាងកម្រិតអប្បបរមារបស់យើង។
token-optimizer 1,951 "ស្វែងរកថូខិនខ្មោច" — លំនាំផ្ទេរចេញ + ចំណុចយោងដែលអាចសង្គ្រោះបានរបស់វា បានផ្តល់ជាគោលគំនិតដល់ការគិតគូរអំពីការផ្ទេរចេញ CCR របស់យើង។
TokenMizer 28 ប្លង់គំរូក្រាហ្វសម័យ + ការលុបជួរដែលស្ទួនគ្នាឆ្លងវេន ដែលបានផ្តល់ជាគោលគំនិតដល់ការរចនា session-dedup របស់យើង។
OmniCompress 3 JSON ជាជួរឈររបស់ Rust + ការទាញយកដោយផ្អែកលើអាសយដ្ឋានមាតិកា + ការលុបមាតិកាស្ទួនគ្នាឆ្លងសារ — បានបញ្ជាក់សុពលភាពនៃការរចនាម៉ាស៊ីន headroom/ccr/session-dedup និងលក្ខខណ្ឌមិនប្រែប្រួល "ទម្រង់ដែលបានបង្ហាប់មិនអាស្រ័យលើទីតាំង" ដែលមានស្ថិរភាពចំពោះឃ្លាំងសម្ងាត់របស់យើង។
mcp-compressor 113 ការបង្ហាប់ស្គីមា/សេចក្តីពិពណ៌នាឧបករណ៍ MCP — បានផ្តល់ជាគោលគំនិតដល់ការកាត់បន្ថយចំនួនធាតុនៃបញ្ជីឧបករណ៍ MCP របស់យើង។
RepoMapper 197 ការរៀបចំណាត់ថ្នាក់ផែនទីឃ្លាំងបែប Aider — បានផ្តល់ជាគោលគំនិតដល់ការស្វែងរកលើផែនទីឃ្លាំង / ការរៀបចំណាត់ថ្នាក់ការទាញយករបស់យើង។
quiet-shell-mcp 4 ការកាត់បន្ថយលទ្ធផល shell តាមបែបប្រកាសកំណត់លើ MCP — បានបញ្ជាក់សុពលភាពនៃការបង្រួមលទ្ធផល bash តាមបែបប្រកាសកំណត់របស់យើង។
ts-morph 6,162 ឧបករណ៍ TypeScript Compiler API — បានជំរុញគំនិតដល់ការលុបមតិយោបល់ដោយផ្អែកលើ parser របស់យើង ដែលរក្សាទុកលីតេរ៉ាល់ខ្សែអក្សរ គំរូ និងកន្សោមធម្មតា។
### 🧠 អង្គចងចាំ និង RAG
គម្រោង ⭐ របៀបដែលវាបានជំរុញគំនិតដល់ OmniRoute
Mem0 63,902 ស្រទាប់អង្គចងចាំសកល — ម៉ូដែលប្រូកស៊ីជាព្រំដែនសរសេរ/អានរបស់វា បានជួយកំណត់ស្ថាបត្យកម្មអង្គចងចាំរបស់យើង។
Letta (MemGPT) 24,382 ភ្នាក់ងារដែលរក្សាទុកស្ថានភាពជាមួយអង្គចងចាំជាថ្នាក់ៗ — បានជំរុញគំនិតដល់ម៉ូដែលជាថ្នាក់ៗនៃការគ្រប់គ្រង និងការស្ដារបរិបទ (CCR) របស់យើង។
WFGY 1,781 ចំណាត់ថ្នាក់ ProblemMap នៃរបៀបបរាជ័យដែលកើតឡើងដដែលៗចំនួន 16 របស់ RAG/LLM — ជាវាក្យសព្ទរួមនៅក្នុងមគ្គុទ្ទេសក៍ដោះស្រាយបញ្ហារបស់យើង។
### 🛰️ ការត្រួតពិនិត្យចរាចរណ៍, MITM និងប្រូកស៊ីថ្លា
គម្រោង ⭐ របៀបដែលវាបានជំរុញគំនិតដល់ OmniRoute
llm-interceptor 66 ការស្ទាក់ចាប់/វិភាគបែប MITM លើចរាចរណ៍រវាងជំនួយការសរសេរកូដ ↔ LLM បានផ្ដល់ជាមូលដ្ឋានដល់តម្រូវការដំបូងរបស់កម្មវិធីត្រួតពិនិត្យចរាចរណ៍។ ម៉ូឌុលចំនួនបួនដែលធ្លាប់បានបង្កើតផ្អែកលើវា — ការបញ្ចូល SSE, ការធ្វើឱ្យការសន្ទនាមានទម្រង់ស្តង់ដារ, ការបិទបាំងព័ត៌មានសម្ងាត់ និងការសម្អាត header — ត្រូវបានជំនួសដោយការអនុវត្តឯករាជ្យបែប clean-room ដែលផ្អែកលើស្តង់ដារពិធីការសាធារណៈ។ ផ្ទៃ host-passthrough ទាំងពីរ (passthrough.ts និង _internal/bypass.cjs) នៅតែជាការអនុវត្តផ្ទៃក្នុងរបស់ OmniRoute ដែលត្រូវបានចាត់ថ្នាក់ដោយឯករាជ្យ។ ពួកវាមិនត្រូវបានសរសេរឡើងវិញជាផ្នែកនៃការជំនួសនោះទេ។
ProxyBridge 5,995 ការកំណត់ផ្លូវប្រូកស៊ីថ្លាតាមដំណើរការនីមួយៗ — បានជំរុញគំនិតដល់ការបិទ MITM ដែលមានសុវត្ថិភាពពេលគាំង, ការកំណត់ពេលអស់សុពលភាពពេល socket ទំនេរ, ការកំណត់អត្តសញ្ញាណដំណើរការតាម /proc និងការចាប់យកតាម TPROXY របស់យើង។
### 📚 ទិន្នន័យម៉ូដែល, ភាពអាចសង្កេត និង UI
គម្រោង ⭐ របៀបដែលវាបានជំរុញគំនិតដល់ OmniRoute
models.dev 6,555 មូលដ្ឋានទិន្នន័យបើកចំហនៃលក្ខណៈបច្ចេកទេស តម្លៃ និងសមត្ថភាពរបស់ម៉ូដែល AI — ត្រូវបានធ្វើសមកាលកម្មដោយផ្ទាល់ទៅក្នុងកាតាឡុកម៉ូដែលរបស់យើង។
React Flow / xyflow 38,108 បណ្ណាល័យក្រាហ្វផ្អែកលើ node ដែលដំណើរការ Compression Studio និង Combo/Routing Studio តាមពេលវេលាជាក់ស្ដែងរបស់យើង។
LangGraph 40,314 ការបង្ហាញក្រាហ្វលំហូរការងារផ្ទាល់របស់ LangGraph Studio បានជំរុញគំនិតដល់ទិដ្ឋភាពលំហូរជាបន្តបន្ទាប់តាមពេលវេលាជាក់ស្ដែងរបស់ Studios របស់យើង។
Langfuse 33,592 ម៉ូដែលភាពអាចសង្កេត trace → span → generation របស់វា បានជួយកំណត់ទិដ្ឋភាព waterfall របស់ Compression Studio របស់យើង។
Kiali 3,631 ភាពអាចសង្កេតរបស់ service mesh នៃ Istio — បានជំរុញគំនិតដល់ផ្លាកសញ្ញា circuit-breaker និងរូបភាពខ្សែតំណកំហុសនៅក្នុង Routing/Combo Studio របស់យើង។
lobe-icons 2,428 ឡូហ្គោម៉ាក AI/LLM ដែលបង្ហាញរូបតំណាងអ្នកផ្ដល់សេវានៅទូទាំងផ្ទាំងគ្រប់គ្រងរបស់យើង។
flag-icons 12,354 ផ្ដល់ទង់ជាតិ SVG ដែលមានអាជ្ញាបណ្ណ MIT និងត្រូវបានប្រើដោយឧបករណ៍ជ្រើសរើសភាសានៅក្នុង README។
### 🛡️ សុវត្ថិភាព
គម្រោង ⭐ របៀបដែលវាបានជំរុញគំនិតដល់ OmniRoute
awesome-secure-defaults 721 បញ្ជីបណ្ណាល័យដែលមានសុវត្ថិភាពតាមលំនាំដើម និងត្រូវបានជ្រើសរើសយ៉ាងយកចិត្តទុកដាក់ ដែលណែនាំជម្រើសផ្នែកសុវត្ថិភាពរបស់យើង (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink)។
### 🧭 ឧបករណ៍បំពេញបន្ថែម
គម្រោង ⭐ របៀបដែលវាបានជំរុញគំនិតដល់ OmniRoute
ClawRouter 6,564 បានជំរុញគំនិតដល់ការលុបសំណើស្ទួន, fallback គ្មានការចំណាយសម្រាប់ស្ថានការណ៍បន្ទាន់, យុទ្ធសាស្ត្រ Auto-Combo ដែលអាចដោតបន្ថែមបាន និងការចាត់ថ្នាក់បំណងតាមពហុភាសា។
Antigravity-Manager 30,652 ការផ្គូផ្គងម៉ូដែលឡើងវិញដោយគិតពីគណនី, ការផ្ទៀងផ្ទាត់ផ្លូវរបស់ឯកសារប្រតិបត្តិ និងឥរិយាបថស្លាកគម្រោងរបស់វា បានផ្ដល់ជាមូលដ្ឋានដល់ runtime Antigravity របស់ OmniRoute។
vscode-antigravity-cockpit 4,817 ទម្រង់រាប់ថយក្រោយដ៏ខ្លីសម្រាប់ការកំណត់កូតាឡើងវិញរបស់វា បានជំរុញគំនិតដល់ការបង្ហាញដែនកំណត់អ្នកផ្ដល់សេវាដែលត្រូវគ្នានៅក្នុង OmniRoute។
AionUi 32,230 ការរួមបញ្ចូល ACP របស់វា បានជំរុញគំនិតដល់ការរកឃើញភ្នាក់ងារ CLI ដែលបានដំឡើងដោយស្វ័យប្រវត្តិរបស់ OmniRoute។
CodexBar 20,507 បានកំណត់អត្តសញ្ញាណផ្ទៃកូតា Grok Build; បន្ទាប់មក OmniRoute បានផ្ទៀងផ្ទាត់ និងកែតម្រូវទម្រង់ wire ផ្ទាល់ដោយឯករាជ្យ។
## 📄 អាជ្ញាបណ្ណ
អាជ្ញាបណ្ណ MIT - សូមមើល [LICENSE](LICENSE) សម្រាប់ព័ត៌មានលម្អិត។
---
**[⬆ ត្រឡប់ទៅផ្នែកខាងលើ](#-omniroute)** · បង្កើតឡើងដោយ ❤️ សម្រាប់សហគមន៍ AI ប្រភពបើកចំហ។
OmniRoute v3.8.52 · Node ≥22.22.2 · អាជ្ញាបណ្ណ MIT · omniroute.online