# 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

# 🚀 OmniRoute — ច្រកផ្លូវ AI ឥតគិតថ្លៃ **បង្កើតដោយ [Diego Souza](https://github.com/diegosouzapw)** OmniRoute — កុំឈប់សរសេរកូដ។ ឧបករណ៍ AI ទាំងអស់ → អ្នកផ្តល់សេវា 388 — ឥតគិតថ្លៃជាង 150 — តាមរយៈ endpoint តែមួយ។ Claude Code, Codex, Cursor, Cline, Copilot និង Antigravity ទៅកាន់ Claude / GPT / Gemini ឥតគិតថ្លៃ ជាមួយការប្ដូរបម្រុងស្វ័យប្រវត្តិ។ ការបង្ហាប់ជាជង់ RTK + Caveman សន្សំ tokens បាន 15–95% (ជាមធ្យម ~89%) — មិនជួបដែនកំណត់ឡើយ។ អ្នកផ្តល់សេវា AI 388 · កម្រិតឥតគិតថ្លៃជាង 150 · tokens ឥតគិតថ្លៃប្រហែល 1.62B ក្នុងមួយខែ · យុទ្ធសាស្ត្រកំណត់ផ្លូវ 20 · ចាប់ផ្តើមដោយ $0។
## 💰 ~1.62B ថូខិន / ខែ ពី Free Tier របស់អ្នកផ្តល់សេវាភាគីទីបី
> **ប្រើគណនីអ្នកផ្តល់សេវារបស់អ្នកផ្ទាល់។** នេះជាការប៉ាន់ស្មានសរុបពី free tier របស់អ្នកផ្តល់សេវាភាគីទីបី ដែលមានលក្ខខណ្ឌសិទ្ធិប្រើប្រាស់ដោយឡែកពីគ្នា មិនមែនជាការផ្តល់ថូខិនពី OmniRoute ទេ។ ចុះឈ្មោះ ទទួលយកព័ត៌មានសម្គាល់នៅពេលចាំបាច់ ហើយភ្ជាប់អ្នកផ្តល់សេវាដែលអ្នកអាចប្រើបាន; អ្នកផ្តល់សេវានីមួយៗជាអ្នកកំណត់ដែនកំណត់ ភាពមានប្រើ និងលក្ខខណ្ឌរបស់ខ្លួន។ > > ការបូក free tier ដោយដៃគឺពិបាក — SDK រាប់សិប ដែនកំណត់អត្រារាប់សិប និងមិនដឹងថាអ្នកពិតជាមានប៉ុន្មានទេ។ OmniRoute រៀបចំកាតាឡុក **465 ធាតុ free-tier ក្នុង 34 recurring pool keys** ហើយគណនាតួលេខថូខិនពី **17 pools ដែលមានថវិកាប្រចាំខែវិជ្ជមានដែលបានបោះពុម្ពផ្សាយ បូកនឹងកម្រិត Groq តាមម៉ូដែលចំនួនប្រាំ** ដោយលុបការរាប់ស្ទួនតាម shared pool។ Quota ដែលបើកប្រើបានតែបន្ទាប់ពីការត្រួតពិនិត្យអត្តសញ្ញាណតាមតំបន់ (បច្ចុប្បន្ន៖ ModelScope) ត្រូវបានបង្ហាញដោយឡែក, +~6M បន្ទាប់ពីការផ្ទៀងផ្ទាត់អត្តសញ្ញាណតាមតំបន់ ហើយមិនត្រូវបានបូកចូលក្នុងតួលេខសរុបទេ។ លទ្ធផលនៅតែអាចមើលឃើញនៅលើ dashboard (`/dashboard/free-tiers`)។ កាតថវិកា free-tier របស់ OmniRoute៖ ~1.62B ថូខិនឥតគិតថ្លៃក្នុងមួយខែជាប្រចាំ រហូតដល់ ~2.22B ក្នុងខែដំបូងជាមួយឥណទានចុះឈ្មោះ ពី 34 documented recurring pool keys ដែលគ្របដណ្តប់ 465 ធាតុ free-tier ក្នុងកាតាឡុក តាមរយៈ endpoint តែមួយ។ ការគណនាតាម pool-deduped ដោយស្មោះត្រង់ — shared pool នីមួយៗត្រូវបានរាប់តែម្តង រួមទាំង 17 recurring pools ដែលមានថវិកាថូខិនប្រចាំខែវិជ្ជមានដែលបានបោះពុម្ពផ្សាយ បូកនឹងកម្រិត Groq តាមម៉ូដែលចំនួនប្រាំ; អ្នកផ្តល់សេវា 12 ត្រូវបានសម្គាល់ថាគួរជៀសវាងក្នុងកាតាឡុកហានិភ័យលក្ខខណ្ឌ ដូច្នេះអ្នកជាអ្នកសម្រេចចិត្ត។ របារថវិការួមមាន Mistral 1B, Nara 210M, LLM7 150M, xKiro 150M, Groq 30M (កម្រិតតាមម៉ូដែលចំនួនប្រាំ) និង pool តូចៗផ្សេងទៀត ព្រមទាំងឥណទានចុះឈ្មោះក្នុងខែដំបូង និងអ្នកផ្តល់សេវាដែលឥតគិតថ្លៃជាអចិន្ត្រៃយ៍ដោយគ្មានដែនកំណត់ថូខិន ដែលបង្ហាញដោយឡែក ដើម្បីកុំឱ្យពួកវាបង្កើនតួលេខសរុប។ ចំនួនដែលបានប្រើ/នៅសល់បច្ចុប្បន្ននៅ /dashboard/free-tiers។ > សេចក្តីសង្ខេបមានចលនានៃទំព័រ `/dashboard/free-tiers` ផ្ទាល់។ វិធីសាស្ត្រពេញលេញ (ការលុបការរាប់ស្ទួនតាម pool, កម្រិតឥណទាន, លក្ខខណ្ឌអ្នកផ្តល់សេវា)៖ **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**។ > > តួលេខទាំងនេះត្រូវបានធ្វើសវនកម្មឡើងវិញរៀងរាល់ពីរសប្តាហ៍ ដោយប្រៀបធៀបនឹងកាតាឡុកផ្ទាល់ ហើយ **អាចប្រែប្រួលឡើង ឬចុះ** — អ្នកផ្តល់សេវាបញ្ចប់ free tier ហើយចំនួនធ្លាក់ចុះ; អ្នកផ្តល់សេវាថ្មីចូលមក ហើយចំនួនកើនឡើង។ យើងផ្សព្វផ្សាយអ្វីដែលកាតាឡុកគណនាបានពិតប្រាកដ មិនដែលបង្គត់ឡើងទៅករណីល្អបំផុតទេ។

⭐ សូមដាក់ផ្កាយឱ្យ repo ប្រសិនបើ OMNIROUTE បានជួយអ្នកសន្សំប្រាក់ និងធ្វើឱ្យការងាររបស់អ្នកកាន់តែងាយស្រួល។

[![Stars](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![ចំណាត់ថ្នាក់ប្រវត្តិផ្កាយ](https://api.star-history.com/badge?repo=diegosouzapw/OmniRoute&theme=dark)](https://www.star-history.com/diegosouzapw/omniroute) [![olud.ai](https://olud.ai/badge.php?tool=diegosouzapw-omniroute)](https://olud.ai/project/diegosouzapw-omniroute.html) ### 💬 ចូលរួមសហគមន៍ **👋 តាមដានអ្នកថែទាំគម្រោង — ទទួលបានអ្នកផ្តល់សេវាថ្មី កំណែចេញផ្សាយ និងគន្លឹះជាមុនគេ៖** [![តាមដាន Diego នៅលើ LinkedIn](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![តាមដាន @diegosouzapw នៅលើ GitHub](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp Global](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp Brasil](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![គេហទំព័រ](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) **សំណួរ គន្លឹះអំពីអ្នកផ្តល់សេវា ផែនទីអនាគត និងការគាំទ្រ → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Gateway កាន់តែរីកចម្រើន
| | v3.8.50 | **v3.8.51** | `v3.8.54+` | | -------------------------------- | :--------------------------: | :---------: | :-------------------: | | 🌐 អ្នកផ្តល់សេវា | 352 | **358** | 388 | | 🧠 លេខសម្គាល់ម៉ូដែលជជែកតែមួយគត់ | 1320 | **1374** | 1491 | | 🖼️ ស្ពានម៉ូឌាល់លីតេ | 🆕 រូបភាព + អូឌីយ៉ូ + វីដេអូ | ✓ | ✓ | | 📡 កាតាឡុកឥតគិតថ្លៃរបស់ Radar | 🆕 ជ្រើសរើសចូលរួម | ✓ | ✓ | | ⚖️ ការកំណត់កាលវិភាគដោយគិតគូរកូតា | 🆕 ការចែករំលែកកូតា | ✓ | ✓ | | 📊 ទិន្នន័យតេឡេម៉ែត្រកូតា | 🆕 បន្តផ្ទាល់ | ✓ | ✓ | | 🧰 របៀបគ្មានផ្ទាំងបញ្ជា | — | — | 🆕 `serve --headless` | | 🛤️ ហេដ្ឋារចនាសម្ព័ន្ធផ្លូវ LTS | — | — | 🆕 បណ្តាញចេញផ្សាយ | | 🔎 API ស្វែងរកម៉ូដែល | — | — | 🆕 `/v1/models/query` | **→ [ផែនទីអភិវឌ្ឍន៍](ROADMAP.md) — ធ្វើដំណើរតាមផ្លូវឆ្ពោះទៅ `v3.9.0 LTS`**

## 🧩 មាន [![កំណែ npm](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![NPM ប្រចាំខែ](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![អាជ្ញាប័ណ្ណ៖ MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![ការទាញ Docker](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![ការទាញយក Electron](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 ចាប់ផ្ដើម 🚀 ចាប់ផ្ដើមរហ័ស 📦 ដំឡើង 🆓 ភ្ជាប់អ្នកផ្ដល់សេវា
💡 ស្វែងយល់ 💥 ការសន្យា 🤔 ហេតុអ្វី OmniRoute 🏆 អ្វីដែលធ្វើឱ្យខុសប្លែក
⚙️ មុខងារ 🎯 បន្សំ 🌐 អ្នកផ្ដល់សេវា 🔌 CLI & MCP
🗜️ ការបង្រួម 🖥️ កន្លែងដែលវាដំណើរការ 🔒 ឯកជន
👀 មើលវា 🎬 ក្នុងសកម្មភាព ✨ មានអ្វីថ្មី 🤖 CLI ដែលឆបគ្នា
💚 គាំទ្រ 💚 គាំទ្រ / បរិច្ចាគ 💬 សហគមន៍ 💖 អ្នកឧបត្ថម្ភ
📦 គម្រោង 🛠️ បច្ចេកវិទ្យា 📖 ឯកសារ 👥 អ្នកចូលរួម
🌐 ជា ៦៧ ភាសា

English (en) Português — Brasil (pt-BR) Português (pt) Español (es) Français (fr) Italiano (it) Deutsch (de) Nederlands (nl) Русский (ru) Українська (uk-UA) Polski (pl) Čeština (cs) Slovenčina (sk) Română (ro) Magyar (hu) Български (bg) Dansk (da) Suomi (fi) Norsk (no) Svenska (sv) 中文 — 简体 (zh-CN) 中文 — 繁體 (zh-TW) 日本語 (ja) 한국어 (ko) ไทย (th) Tiếng Việt (vi) Bahasa Indonesia (id) Bahasa Melayu (ms) Filipino (phi) हिन्दी (hi) ગુજરાતી (gu) मराठी (mr) தமிழ் (ta) తెలుగు (te) বাংলা (bn) اردو (ur) فارسی (fa) العربية (ar) עברית (he) Türkçe (tr) Azərbaycan (az) Kiswahili (sw) Ελληνικά (el) Hrvatski (hr) Српски (sr) Lietuvių (lt) Eesti (et) Latviešu (lv) Slovenščina (sl) Malti (mt) Gaeilge (ga) ಕನ್ನಡ (kn) മലയാളം (ml) ଓଡ଼ିଆ (or) ਪੰਜਾਬੀ (pa) नेपाली (ne) සිංහල (si) မြန်မာ (my) ខ្មែរ (km) Hausa (ha) Yorùbá (yo) Igbo (ig) አማርኛ (am) Oʻzbekcha (uz) ქართული (ka) Հայերեն (hy) Bosanski (bs)


## 🆓 ដំឡើង ភ្ជាប់អ្នកផ្តល់សេវា រួចបញ្ជូនតាម endpoint តែមួយ
ជំហានបី៖ ដំឡើង និងចាប់ផ្ដើម OmniRoute, ភ្ជាប់អ្នកផ្តល់សេវាដែលមានសិទ្ធិដោយប្រើគណនី ឬ API key ផ្ទាល់ខ្លួនរបស់អ្នក, រួចកំណត់ឧបករណ៍របស់អ្នកឱ្យប្រើ localhost:20128/v1 ដោយប្រើ OmniRoute API key និងម៉ូដែល auto។ ការបញ្ជូនអាស្រ័យលើការភ្ជាប់ដែលមានសិទ្ធិ និងដែនកំណត់របស់អ្នកផ្តល់សេវា។ ```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` ត្រូវការផ្លូវបញ្ជូនដែលមានសិទ្ធិ។ ការដំឡើងថ្មីអាចមិនមានគោលដៅដែលមិនត្រូវការឃី និងមានសិទ្ធិណាមួយឡើយ ហើយអ្នកផ្តល់សេវាដែលមិនត្រូវការឃីអាចបដិសេធ client ភាគីទីបី។ អ្នកផ្តល់សេវាដែលមានស្លាក `tos: avoid` រួមទាំង Kiro ត្រូវបានដកចេញពីការបញ្ជូនដោយស្វ័យប្រវត្តិតាមលំនាំដើម។ ការភ្ជាប់គណនីមិនអាចប្តូរការកំណត់នោះបានទេ។ សូមមើល [មគ្គុទ្ទេសក៍ Free Tiers](docs/getting-started/FREE-TIERS-GUIDE.md) មុនពេលជ្រើសរើសអ្នកផ្តល់សេវា។ 📦 ស្គ្រីបចាប់ផ្ដើមរហ័សសម្រាប់ចម្លងបិទភ្ជាប់ដោយផ្ទាល់ សម្រាប់ **Python, Node.js, PHP, និង cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 ការសន្យា
ការសន្យា — endpoint តែមួយ និងអ្នកផ្តល់សេវា 388។ ការបម្រុងទុកដោយស្វ័យប្រវត្តិធានាឱ្យការបញ្ជូនបន្ត នៅពេលគោលដៅដែលមានសុខភាពល្អផ្សេងទៀតនៅតែមាន។ សសរស្តម្ភប្រាំមួយ៖ ការបម្រុងទុកដែលមានភាពធន់ទ្រាំឆ្លងកាត់អ្នកផ្តល់សេវា 388 · សន្សំ token បានដល់ 95% សម្រាប់ workload ដែលមានសិទ្ធិ · ចាប់ផ្ដើមដោយ $0 ជាមួយ free tier ជាង 150 និងអ្នកផ្តល់សេវាឥតគិតថ្លៃជារៀងរហូតចំនួន 52 ដែលកើតឡើងជាប្រចាំ/មិនត្រូវការឃី · ការរួមបញ្ចូល CLI/agent ចំនួន 39 តាមរយៈ config តែមួយ · ភាពឆបគ្នាជាមួយ OpenAI, Claude, Gemini និង Responses API នៅ /v1 · ការគ្រប់គ្រងសម្រាប់ production រួមមាន circuit breaker, TLS stealth, MCP 110 tools, A2A, memory, guardrails, evals និង static test declaration ជាង 56,000 នៅទូទាំង test file ដែលបានតាមដានជាង 7,800។

# 🤔 ហេតុអ្វី OmniRoute?
ហេតុអ្វី OmniRoute — ឈប់ចាំបាច់គ្រប់គ្រង dashboard 10, API key ដែលស្លាប់ និងវិក្កយបត្រដែលមិនបានរំពឹងទុក។ បញ្ហាប្រចាំថ្ងៃ 10 យ៉ាងធៀបនឹងដំណោះស្រាយ៖ quota ផុតកំណត់ដោយមិនបានប្រើ → ប្រើប្រាស់ subscription ឱ្យបានអតិបរមា; rate limit កើតឡើងកណ្ដាលពេលសរសេរកូដ → auto-fallback 4 កម្រិត (Subscription → API → Cheap → Free); លទ្ធផលពីឧបករណ៍ប្រើ token ច្រើន → RTK + Caveman compression (15–95%); API ថ្លៃ → ការបញ្ជូនដែលបង្កើនប្រសិទ្ធភាពថ្លៃដើម; ឧបករណ៍នីមួយៗត្រូវការការរៀបចំដោយឡែក → endpoint តែមួយ, dashboard តែមួយ; AI ត្រូវបានរារាំង → proxy 3 កម្រិត + TLS stealth; key ស្លាប់ → ភាពធន់ទ្រាំ 3 ស្រទាប់ (circuit breaker, key cooldown, model lockout); ក្រុមចែករំលែក subscription តែមួយ → pool របស់ key ជាមួយ quota ចែករំលែកដោយយុត្តិធម៌; prompt ឆ្លងកាត់ cloud របស់នរណាម្នាក់ → local-first ជាមួយ key ដែលបានអ៊ិនគ្រីបដោយ AES-256-GCM; មើលការចំណាយមិនឃើញ → analytics ផ្ទាល់ពេល (ការប្រើប្រាស់, quota, ការសន្សំ, p95 latency)។
លំហូរសំណើរបស់ OmniRoute៖ IDE ឬ CLI របស់អ្នក (Claude Code, Cursor, Cline…) ហៅទៅកាន់ endpoint មូលដ្ឋានតែមួយ (http://localhost:20128/v1); OmniRoute Smart Router (RTK + Caveman compression, យុទ្ធសាស្ត្របញ្ជូន 20, circuit breaker, TLS stealth, MCP, A2A, guardrail) អាចប្តូរទៅប្រើអ្នកផ្តល់សេវា 4 កម្រិត ខណៈពេលដែលគោលដៅដែលមានសិទ្ធិ និងមានសុខភាពល្អនៅតែមាន — កម្រិត 1 Subscription, កម្រិត 2 API Key, កម្រិត 3 Cheap និងកម្រិត 4 Free។

## 🤝 គាំទ្រដោយមិត្តភក្តិប្រភពបើកចំហរបស់យើង

Kimi K3 — បញ្ញាព្រំដែនបើកចំហ · ប៉ារ៉ាម៉ែត្រ 2.8T · បរិបទ 1M-token

> **ចង់ចូលរួមជាមិត្តភក្តិប្រភពបើកចំហទេ?** ទាំងនេះគឺជាក្រុមហ៊ុនដែលគាំទ្រប្រភពបើកចំហ និងជួយរក្សា OmniRoute ឱ្យដំណើរការ — ហើយយើងប្រកាសជាសាធារណៈថាគ្រប់ token ដែលពួកគេផ្តល់ឱ្យយើងទៅណា។ ទាក់ទងមក៖ [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
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
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
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 ទេ? បើកបញ្ហាហើយយើងនឹងបន្ថែមវានៅទីនេះ។

## 🎯 បន្សំ — មុខងារគោល
ឧទាហរណ៍មានចលនាសម្រាប់យុទ្ធសាស្ត្រកំណត់ផ្លូវបន្សំចំនួន 18 ក្នុងចំណោម 20 — មួយក្រឡាសម្រាប់មួយយុទ្ធសាស្ត្រ៖ priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, lkgp, auto, fusion, pipeline។ cache-optimized និង quota-weighted មិនមានចលនាទេ; តារាងខាងក្រោមពិពណ៌នាយុទ្ធសាស្ត្រទាំង 20។ > **បន្សំ** គឺជាខ្សែសង្វាក់នៃម៉ូដែលដែល OmniRoute កំណត់ផ្លូវឆ្លងកាត់ដោយ **ស្វ័យប្រវត្តិ**។ ប្រសិនបើកូតាអស់ អ្នកផ្តល់សេវាបរាជ័យ ឬថ្លៃចំណាយកើនឡើងខ្លាំង បន្សំអាចប្តូរទៅម៉ូដែលដែលមានសុខភាពល្អ និងមានសិទ្ធិបន្ទាប់។ 🛡️ ### ⚡ មិនបាច់កំណត់រចនាសម្ព័ន្ធ — គ្រាន់តែប្រើ `auto` មិនចាំបាច់បង្កើតបន្សំទេ។ កំណត់ម៉ូដែលរបស់អ្នកទៅជា `auto` (ឬវ៉ារ្យ៉ង់មួយ) ហើយ OmniRoute នឹងបង្កើតបន្សំនិម្មិតពីអ្នកផ្តល់សេវាដែលបានភ្ជាប់របស់អ្នក ដោយដាក់ពិន្ទុផ្ទាល់៖
លេខសម្គាល់ម៉ូដែលអ្វីដែលវាបង្កើនប្រសិទ្ធភាព
auto🎯 លំនាំដើមមានតុល្យភាព (LKGP — បន្តប្រើអ្នកផ្តល់សេវាល្អចុងក្រោយរបស់អ្នក)
auto/coding🧑💻 ទម្ងន់ដែលផ្តល់អាទិភាពដល់គុណភាពសម្រាប់ការបង្កើតកូដ
auto/fast⚡ ភាពយឺតយ៉ាវទាបបំផុតមុនគេ
auto/cheap💰 ថោកបំផុតក្នុងមួយ token មុនគេ
auto/subscription🎟️ ប្រើតែកូតានៃការជាវដែលអ្នកបានបង់រួច — បិទនៅពេលបរាជ័យ និងមិនដែលប្តូរទៅជម្រើសបម្រុងដែលអាចគិតថ្លៃឡើយ (មគ្គុទ្ទេសក៍)
auto/thrifty🪜 កូតាគម្រោងមុន បន្ទាប់មកឡើងម្តងមួយកាំទៅកាន់ជម្រើសបង់ប្រាក់ថោកបំផុត — ត្រឡប់ទៅគម្រោងវិញបន្ទាប់ពីកូតាកំណត់ឡើងវិញ (មគ្គុទ្ទេសក៍)
auto/offline🔋 កូតា / ទំហំទំនេរនៃដែនកំណត់អត្រាច្រើនបំផុតមុនគេ
auto/smart🔭 ផ្តល់អាទិភាពដល់គុណភាព + ការសាកល្បង 10% ដើម្បីស្វែងរកម៉ូដែលល្អជាង
auto/lkgp📌 ការបន្តប្រើអ្នកផ្តល់សេវាល្អចុងក្រោយដែលបានស្គាល់យ៉ាងច្បាស់លាស់
auto/chaos🧪 បញ្ជូនសំណើចេញស្របគ្នាទៅក្រុមម៉ូដែល (មួយក្នុងអ្នកផ្តល់សេវានីមួយៗ និង 5 តាមលំនាំដើម) ហើយត្រឡប់ចម្លើយមួយ; ការហៅទៅប្រភពខាងលើមួយសម្រាប់ម៉ូដែលនីមួយៗក្នុងក្រុម មិនមែនជាការបញ្ចូលកំហុសសាកល្បងទេ
## ### 🔀 ឬបង្កើតដោយខ្លួនឯង — យុទ្ធសាស្ត្រកំណត់ផ្លូវ 20 យុទ្ធសាស្ត្រ **20** ទាំងអស់ — លាយបញ្ចូល និងផ្គូផ្គងតាមជំហាននីមួយៗនៃបន្សំ៖
# យុទ្ធសាស្ត្រ អ្វីដែលវាធ្វើ
1 priority បញ្ជីតម្រៀបដែលផ្តល់អាទិភាពដល់គោលដៅទីមួយ — ប្រើគោលដៅនីមួយៗរហូតអស់ មុនបន្តទៅគោលដៅបន្ទាប់ 🥇
2 fill-first ប្រើកូតារបស់គោលដៅនីមួយៗឱ្យពេញ មុនពេលបន្តទៅមុខ
3 weighted ជ្រើសដោយចៃដន្យតាមទម្ងន់របស់គោលដៅនីមួយៗ
4 round-robin បង្វិលឆ្លងកាត់គោលដៅតាមលំដាប់
5 p2c ធ្វើតុល្យកម្មបន្ទុកដោយចៃដន្យតាមជម្រើសពីរក្នុងពេលមួយ
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 ភ្ជាប់បុព្វបទ prompt ដែលអាចប្រើឡើងវិញនីមួយៗទៅគណនីដដែល — បង្កើនការប្រើត្រូវ prompt-cache ឱ្យបានអតិបរមា 🎯
17 lkgp ផ្លូវល្អចុងក្រោយដែលបានស្គាល់ — ភ្ជាប់ទៅអ្នកផ្តល់សេវាដែលជោគជ័យចុងក្រោយ បន្ទាប់មកប្តូរទៅច្បាប់បម្រុង
18 auto ការដាក់ពិន្ទុផ្ទាល់ដោយកត្តា 16 ឆ្លងកាត់ការតភ្ជាប់ទាំងអស់ 🤖
19 fusion បញ្ជូនសំណើចេញទៅក្រុមម៉ូដែល + ម៉ូដែលវិនិច្ឆ័យមួយសំយោគជាចម្លើយតែមួយ 🧬
20 pipeline តភ្ជាប់ជំហានជាខ្សែសង្វាក់ — លទ្ធផលរបស់គោលដៅនីមួយៗត្រូវបញ្ជូនទៅគោលដៅបន្ទាប់ 🔗
ម៉ាស៊ីន Auto-Combo ដាក់ពិន្ទុបេក្ខភាពនីមួយៗដោយផ្អែកលើ **កត្តាចំនួន 16** (ស្ថានភាពល្អ កូតា ថ្លៃចំណាយ ភាពយឺតយ៉ាវ ភាពសមស្របនឹងភារកិច្ច គុណភាព លទ្ធភាពប្រើប្រាស់សម័យ…) — សូមមើល [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md)។ ## ### 🧱 ភាពធន់ត្រូវបានបង្កប់មកជាស្រេច (3 ស្រទាប់ឯករាជ្យ) ភាពធន់របស់ OmniRoute — ស្រទាប់ស្ដារខ្លួនឯងឯករាជ្យចំនួន 3 ដោយប្រើស្រទាប់ត្រឹមត្រូវសម្រាប់ការបរាជ័យនីមួយៗ។ ស្រទាប់ទី 1 ឧបករណ៍កាត់សៀគ្វីរបស់អ្នកផ្ដល់សេវា (អ្នកផ្ដល់សេវាទាំងមូល)៖ ដំណើរការផ្ដាច់តែលើ 408/5xx ប៉ុណ្ណោះ កម្រិតកំណត់ OAuth 8× / API-key 12× / local 2× កំណត់ឡើងវិញក្នុងរយៈពេល 60s/30s/15s ចូលទៅកាន់ការសាកល្បង HALF-OPEN និងស្ដារឡើងវិញនៅពេលត្រូវការ។ ខណៈពេលស្ថិតក្នុងស្ថានភាព OPEN combo នឹងបង្វែរផ្លូវទៅកាន់អ្នកផ្ដល់សេវាបន្ទាប់។ ស្រទាប់ទី 2 រយៈពេលសម្រាកការតភ្ជាប់ (សោ/គណនីមួយ)៖ មូលដ្ឋាន 5s សម្រាប់ OAuth / 3s សម្រាប់ API-key ការពន្យារពេលថយក្រោយបែបអិចស្ប៉ូណង់ស្យែល ×2 ជាមួយយន្តការការពារសំណើសម្រុកព្រមគ្នា 429 គោរពតាម Retry-After ហើយភាពជោគជ័យនឹងសម្អាតស្ថានភាពកំហុសទាំងអស់។ សោមួយដែលកំពុងសម្រាកនឹងត្រូវបានរំលង ខណៈសោដទៃទៀតនៅតែបន្តផ្ដល់សេវា។ ស្រទាប់ទី 3 ការចាក់សោម៉ូដែល (ម៉ូដែលមួយ)៖ 429 សម្រាប់ម៉ូដែលនីមួយៗ 404 ក្នុងតំបន់ ឬការបដិសេធរបៀប នឹងចាក់សោតែម៉ូដែលនោះប៉ុណ្ណោះ — មិនមែនការតភ្ជាប់ទាំងមូលឡើយ។ ស្ថានភាពបញ្ចប់ (ត្រូវបានហាមឃាត់ ផុតកំណត់ ឥណទានអស់) គឺសម្រាប់ប្រតិបត្តិករដោះស្រាយ មិនមែនសម្រាប់រយៈពេលសម្រាកទេ។ 📖 [ម៉ាស៊ីន Auto-Combo](docs/routing/AUTO-COMBO.md) · [មគ្គុទ្ទេសក៍ភាពធន់](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 អ្វីដែលធ្វើឱ្យ OmniRoute ខុសប្លែក
អ្វីដែលធ្វើឱ្យ OmniRoute ខុសប្លែក — សេចក្ដីសង្ខេបមុខងារតាមកាលបរិច្ឆេទ ប្រៀបធៀបជាមួយ 9router, OpenRouter, CLIProxyAPI និង LiteLLM លើសមត្ថភាព 13 ប្រភេទ។ OmniRoute៖ អ្នកផ្តល់សេវា 388, កម្រិតប្រើប្រាស់ឥតគិតថ្លៃជាង 150 ដែលបានបង្កប់, យុទ្ធសាស្ត្រកំណត់ផ្លូវ 20, ការបង្រួម token ដោយប្រើម៉ាស៊ីន 12, ម៉ាស៊ីនមេ MCP ដែលបានបង្កប់ជាមួយឧបករណ៍ 110, ពិធីការ A2A agent, អង្គចងចាំអចិន្ត្រៃយ៍, guardrails, cloud agents, ភាពលាក់បាំងស្នាមម្រាមដៃ TLS, Desktop/Termux/PWA និងមូលដ្ឋានភាសា UI i18n ចំនួន 67។ OmniRoute មានអាជ្ញាប័ណ្ណ MIT និងអាចបង្ហោះដោយខ្លួនឯងបាន។ សមត្ថភាព និងចំនួនរបស់គូប្រកួតអាចផ្លាស់ប្តូរ។ សូមមើលវិធីសាស្ត្រដែលបានភ្ជាប់។ 📊 វិធីសាស្ត្រពេញលេញ និងព័ត៌មានលម្អិតតាមមុខងារ ប្រៀបធៀបជាមួយ 9router, OpenRouter, CLIProxyAPI និង LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 គាំទ្រ OmniRoute OmniRoute មានអាជ្ញាបណ្ណ MIT និងត្រូវបានថែទាំជាសាធារណៈ។ ប្រសិនបើវាជួយសន្សំពេលវេលា ឬថវិការបស់អ្នក នេះជាវិធីដែលអាចជួយរក្សាឯករាជ្យភាពរបស់វា — ជ្រើសរើសអ្វីដែលសមនឹងអ្នក។ ការឧបត្ថម្ភមិនដែលប៉ះពាល់ដល់អាទិភាពនៃការកំណត់ផ្លូវឡើយ វាផ្តល់តែភាពមើលឃើញ មិនមែនចំណាត់ថ្នាក់ទេ។
⭐ ដាក់ផ្កាយឱ្យឃ្លាំងឥតគិតថ្លៃ — ពិតជាជួយបង្កើនភាពមើលឃើញដាក់ផ្កាយឱ្យ OmniRoute
🐙 GitHub Sponsorsម្តងម្កាល ឬប្រចាំខែ · មិនមានថ្លៃសេវាវេទិកាgithub.com/sponsors/diegosouzapw
☕ Ko-fiការផ្តល់ជំនួយម្តងរហ័ស ដោយម្ចាស់ជំនួយមិនចាំបាច់ចុះឈ្មោះko-fi.com/diegosouzapw
🧋 Buy Me a Coffeeការគាំទ្រតូចមួយបែបមិនផ្លូវការbuymeacoffee.com/diegosouzapw
🖐 Liberapayបន្តជាប្រចាំ · មិនរកប្រាក់ចំណេញ · ប្រភពបើកចំហliberapay.com/diegosouzapw
🇧🇷 PIX (ប្រេស៊ីល)ភ្លាមៗ ដោយមិនគិតថ្លៃកូនសោ & QR នៅខាងក្រោម
₿ រូបិយប័ណ្ណគ្រីបតូBTC · ETH · USDT-TRC20 · USDC-Solanaអាសយដ្ឋាននៅខាងក្រោម
**🇧🇷 PIX** — ភ្លាមៗ ដោយមិនគិតថ្លៃ (ប្រេស៊ីល) កូដ QR PIX របស់ OmniRoute កូនសោ (ចៃដន្យ)៖ `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 (ចុចដើម្បីពង្រីក)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ សូមផ្ញើកាក់នីមួយៗតែលើបណ្តាញដែលបានបង្ហាញប៉ុណ្ណោះ — ការផ្ញើលើបណ្តាញខុសអាចធ្វើឱ្យបាត់បង់ថវិកា។
🐛 បានរកឃើញកំហុស ឬមានមតិកែលម្អមែនទេ? បើក [ការពិភាក្សា](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.54**។ ប្រវត្តិពេញលេញនៅក្នុង [`CHANGELOG.md`](CHANGELOG.md)។ - **⚖️ ការកំណត់ផ្លូវ `quota-weighted`** — យុទ្ធសាស្ត្រ combo ទី 20 រំលងគណនីដែលកូតាអស់ ហើយជ្រើសរើសក្នុងចំណោមគណនីដែលនៅសល់តាមសមាមាត្រ កូតាដែលនៅសល់ ÷ បន្ទុកដែលកំពុងដំណើរការ ដោយរក្សាការភ្ជាប់សន្ទនាដែលមានស្រាប់ឱ្យនៅជាប់ដដែល។ → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🧰 របៀប Headless** — `omniroute serve --headless` (ឬ `OMNIROUTE_HEADLESS=1`) ដំណើរការតែម៉ាស៊ីនប្រូកស៊ី `/v1/*` ប៉ុណ្ណោះ ដោយបិទ dashboard និងប្រព័ន្ធរងដែលមានសម្រាប់ dashboard តែប៉ុណ្ណោះ។ → [របៀប Headless](docs/guides/HEADLESS.md) - **🔎 ការស្វែងរកម៉ូដែល** — `/v1/models` ត្រងតាមសមត្ថភាព បរិបទ ប្រភេទ និងអត្ថបទ ហើយ `POST /v1/models/query` ត្រឡប់បញ្ជីជម្រើសខ្លីដែលកំណត់លទ្ធផលបានដដែល ដោយប្រើភាពមើលឃើញតាម key ដូចគ្នា។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md) - **🔑 ការគ្រប់គ្រងការកំណត់ផ្លូវតាម key** — បិទ API key មួយឱ្យប្រើម៉ូដែល ឬ combo មួយតាម `forcedModel` ហើយបន្ថែម ឬដកម៉ូដែល និង combo របស់ key មួយដោយប្រតិបត្តិការអាតូមិក (`/api/keys/{id}/access`)។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml) - **🛡️ ការគ្រប់គ្រង PII លម្អិតជាងមុន** — ជ្រើសរើសតាមប្រភេទ លំនាំបិទបាំងផ្ទាល់ខ្លួនដែលបានផ្ទៀងផ្ទាត់រហូតដល់ 20 និងបញ្ជររកឃើញតាមប្រភេទ។ ការបិទបាំងនៅតែត្រូវបើកដោយជ្រើសរើស។ → [Guardrails](docs/security/GUARDRAILS.md) - **🌍 67 ភាសា** — dashboard ឯកសារចម្លង និង CLI ដោយ `npm run i18n:add-locale` បន្ថែមភាសាមួយគ្រប់ទីកន្លែងតាមពាក្យបញ្ជាតែមួយ។ → [មគ្គុទ្ទេសក៍ i18n](docs/guides/I18N.md) - **🎛️ OmniConductor** — ការផ្ទេរភារកិច្ច A2A ចូលទៅកាន់ក្រុម agent របស់អ្នក ជំនាញ Conductor នៅលើ Agent Card និងផ្ទាំង dashboard ជាមួយការជជែកជាសំឡេង push-to-talk របស់ Faro។ → [ម៉ាស៊ីនមេ A2A](docs/frameworks/A2A-SERVER.md) - **🛂 ការទទួលសំណើសម្របខ្លួន និងការការពារការផ្ទុកលើស** — សំណើជជែកដែលប្រើធនធានច្រើនត្រូវបានដាក់ជួរ ជំនួសឱ្យឆ្លើយតបជា 503 ដោយមានសិទ្ធិជួល RPM rolling តាមការតភ្ជាប់ដោយអាតូមិក។ → [មគ្គុទ្ទេសក៍ភាពធន់](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ លំដាប់ `/v1/models` ស្តង់ដារ** — ប្លុកជាប់គ្នាតែមួយដែលដាក់ជាក្រុមតាម provider សម្រាប់ provider នីមួយៗ (combo ត្រូវបានដាក់មុន) មានស្ថិរភាពនៅគ្រប់ប្រភព catalog។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md) - **🗜️ ការពង្រឹងការបង្ហាប់** — ឧបករណ៍ការពារ inflation បើកតាមលំនាំដើម កញ្ចប់ Caveman សម្រាប់ DE / FR / JA + ភាសាចិន (wényán) និងតម្រង RTK សម្រាប់ Gradle & .NET។ → [ការបង្ហាប់](docs/compression/COMPRESSION_ENGINES.md) - **💸 តម្លៃ flat-rate ប្រកបដោយភាពស្មោះត្រង់** — provider ប្រភេទ subscription / coding-plan បង្ហាញ **$0** ក្នុងការវិភាគថ្លៃដើម។ ការប៉ាន់ស្មានសម្រាប់ថវិកា កូតា និងការកំណត់ផ្លូវនៅតែដំណើរការ។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md) - **⚖️ ការកំណត់ផ្លូវ Quota-Share** — បែងចែកកូតារបស់គណនីរួមមួយដោយយុត្តិធម៌ក្នុងចំណោម key ដែលដាក់ជាក្រុម ហើយអាចប្រើធនធានបានពេញលេញ ដោយខ្ចីចំណែកដែលទំនេរទៅអ្នកដទៃ។ → [មគ្គុទ្ទេសក៍ភាពធន់](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 ការរៀបចំ CLI/agent ដោយពាក្យបញ្ជាតែមួយ** — មានពាក្យបញ្ជា `setup-*` ដែលបានចុះបញ្ជីចំនួន 15; `omniroute run` បើកដំណើរការ CLI ចំនួន 7 (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` គាំទ្រគោលដៅចំនួន 11 ជាមួយឧបករណ៍ជ្រើស provider+model អន្តរកម្ម និងចំណូលចិត្តតាមបរិបទ។ → [ការរួមបញ្ចូល CLI](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ របៀប Remote** — គ្រប់គ្រង OmniRoute ពីចម្ងាយដោយ token ដែលកំណត់វិសាលភាព (`connect` / `contexts` / `tokens`) រួមជាមួយជំនួយការ OAuth `antigravity` សម្រាប់ការដំឡើងលើ VPS។ → [របៀប Remote](docs/guides/REMOTE-MODE.md) - **🧭 ការកំណត់ផ្លូវស្វ័យប្រវត្តិឆ្លាតវៃជាងមុន** — combo `auto/:`, **Fusion** (បន្ទះម៉ូដែល + អ្នកវិនិច្ឆ័យ), ការកំណត់ផ្លូវដឹងពីភារកិច្ច និងការបដិសេធម៉ូដែល / mode / ថវិកា 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 ដែលមិនអើពើនឹងអថេរបរិស្ថាន proxy ជាមួយ CA តាម SNI និងកម្មវិធីដំឡើង trust-store។ → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 ទិន្នន័យថ្លៃដើមគ្រប់ទីកន្លែង** — បឋមកថា `X-OmniRoute-*` សម្រាប់ថ្លៃដើម/ការប្រើប្រាស់នៅគ្រប់ endpoint, បឋមកថាបង្ហាញការសន្សំពី cache-HIT និងកូតាចំណាយ USD តាម key។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md) - **🧠 អង្គចងចាំដែលអ្នកអាចគ្រប់គ្រង** — បិទតាមលំនាំដើម បើកដោយជ្រើសរើសនូវការធ្វើ vector quantization int8 + typed decay និង `x-omniroute-no-memory` តាមសំណើ។ → [អង្គចងចាំ](docs/frameworks/MEMORY.md) - **🛡️ សុវត្ថិភាព** — ឧបករណ៍ការពារការបញ្ចូល prompt នៅគ្រប់ផ្លូវ LLM (ឈុតសាកល្បង red-team), ឧបករណ៍ការពារបិទបាំងព័ត៌មានសម្ងាត់ដែលបើកដោយជ្រើសរើស (លាក់ API key/secret ដែលលេចធ្លាយទាំងទិសចូល និងទិសចេញ), ការស្វែងរកតាមបណ្តាញ DuckDuckGo ឥតគិតថ្លៃសម្រាប់ជម្រើសចុងក្រោយ និងច្រកចូល OIDC ជាជម្រើសសម្រាប់ dashboard (ការចូលដោយពាក្យសម្ងាត់នៅតែមានជានិច្ច)។ → [Guardrails](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 និង provider សំឡេងដូចជា ElevenLabs។ → [ឯកសារយោង API](docs/reference/API_REFERENCE.md) - **🌍 ការដាក់ឱ្យប្រើប្រាស់ និងប្រតិបត្តិការ** — reverse-proxy `basePath`, ការរកឃើញភាសាកម្មវិធីរុករកដោយស្វ័យប្រវត្តិ, ការតាមដានឧបករណ៍តាម key, MITM trust ដោយគ្មាន root និងការធ្វើមូលដ្ឋានីយកម្ម zh-TW។ → [បរិស្ថាន](docs/reference/ENVIRONMENT.md) - **🤝 provider និង agent បន្ថែមទៀត** — cloud agent (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) ជាមួយ browser + OAuth login, កាត Ollama ថ្នាក់ដំបូង, Claude Opus 5 & Sonnet 5, ភាពជាដៃគូផ្លូវការជាមួយ Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… និង catalog provider ដែលបានធ្វើបច្ចុប្បន្នភាពមាន **388 provider**។ → [Provider](docs/reference/PROVIDER_REFERENCE.md) - **📡 តម្លាភាពនៃការកំណត់ផ្លូវ** — រាល់ការឆ្លើយតបមានបឋមកថា `X-OmniRoute-Decision` ដែលបញ្ជាក់ឈ្មោះយុទ្ធសាស្ត្រ/provider/latency ដែលបានបម្រើវា, យុទ្ធសាស្ត្រ combo `cache-optimized` ថ្មី + កត្តា `cacheAffinity` របស់ Auto-Combo បញ្ជូនសំណើដដែលៗត្រឡប់ទៅ connection ដែលកាន់ cached prefix ហើយ endpoint `/v1/auto-combo/{channel}/candidates` ដែលអាចអានបានតែប៉ុណ្ណោះ បង្ហាញ candidate pool បច្ចុប្បន្នរបស់ channel `auto/*`។ → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ ប្រតិបត្តិការមូលដ្ឋាន និងហេដ្ឋារចនាសម្ព័ន្ធដែលមានប្រសិទ្ធភាព** — Redis មូលដ្ឋានដោយចុចតែម្តង, ឧបករណ៍ដាក់ឱ្យដំណើរការ relay សម្រាប់ Cloudflare Workers / Deno Deploy, និង Bifrost & Mux ជាសេវាកម្មបង្កប់ដែលមានការត្រួតពិនិត្យ។ → [សេវាកម្មបង្កប់](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 មានភ្ជាប់មកជាមួយផងដែរ** — ក្របខណ្ឌកម្មវិធីជំនួយ + ទីផ្សារ, ក្របខណ្ឌជំនាញ Omni/Agent/GitHub, ការរួមបញ្ចូល Obsidian vault (ឧបករណ៍ MCP ចំនួន 22), Batch & Files APIs ដែលអាចប្រើជាមួយ OpenAI, ឃ្លាំងសម្ងាត់ការឆ្លើយតបតាមន័យ, ប្រព័ន្ធលេងហ្គេមជាមួយតារាងចំណាត់ថ្នាក់, ការស្វែងរកភ្នាក់ងារ ACP (ភ្នាក់ងារដែលមានស្រាប់ចំនួន 15), ការនាំចេញកំណត់ហេតុតាមកាលវិភាគទៅ BigQuery, ការបញ្ជូនបន្តម៉ូដែលច្រើនស្របគ្នាតាមរយៈ `auto/chaos`, ស្ពាន bot Telegram, កម្មវិធីគ្រប់គ្រងកំណែក្នុងកម្មវិធី និងចំណាត់ថ្នាក់អ្នកផ្តល់សេវាឥតគិតថ្លៃ LMArena-ELO។ → [ឯកសារ](docs/README.md)
## 🤖 CLI និង Agent កូដ ដែលអាចប្រើបាន > កំណត់តែមួយ — `http://localhost:20128/v1` — ហើយ **IDE ឬ CLI AI** ទាំងអស់ដំណើរការលើម៉ូដែលឥតគិតថ្លៃ និងថ្លៃទាប។
Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
Zoo Code
Zoo Code
Continue
Continue
                           
Aider
Aider
                           
ForgeCode
ForgeCode
                           
jcode
jcode
                           
DeepSeek TUI
DeepSeek TUI
                           
CodeWhale
CodeWhale
                           
OpenCode
OpenCode
                           
Factory Droid
Factory Droid
                           
GitHub Copilot CLI
Copilot CLI
                           
Cursor CLI
Cursor CLI
                           
Smelt
Smelt
                           
Pi (pi-coding-agent)
Pi
                           
Grok Build (xAI)
Grok Build
                           
Hermes Agent (Nous Research)
Hermes Agent
                           
OpenClaw
OpenClaw
                           
Goose
Goose
                           
Open Interpreter
Open Interpreter
                           
Warp AI
Warp AI
                           
deyin.ai
deyin.ai
                           
+ ក៏អាចប្រើជាមួយ · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · ឧបករណ៍ណាមួយដែលស្របជាមួយ OpenAI
📖 ការរៀបចំមួយៗសម្រាប់ឧបករណ៍ទាំង ៣៩ (២៨ CLI Code's + ១១ CLI Agents) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode plugin → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**បើកដំណើរការឧបករណ៍ CLI ដែលគាំទ្រណាមួយតាមរយៈ OmniRoute ជាមួយពាក្យបញ្ជាតែមួយ** — មិនចាំបាច់សរសេរឯកសារ config, សម្ងាត់ត្រូវបានបញ្ចូលក្នុងដំណើរការនីមួយៗ, 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" # ឬជ្រើសរើស provider+model ដោយដៃ ហើយសរសេរ config ផ្ទាល់របស់ឧបករណ៍៖ omniroute configure codex # ក៏ដូចជា: claude opencode qwen aider goose gemini cline continue kilo 5dive ``` ពាក្យបញ្ជាទាំងអស់គោរពតាម context remote សកម្ម (`omniroute connect `), `--dry-run` បង្ហាញមើលជាមុននូវ env/args ពិតប្រាកដដោយមិនដំណើរការ, ហើយ `--api-key-env NAME` រក្សាសម្ងាត់ឲ្យឆ្ងាយពីប្រវត្តិសShell របស់អ្នក។ → [CLI Integrations](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 អ្នកផ្តល់សេវា AI ចំនួន 388 — 153 ត្រូវបានសម្គាល់ថាឥតគិតថ្លៃក្នុងកាតាឡុក
> **អ្នកផ្តល់សេវាដែលបានចុះបញ្ជីចំនួន 388** នៅទូទាំងបណ្តុំ canonical chat, media, search, local, cloud-agent និង system ដែលក្នុងនោះមាន **153 មានទិន្នន័យមេតាសម្រាប់ការស្វែងរក `hasFree: true`**។ បញ្ជីឈ្មោះម៉ូដែលជជែកគ្របដណ្តប់ **អ្នកផ្តល់សេវា 239 / គូអ្នកផ្តល់សេវា-ម៉ូដែលខុសគ្នា 3,059 / លេខសម្គាល់ម៉ូដែលដើម 1,475**; កាតាឡុកថវិកាឥតគិតថ្លៃដាច់ដោយឡែកមាន **ជួរតាមម៉ូដែល 471**, **pool ដែលកើតឡើងជាប្រចាំ 34** និង **អ្នកផ្តល់សេវាឥតគិតថ្លៃជារៀងរហូត ដែលកើតឡើងជាប្រចាំ/មិនត្រូវការសោ 52**។ ទាំងនេះជាភាគបែងខុសគ្នាតាមការរចនា; និយមន័យ និងការគណនាដែលបានដកស្ទួនតាម pool មាននៅក្នុង [ឯកសារយោងអ្នកផ្តល់សេវា](docs/reference/PROVIDER_REFERENCE.md) និង [កម្រិតឥតគិតថ្លៃ](docs/reference/FREE_TIERS.md)។
### 🏢 មន្ទីរពិសោធន៍ធំៗទាំងអស់ — តាមរយៈ endpoint តែមួយ
OpenAI
OpenAI
                           
Anthropic
Anthropic
                           
Gemini
Gemini
                           
xAI Grok
xAI Grok
                           
DeepSeek
DeepSeek
                           
Mistral
Mistral
                           
Qwen
Qwen
                           
Meta Llama
Meta Llama
                           
Groq
Groq
                           
NVIDIA
NVIDIA
                           
MiniMax
MiniMax
                           
Cohere
Cohere
                           
Perplexity
Perplexity
                           
Hugging Face
HuggingFace
                           
Together
Together
                           
Fireworks
Fireworks
                           
Cloudflare
Cloudflare
                           
Baidu
Baidu
                           
…និងអ្នកផ្តល់សេវា 350+ ទៀត — រូបតំណាងនីមួយៗត្រូវបានភ្ជាប់ផ្ទាល់ទៅកាតាឡុកអ្នកផ្តល់សេវារបស់ផ្ទាំងគ្រប់គ្រង។ 📖 [ឯកសារយោងអ្នកផ្តល់សេវា](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 ឥតគិតថ្លៃជារៀងរហូត — $0 មិនត្រូវការកាតទេ។
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
គ្មានកំណត់ចំនួន token
Kilo Code
Kilo Code
រ៉ោតទ័រស្វ័យប្រវត្តិ, Tencent Hy3
ឥតគិតថ្លៃជារៀងរហូត
Requesty
Requesty
GPT-OSS 120B, Nemotron
ឥតគិតថ្លៃជារៀងរហូត
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
កម្រិតឥតគិតថ្លៃ
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
ឥតគិតថ្លៃជារៀងរហូត
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
ឥតគិតថ្លៃជារៀងរហូត
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
ឥតគិតថ្លៃគ្មានដែនកំណត់
Pollinations
Pollinations
GPT, Llama, Claude
មិនត្រូវការសោទេ
Cloudflare AI
Cloudflare AI
ម៉ូដែលជាង 50
10K neurons/ថ្ងៃ
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
ប្រហែល 40 RPM ឥតគិតថ្លៃ
Cerebras
Cerebras
GLM 4.7, GPT-OSS
ឥណទាន $5 ប្រើបានតែម្តង; ត្រូវការកាត
OpenRouter
OpenRouter
ម៉ូដែល :free
+$10 → RPM ខ្ពស់ជាងមុន
📖 កាតាឡុកពេញលេញដែលអាចអានដោយម៉ាស៊ីន → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ កន្លែងដែល OmniRoute រត់ — នៅគ្រប់ទីកន្លែង
> កម្មវិធីដូចគ្នា ម៉ាស៊ីនរបស់អ្នក ច្បាប់របស់អ្នក។ ពី npm សកលដំឡើងទៅ** ទូរស័ព្ទរបស់អ្នក។** តាមរយៈ Termux ។ លើម៉ាស៊ីនមេ — macOS
វេទិកា ដំឡើង
📦 npm (សកល) npm ដំឡើង -g omniroute ពាក្យបញ្ជាមួយ OS
⚡ Bun (សកល) bun បន្ថែម -g omniroute tarball បញ្ជីឈ្មោះដូចគ្នា ដំឡើងលឿនជាងមុន
🐳 Docker docker រត់ … diegosouzapw/omniroute ពហុarch AMD64 + ARM64
🖥️ ផ្ទៃតុ (Electron) npm ដំណើរការអេឡិចត្រុង៖ បង្កើត ផ្ទាំងប្រព័ន្ធ + បង្អួចដើម — Windows / macOS / Linux
🎩 Menu-bar (OmniRouteTray) brew ដំឡើង --cask zoispag/tap/omniroute-tray គ្រប់គ្រង & ធ្វើបច្ចុប្បន្នភាព
💪 ARM ដើមកំណើត arm64 Raspberry Pi, ម៉ាស៊ីនមេ ARM, Apple Silicon
📱 Android (Termux) pkg ដំឡើង nodejs && npx -y omniroute ដំណើរការ នៅលើទូរសព្ទរបស់អ្នក , 24/7, no root
📲 PWA"បន្ថែមទៅអេក្រង់ដើម" ពេញអេក្រង់ ក្រៅបណ្តាញ ដំឡើងពីកម្មវិធីរុករក
🧩 OpenCode កម្មវិធីជំនួយ @omniroute/opencode-provider ការរួមបញ្ចូល zqn OpenCode
🤖 VS កូដ Copilot ជជែក ដំឡើង OmniCopilot ផ្នែកបន្ថែម រាល់គំរូ OmniRoute នៅក្នុងកម្មវិធីជ្រើសរើស Copilot Chat ដើម — មានស្ថេរភាព & អ្នកខាងក្នុង
🛠️ ពីប្រភព npm ដំឡើង && npm ដំណើរការ dev Hack នៅលើវា រួមចំណែក
📖 [Docker Guide](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 នៅខាងក្នុង VS Code ដើមរបស់ Copilot Chat
> គ្មានរបារចំហៀងថ្មី គ្មានការជជែកថ្មី UI — គ្រប់ម៉ូដែល OmniRoute បម្រើបង្ហាញឡើងនៅខាងស្ដាំ**Copilot កម្មវិធីជ្រើសរើសម៉ូដែលជជែកដែលអ្នកបានប្រើរួចហើយ** . ចាប់តាំងពីលេខកូដ VS 1.122 ម៉ូដែលអ្នកផ្តល់សេវាដំណើរការដោយគ្មានការចុះឈ្មោះ GitHub ឬការជាវ Copilot — របៀបភ្នាក់ងារ ការហៅឧបករណ៍ និងការមើលឃើញដោយឥតគិតថ្លៃ។ ដំឡើង** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** ផ្នែកបន្ថែម ចង្អុលវានៅម៉ាស៊ីន OmniRoute របស់អ្នក (លំនាំដើមទៅ `localhost:20128`) បន្ទាប់មកបើក Copilot Chat → model picker →** គ្រប់គ្រងម៉ូដែល...** →**OmniRoute** . < td តម្រឹម ="ឆ្វេង">VS កូដ — មានស្ថេរភាព & អ្នកខាងក្នុង < td ="ឆ្វេង">Cursor, Windsurf, VSCodium Theia code-server, Gitpod, Antigravity, Kiro…
Store Link ធ្វើការជាមួយ
🧩 VS Code Marketplace ដំឡើង →
🔓 បើក VSX ចុះឈ្មោះ ដំឡើង →
ពីខាងក្នុងកម្មវិធីនិពន្ធ៖ បើកឯកសារ** ផ្នែកបន្ថែម** មើល, ស្វែងរក** "OmniRoute"** , ចុច** ដំឡើង** - ដំណើរការដូចគ្នានៅលើហាងទាំងពីរ។ ប្រភព បញ្ហា និងសៀវភៅរត់ការបោះពុម្ពផ្សាយផ្ទាល់នៅ [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot) ។ 📖 [VS កូដ Copilot មគ្គុទ្ទេសក៍ជជែក](docs/guides/VSCODE-COPILOT.md) — ការរៀបចំ, អ្វីដែលអ្នកជ្រើសរើសបង្ហាញ, ផ្ទាំងគ្រប់គ្រង-in-a-tab, ការដោះស្រាយបញ្ហា
### 🎩 ថ្មី៖ 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 ដែលអ្នកបានរត់រួចហើយ ដោយគ្រាន់តែពាក់មួក។ 🎩
របៀប
🟢 គ្រប់គ្រងម៉ាស៊ីនមេ Spawns omniroute បម្រើ ទទួលយកឧទាហរណ៍ដែលកំពុងដំណើរការរួចហើយជំនួសឱ្យការស្ទួនវា
📊 ការប្រើប្រាស់ផ្ទាល់ភ្លាមៗ របារកូតាអ្នកផ្តល់សេវា ដែនកំណត់ Claude session/weekly ជាមួយនឹងការកំណត់ការរាប់ថយក្រោយឡើងវិញ ការបំបែកការចំណាយរយៈពេល 30 ថ្ងៃ
🔄 ការធ្វើបច្ចុប្បន្នភាពដោយស្វ័យប្រវត្តិនៅកន្លែង ការដំឡើងជាដំណាក់កាល ការផ្លាស់ប្តូរអាតូមិក ការវិលត្រឡប់មកវិញនៅលើការបរាជ័យ — តែងតែនៅលើការចេញផ្សាយថ្មីបំផុត
🚀 ចាប់ផ្តើមនៅលើការចូល បើកដំណើរការស្រេចចិត្តនៅពេលចូល។ តែថាសប៉ុណ្ណោះ គ្មានរូបតំណាងចត
🩺 វេជ្ជបណ្ឌិត & កំណត់ហេតុ ការវិនិច្ឆ័យដោយចុចតែម្តង និងការចូលប្រើកំណត់ហេតុម៉ាស៊ីនមេ
```sh brew install --cask zoispag/tap/omniroute-tray ``` ចូលចិត្តការទាញយក? ចាប់យក .dmg ចុងក្រោយបំផុតពី ចេញផ្សាយ ។ ប្រភព បញ្ហា និងបង្កើត ឯកសាររស់នៅ zoispag/omniroute-tray។
💛 គម្រោងសហគមន៍ដោយ @zoispag — មិនមែនជាការចេញផ្សាយ OmniRoute ផ្លូវការទេ។

## 🔒 ឯកជនភាព និងផ្តោតលើការដំណើរការក្នុងម៉ាស៊ីនជាមុន
ឯកជន និងផ្តោតលើការដំណើរការក្នុងម៉ាស៊ីនជាមុន — gateway និង control plane របស់ OmniRoute ដំណើរការលើម៉ាស៊ីនរបស់អ្នក។ Prompts ត្រូវបានផ្ញើទៅកាន់អ្នកផ្តល់សេវាខាងលើដែលបានជ្រើសរើសសម្រាប់សំណើនីមួយៗ; OmniRoute មិនបន្ថែមដំណាក់កាលដំណើរការ prompt ដែលបានបង្ហោះលើម៉ាស៊ីនមេឡើយ ហើយ telemetry ត្រូវបានបិទតាមលំនាំដើម។ Credentials ត្រូវបានអ៊ិនគ្រីបនៅពេលរក្សាទុកដោយប្រើ AES-256-GCM; ការគ្រប់គ្រងរួមមានការកំណត់វិសាលភាព API-key, ការច្រោះ IP, ដែនកំណត់អត្រា, ការការពារ prompt-injection, ការសម្អាត upstream-header, ការលុបបាំង PII ដែលត្រូវជ្រើសបើក, កំហុសដែលបានសម្អាត និងកំណត់ត្រាសវនកម្ម SQLite ក្នុងម៉ាស៊ីន។ OmniRoute មានអាជ្ញាបណ្ណ MIT និងអាចបង្ហោះដោយខ្លួនឯងបាន។ 📖 [ការផ្តល់សិទ្ធិ](docs/architecture/AUTHZ_GUIDE.md) · [របាំងការពារ](docs/security/GUARDRAILS.md) · [ការអនុលោមតាមបទប្បញ្ញត្តិ](docs/security/COMPLIANCE.md)
## 🔌 CLI ពេញលេញ + A2A & MCP
> លើសពីម៉ាស៊ីនមេ OmniRoute គឺជា **ផ្ទាំងបញ្ជាបន្ទាត់ពាក្យបញ្ជាពេញលេញ** ដែលមាន **ពាក្យបញ្ជាជាង 80** ព្រមទាំងពិធីការភ្នាក់ងារបើកចំហ ដើម្បីឱ្យភ្នាក់ងារ AI អាចបញ្ជាវា **ដោយខ្លួនឯង**។ ### ⌨️ CLI ពិតប្រាកដមួយ (មិនមែនមានតែ `start` ទេ) ```bash omniroute # ដំណើរការ gateway + dashboard (ច្រក 20128) omniroute chat # កម្មវិធីជជែក TUI អន្តរកម្ម (slash: /model /combo /skill /memory) omniroute setup # អ្នកជំនួយការណែនាំសម្រាប់ការដំណើរការលើកដំបូង omniroute doctor # វិនិច្ឆ័យ providers, ច្រក និង native deps ``` ### 🛰️ របៀបពីចម្ងាយ — ដំណើរការ CLI នៅទីនេះ និង OmniRoute នៅលើ VPS មាន OmniRoute នៅលើម៉ាស៊ីនមេមែនទេ? បញ្ជាវាពីកុំព្យូទ័រយួរដៃរបស់អ្នកដោយប្រើ **CLI ដូចគ្នា**។ ចូលប្រើម្តង ដោយប្រើ access token ដែលមានវិសាលភាពកំណត់ បន្ទាប់មកពាក្យបញ្ជាទាំងអស់នឹងតម្រង់ទៅកាន់ម៉ាស៊ីនមេពីចម្ងាយ។ ```bash omniroute connect 192.168.0.15 # ពាក្យសម្ងាត់ → token ដែលមានវិសាលភាពកំណត់ និងរក្សាទុកជា context omniroute models # ← ដំណើរការលើម៉ាស៊ីនមេពីចម្ងាយ omniroute configure codex # ← ជ្រើសរើសម៉ូដែលពីចម្ងាយ និងសរសេរ profile Codex ក្នុងម៉ាស៊ីន omniroute tokens create --name ci --scope read # បង្កើត token ដែលមានវិសាលភាពតូចជាង សម្រាប់ម៉ាស៊ីនផ្សេង omniroute contexts use default # ← ប្តូរត្រឡប់ទៅម៉ាស៊ីនមេក្នុងម៉ាស៊ីន ``` Token មានវិសាលភាព `read` / `write` / `admin`; route ដែលបង្កើត process នៅតែអនុញ្ញាតតែ loopback ប៉ុណ្ណោះ។ 📖 [របៀបពីចម្ងាយ](docs/guides/REMOTE-MODE.md)
ការបង្ហាញស្ថានីយមានចលនាដែលបង្ហាញ OmniRoute CLI — omniroute providers list, omniroute combo list និង omniroute health — ដោយប្តូរវិលជុំលើផ្ទៃពាក្យបញ្ជាកម្រិតកំពូលចំនួន 89៖ providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 ភ្ជាប់ភ្នាក់ងារមួយ — ហើយវាអាចគ្រប់គ្រង OmniRoute ដោយខ្លួនឯង បើកឱ្យចូលប្រើ OmniRoute តាមរយៈ **MCP**, **A2A**, **REST API**, **webhooks** ឬ **CLI ពីចម្ងាយ** — ភ្នាក់ងារដែលមានសមត្ថភាពណាមួយ (ឬកូដផ្ទាល់ខ្លួនរបស់អ្នក) នឹងទទួលបានសិទ្ធិគ្រប់គ្រង gateway ទាំងមូល៖ routing, providers, combos, cache, compression និង memory — ដោយស្វ័យប្រវត្តិ។ Endpoint HTTP ខាងក្រោមត្រូវបានផ្តល់នៅក្រោម `http://localhost:20128`។
ចំណុចប្រទាក់Endpoint / ពាក្យបញ្ជាប្រើវាសម្រាប់
🧰 MCP (stdio)omniroute --mcpភ្ជាប់ទៅ Claude Desktop, Cursor ឬកម្មវិធី MCP ណាមួយ
🌊 MCP (HTTP)/api/mcp/streamMCP ពីចម្ងាយ — ឧបករណ៍ 110, 33 វិសាលភាព (ការអនុវត្តតាមគឺជាជម្រើស), កំណត់ត្រាសវនកម្មពេញលេញ
📡 MCP (SSE)/api/mcp/sseមធ្យោបាយបញ្ជូន MCP ជាស្ទ្រីម
🤝 A2A/.well-known/agent.jsonភ្នាក់ងារទៅភ្នាក់ងារ, JSON-RPC 2.0 + SSE, ជំនាញ 6
🌐 REST API/v1/*ឆបគ្នាជាមួយ OpenAI — ការជជែក, embeddings, រូបភាព, សំឡេង និង OCR
🔔 Webhooks/api/webhooksបញ្ជូនព្រឹត្តិការណ៍សំណើ / កូតាទៅ 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](docs/frameworks/MCP-SERVER.md) · [ម៉ាស៊ីនមេ A2A](docs/frameworks/A2A-SERVER.md) · [ពិធីការភ្នាក់ងារ](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ សន្សំ Tokens បាន 15–95% — ដោយស្វ័យប្រវត្តិ
### 📖 របៀបដំណើរការ — pipeline, architecture និងគណិតវិទ្យានៃការសន្សំ Pipeline បង្រួមរបស់ OmniRoute៖ សំណើ client ទំហំ 10,000-token ត្រូវឆ្លងកាត់ engines ដែលអាចផ្សំបានចំនួន 12 — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra និង OmniGlyph — ហើយអាចទៅដល់ provider ប្រហែល 1,080 tokens ក្នុងឧទាហរណ៍ stacked ដែលបានចងក្រងជាឯកសារ។ មាតិកាដែលមានរចនាសម្ព័ន្ធត្រូវបានការពារដោយ preservation guards និង fidelity gates តាមជំហាននីមួយៗ។ របៀប explicit lossy ឬ experimental អាចបម្លែងមាតិកាដែលមានលក្ខណៈសមស្របបាន។ ការរួមបញ្ចូល stacked តាមលំនាំដើមដំណើរការ `RTK → Caveman`។ នៅពេលទាំងពីរដំណើរការលើ payload របស់ tool/context ដូចគ្នា ការសន្សំនឹងត្រូវបានបូកផ្សំគ្នា៖ ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` Code blocks, URLs, JSON និងទិន្នន័យដែលមានរចនាសម្ព័ន្ធ ត្រូវបាន **ការពារជានិច្ច** ដោយ preservation engine។ > **ហេតុអ្វីត្រូវប្រើ tokens ច្រើន នៅពេល tokens តិចក៏អាចបំពេញការងារបាន?** រាល់សំណើឆ្លងកាត់ compression pipeline របស់ OmniRoute **ដោយថ្លៃថ្នូរ** — មិនចាំបាច់កែប្រែ client ទេ។ ឥឡូវនេះវាជា **ជង់ engines ដែលអាចផ្សំបានចំនួន 12** ដែលដំណើរការតាមលំដាប់ និងអាច mix & match តាម 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)។ ### 🧱 ជង់ engines ចំនួន 12 Engines ដំណើរការតាមលំដាប់ pipeline។ Engine នីមួយៗអាចបើក/បិទ និងកំណត់រចនាសម្ព័ន្ធដោយឯករាជ្យតាម combo៖
#Engineមុខងារ
1Session-Dedupលុបមាតិកាដែលកើតឡើងដដែលៗឆ្លងកាត់ turns (content-addressed, cross-turn)
2CCRរក្សាទុក blocks ធំៗនៅពីក្រោយ retrieve markers ហើយទាញយកតាមតម្រូវការ
3Liteកាត់បន្ថយ whitespace និង image-URL (baseline ដែលមាន latency ទាប)
4RTKត្រងលទ្ធផល tool ឆ្លាតវៃ, dedup និង truncation (យល់ដឹងពី command)
5Responses Tool OutputJSON ដែលផ្តល់អាទិភាពដល់ lossless + ការបង្រួម diagnostic ដែលមានដែនកំណត់ សម្រាប់លទ្ធផល shell/patch/search/build (Responses API)
6Headroomការបង្រួម tabular របស់ JSON arrays ដោយមិនបាត់បង់ទិន្នន័យ (~30%) តាមរយៈ codec GCF ដែលបាន vendored
7Relevanceវាយតម្លៃប្រយោគតាមវិធី extractive ធៀបនឹងសំណួរចុងក្រោយរបស់ user
8Cavemanការបង្រួម prose ផ្អែកលើ rules (~65–75% លើ output)
9Aggressiveការសង្ខេប + ការធ្វើឱ្យ turns ចាស់ៗកាន់តែសង្ខេបជាបន្តបន្ទាប់
10LLMLingua-2ការកាត់បន្ថយ semantic ដោយ ML តាមរយៈ MobileBERT ONNX — មានសុវត្ថិភាពសម្រាប់ code, async
11Ultraការកាត់បន្ថយ token តាម heuristics ជាមួយជម្រើស small-model (SLM) tier
12OmniGlyphការអ៊ិនកូដ context-as-image សម្រាប់ការសាកល្បងលើ Claude Fable 5 ដែលបានវាស់វែងនៅ direct Anthropic wire; GPT 5.6 transformers នៅតែ fail-closed រង់ចាំ provider receipts។ មាន compression profiles ចំនួន 4 (aggressive ជាលំនាំដើម, balanced, coding-safe, passthrough) (ខ្លាំងបំផុត; ត្រូវ opt-in)
Code blocks, URLs និងទិន្នន័យដែលមានរចនាសម្ព័ន្ធ ត្រូវបាន **រក្សាទុកជានិច្ច** ដោយ byte-perfect។ **Presets ចុចតែម្តង** រួមបញ្ចូល engines ទាំងនេះ៖
Modeការសន្សំសាកសមសម្រាប់
🪶 Lite~15%លំនាំដើមដែលមានសុវត្ថិភាព និងបើកជានិច្ច
🪨 Standard (Caveman)~30%ការសរសេរ code ប្រចាំថ្ងៃ
⚡ Aggressive~50%សម័យប្រើប្រាស់ដែលមាន tools ច្រើន និងអូសបន្លាយ
🔥 Ultra~75%ការសន្សំអតិបរមា
🧰 RTK60–90%លទ្ធផល Shell/test/build/git
🔗 Stacked (RTK → Caveman)78–95%Prompts ចម្រុះ + tool logs
**ឧទាហរណ៍ជាក់ស្តែង — Standard mode៖** > **មុន (69 tokens):** _"មូលហេតុដែល React component របស់អ្នកកំពុង re-render ប្រហែលជាមកពីអ្នកកំពុងបង្កើត object reference ថ្មីនៅរាល់ render cycle។ នៅពេលអ្នកបញ្ជូន inline object ជា prop, shallow comparison របស់ React មើលឃើញថាវាជា object ផ្សេងរាល់ពេល ដែលបណ្តាលឱ្យមាន re-render។ ខ្ញុំសូមណែនាំឱ្យប្រើ useMemo ដើម្បី memoize object។"_ > > **បន្ទាប់ (19 tokens):** _"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."_ > > **ចម្លើយដដែល។ តិចជាងមុន 72% tokens។ គ្មានការបាត់បង់ភាពត្រឹមត្រូវឡើយ។** ✅ **ឧទាហរណ៍ PT-BR — mode [Troglodita](https://github.com/leninejunior/troglodita)៖** > **មុន (42 tokens):** _"បញ្ហាគឺ component កំពុង re-render ពីព្រោះ object reference ថ្មីមួយត្រូវបានបង្កើតនៅគ្រប់វដ្តនៃការបង្ហាញ។ ខ្ញុំសូមណែនាំឱ្យប្រើ useMemo។"_ > > **បន្ទាប់ (12 tokens):** _"Re-render៖ ref ថ្មីគ្រប់វដ្ត (inline object ត្រូវបានបង្កើតឡើងវិញ)។ ប្រើ `useMemo`។"_ > > **ចម្លើយដូចគ្នា។ កាត់បន្ថយប្រហែល 70% នៃ tokens។ ភាពត្រឹមត្រូវផ្នែកបច្ចេកទេសនៅដដែល។** ✅
### 🎚️ លើសពី engines — រចនាប័ទ្មលទ្ធផល ប្រដាប់លៃតម្រូវសម្របខ្លួន និងការគ្រប់គ្រងតាមសំណើ 12 engines ខាងលើកាត់បន្ថយអ្វីដែល **ចូល**។ ស្រទាប់បន្ថែម 3 ទៀតកំណត់ **របៀប**, **ពេលណា** និងអ្វីដែលត្រូវ **បញ្ចេញ**៖ - **🪄 រចនាប័ទ្មលទ្ធផល** _(ការដឹកនាំតាមអ័ក្សលទ្ធផល)_ — បញ្ចូលសេចក្តីណែនាំកំណត់ទម្រង់ចម្លើយដែលមានភាពច្បាស់លាស់ និងសមស្របសម្រាប់ cache; អាចផ្សំចូលគ្នា ហើយនីមួយៗមានកម្រិត `lite` / `full` / `ultra`។ ការបន្ថែមរចនាប័ទ្មមួយ គឺជាការចុះបញ្ជីមួយបន្ទាត់៖ - **អត្ថបទខ្លី** — លុបពាក្យបំពេញ / articles / ភាសាបង្ហាញភាពមិនប្រាកដប្រជា; រក្សាខ្លឹមសារបច្ចេកទេសឱ្យបានត្រឹមត្រូវពេញលេញ។ - **កូដតិចជាងមុន** — YAGNI របស់ "អ្នកអភិវឌ្ឍន៍ជាន់ខ្ពស់ដែលខ្ជិល": ការផ្លាស់ប្តូរតូចបំផុតដែលដំណើរការ ដោយគ្មាន scaffolding ដែលមិនបានស្នើ។ - **សក់កន្ទុយសេះ (អ្នកអភិវឌ្ឍន៍ជាន់ខ្ពស់ដែលខ្ជិល)** — ឡើងតាមជំហាន YAGNI ដោះស្រាយមូលហេតុដើម និងប្រើ diff តូចបំផុតដែលដំណើរការ។ - **ខ្ញុំមាន ADHD (ផ្តោតលើសកម្មភាពជាមុន)** — សកម្មភាពបន្ទាប់ត្រូវបានដាក់មុន ជំហានមានលេខរៀង មានជំហានបន្ទាប់ជាក់លាក់មួយ និងគ្មានសេចក្តីផ្តើមវែង។ - **CJK ខ្លី (文言)** — រចនាប័ទ្មខ្លីជ្រុលបែបចិនបុរាណ (កំណត់តាម locale សម្រាប់ `zh` ប៉ុណ្ណោះ)។ - **🎯 ថវិកា context ដែលសម្របខ្លួន** _(ប្រដាប់លៃតម្រូវ)_ — ជំនួសឱ្យកម្រិត token បើក/បិទតែមួយ វាបង្កើន engines ដែលមានតម្លៃថោក និងបាត់បង់ព័ត៌មានតិចបំផុត ត្រឹមកម្រិតដែលចាំបាច់ ដើម្បី **ឱ្យសមនឹងបង្អួច context របស់ model**។ គោលការណ៍៖ `reserve-output` (លំនាំដើម សម្របតាម model) · `percentage` · `absolute`។ របៀប៖ `floor` (ធានាថាសម) · `replace-autotrigger` (ជម្រើសច្បាស់លាស់របស់អ្នកមានអាទិភាព) · `off` (កម្រិតចាស់)។ - **🎛️ កន្លែងដែលការបង្ហាប់ត្រូវបានសម្រេច** _(អាទិភាព ខ្ពស់ → ទាប)_ — header `x-omniroute-compression` តាមសំណើ › override របស់ routing-combo › profile ដែលមានឈ្មោះសកម្ម › adaptive / auto-trigger › លំនាំដើមរបស់ panel › off។ ផែនការដែលបានអនុវត្តនឹងត្រូវបង្ហាញត្រឡប់មកវិញក្នុង response header `X-OmniRoute-Compression: ; source=`។ កំណត់ auto-trigger តាមកម្រិត token បើកប្រដាប់លៃតម្រូវសម្របខ្លួន កំណត់ profile ដែលមានឈ្មោះ បញ្ជាក់ជម្រើសតែមួយសម្រាប់សំណើនីមួយៗ ឬកំណត់ pipeline តាម routing combo — ជ្រើសរើសអ្វីដែលសមនឹង workload។ **eval harness** ក្រៅបណ្តាញដែលត្រូវបើកប្រើដោយស្ម័គ្រចិត្ត (`npm run eval:compression`) នឹងវាយតម្លៃភាពស្មោះត្រង់ប្រៀបធៀបនឹងការសន្សំ លើ corpus ដែលបានកំណត់ជាមុន មុនពេលអ្នកដាក់ការផ្លាស់ប្តូរឱ្យប្រើប្រាស់។ 📖 [`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 របស់ package លុះត្រាតែបានអនុញ្ញាត។ `postinstall` របស់ OmniRoute (`node scripts/build/postinstall.mjs`) ត្រូវការសម្រាប់រៀបចំឯកសារ native runtime របស់វា។ អនុញ្ញាត packages ដែលមានឈ្មោះក្នុងការព្រមានរបស់ npm នៅពេលដំឡើងជាសកល។ សម្រាប់សំណុំ package ដែលបានរាយការណ៍ដោយ OmniRoute 3.8.54៖ > > ```bash > npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute > ``` > > ដើម្បីប្រើបញ្ជីអនុញ្ញាតនេះឡើងវិញសម្រាប់ការដំឡើងជាសកលនាពេលអនាគត កំណត់វាម្តង បន្ទាប់មកដំឡើងជាធម្មតា៖ > > ```bash > npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user > npm install -g omniroute > ``` > > បញ្ជី dependency អាចផ្លាស់ប្តូររវាង release នីមួយៗ; ប្រសិនបើ npm រាយការណ៍បញ្ជីផ្សេង សូមប្រើឈ្មោះ package ពីការព្រមាននោះ។ ការអនុញ្ញាត package មួយ អនុញ្ញាតឱ្យស្គ្រីបដំឡើងរបស់វាដំណើរការ។ > **កំពុងប្រើ Gemini Web ឬអ្នកផ្តល់សេវា web-cookie ផ្សេងទៀតមែនទេ?** npm package រួមមាន > Playwright ប៉ុន្តែមិនរួមមាន binary របស់ Chromium ទេ។ សូមមើល > [ការរៀបចំ Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium) > មុនពេលធ្វើសំណើទៅកាន់ web-provider ជាលើកដំបូង។ ផ្ទាំងគ្រប់គ្រងនៅ `http://localhost:20128` · API នៅ `http://localhost:20128/v1`។ **2) ភ្ជាប់អ្នកផ្តល់សេវាដែលមានសិទ្ធិ ដោយប្រើគណនីផ្ទាល់ខ្លួនរបស់អ្នក** ផ្ទាំងគ្រប់គ្រង → **អ្នកផ្តល់សេវា** → ជ្រើសរើសអ្នកផ្តល់សេវាដែលលក្ខខណ្ឌ និងកូតាបច្ចុប្បន្នសមនឹងករណីប្រើប្រាស់របស់អ្នក → បន្ថែម API key របស់អ្នក ឬបញ្ចប់ដំណើរការគណនីរបស់វា។ កម្រិតឥតគិតថ្លៃអាចតម្រូវឱ្យចុះឈ្មោះ ទទួលការអនុម័ត ឬផ្តល់វិធីបង់ប្រាក់។ ពិនិត្យ [មគ្គុទ្ទេសក៍កម្រិតឥតគិតថ្លៃ](docs/getting-started/FREE-TIERS-GUIDE.md); ការប្រើប្រាស់ដោយគ្មាន key មិនត្រូវបានធានាទេ ហើយអ្នកផ្តល់សេវាដែលមានស្លាក `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" ``` អ្នកគួរតែឃើញ models ដែលបានភ្ជាប់របស់អ្នកក្នុងបញ្ជី។ 🎉 នោះហើយ — ចាប់ផ្តើមសរសេរកូដ ហើយ OmniRoute នឹង routing និង fallback ដោយស្វ័យប្រវត្តិសម្រាប់អ្នក។ ប្រសិនបើ client របស់អ្នកមិនអាចផ្ញើ custom headers បានទេ OmniRoute ក៏បង្ហាញ aliases សម្រាប់ភាពឆបគ្នាដែលមាន token ផងដែរ៖ ```txt OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/ OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags ``` ប្រើទាំងនេះសម្រាប់តែ client ដែលមិនអាចភ្ជាប់ `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-10-18 · កាតាឡុកដើម៖ YT 1.352 | TT 334 | IG 290 · ភាពថ្មី (ថ្ងៃ)៖ YT 5 | TT 48 | IG 49
Instagram Reel — nick_saraev
🎬 #1 — Instagram
nick_saraev — ការមើល 3,042,474 ដង
Instagram Reel — nnapier7
🎬 #2 — Instagram
nnapier7 — ការមើល 1,454,535 ដង
YouTube — Amidia AI & Tech
🎬 #3 — YouTube
Amidia AI & Tech — ការមើល 794,974 ដង
Instagram Reel — theopenstack
🎬 #4 — Instagram
theopenstack — ការមើល 692,419 ដង
TikTok — migue.baena
🎬 #5 — TikTok
migue.baena — ការមើល 685,788 ដង
**ចំណាត់ថ្នាក់ពេញលេញ (URL ស្តង់ដារដែលបានលុបធាតុស្ទួនចេញ, `v > 0`, ការឈានដល់ខ្ពស់បំផុត)៖** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [nnapier7 — Instagram](https://www.instagram.com/reel/Dbp7wv_CIO0/) — **1,454,535** | [Amidia AI & Tech — YouTube](https://www.youtube.com/watch?v=NJ0TQ-pyMDY) — **794,974** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [migue.baena — TikTok](https://www.tiktok.com/@migue.baena/video/7670919268216622358) — **685,788** | | #6 | #7 | #8 | #9 | #10 | | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [nikothetech — TikTok](https://www.tiktok.com/@nikothetech/video/7671890769665477918) — **610,803** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **509,281** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | ម៉ែត្ររង្វាស់ស្តង់ដារនៅថ្ងៃទី 2026-10-18៖ **វីដេអូមិនស្ទួន 1.976** · **ការមើលដែលបានដឹង 20.220.289 ដង** (`v > 0`) · **ឆានែល/ប្រវត្តិរូបតាមបណ្ដាញ 1.210**។ ផ្ទាំងទិន្នន័យដើមមាន 1.976 ជួរ (YouTube 1.352 = វីដេអូវែង 740 + Shorts 612 · TikTok 334 · Instagram 290); មិនមានធាតុស្ទួននៅសល់ទេ បន្ទាប់ពីការធ្វើឱ្យមានស្តង់ដារតាម URL ស្តង់ដារ ដែលរក្សាទុកចំនួនមើលខ្ពស់បំផុតសម្រាប់វីដេអូនីមួយៗ។ ការប្រមូលទិន្នន័យពី YouTube ត្រូវបានផ្អាកនៅត្រឹមថ្ងៃទី 2026-10-13 (កូតា API ត្រូវបានប្រើអស់ចាប់ពីថ្ងៃទី 14 ដល់ 18/10) ហើយ TikTok/Instagram ចាប់តាំងពីថ្ងៃទី 2026-09-02 (គ្មានឥណទានសម្រាប់ការប្រមូលទិន្នន័យ); វីដេអូ 76 នៅមិនទាន់មានចំនួនមើលនៅឡើយ។ > 🎬 **បានបង្កើតវីដេអូអំពី 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)
FrameworkNext.js 16 + React 19 + Tailwind CSS 4
មូលដ្ឋានទិន្នន័យbetter-sqlite3 (SQLite, កំណត់ហេតុ WAL) + LowDB (JSON ចាស់) — ម៉ូឌុលដែន 147, migrations 233
អង្គចងចាំអត្ថបទពេញលេញ SQLite FTS5 + vector embeddings ដែលបាន quantize ទៅជា int8, ការថយចុះតាមប្រភេទ
SchemaZod 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 Keys + ការផ្ទៀងផ្ទាត់តាម scope របស់ MCP · AES-256-GCM នៅពេលទិន្នន័យសម្រាក · DOMPurify
ការលាក់អត្តសញ្ញាណwreq-js — ការក្លែងធ្វើស្នាមម្រាមដៃ JA3 / JA4 TLS, proxy 3 កម្រិត
ភាពធន់ឧបករណ៍បំបែកសៀគ្វី, exponential backoff, ការទប់ស្កាត់ thundering herd, ការជួសជុលដោយខ្លួនឯងសម្រាប់ auto-combo
ការកត់ត្រាpino — កំណត់ហេតុ JSON មានរចនាសម្ព័ន្ធ ជាមួយបរិបទសំណើ
ការធ្វើតេស្តNode.js test runner + Vitest — ការប្រកាសតេស្តឋិតិវន្តជាង 60,000 នៅទូទាំងឯកសារតេស្តដែលបានតាមដានជាង 8,400 (unit, integration, E2E, security, ecosystem)
វេទិកាDesktop (Electron) · Android (Termux) · PWA (កម្មវិធីរុករកណាមួយ)
CI/CDGitHub Actions — បោះពុម្ព npm ដោយស្វ័យប្រវត្តិ + Docker Hub នៅពេលចេញផ្សាយ
តំណភ្ជាប់គេហទំព័រ · npm · Docker Hub

## 📖 ឯកសារ
### 📘 ចាប់ផ្តើម
ឯកសារការពិពណ៌នា
មគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់អ្នកផ្តល់សេវា, បន្សំ, ការរួមបញ្ចូល CLI, ការដាក់ឱ្យប្រើប្រាស់
មគ្គុទ្ទេសក៍ដំឡើងវិធីដំឡើងពេញលេញ, ការកំណត់រចនាសម្ព័ន្ធឧបករណ៍ CLI, ការដំឡើងពិធីការ, ការកែតម្រូវអស់ពេល
មគ្គុទ្ទេសក៍ឧបករណ៍ CLIការដំឡើងតាមឧបករណ៍សម្រាប់ Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
របៀបពីចម្ងាយគ្រប់គ្រង OmniRoute ពីចម្ងាយ (VPS) ពី CLI លើកុំព្យូទ័រយួរដៃរបស់អ្នក តាមរយៈ access token ដែលមានវិសាលភាពកំណត់
ការកំណត់រចនាសម្ព័ន្ធ Claude Codeភ្ជាប់ Claude Code ទៅ OmniRoute (ក្នុងម៉ាស៊ីន/ពីចម្ងាយ) ជាមួយ launch + ប្រវត្តិរូបតាមម៉ូដែល
ចាប់ផ្តើមរហ័សដំឡើង → ភ្ជាប់ → កំណត់រចនាសម្ព័ន្ធ ៣ ជំហាន
### 🔧 ប្រតិបត្តិការ និងការដាក់ឱ្យប្រើប្រាស់
ឯកសារការពិពណ៌នា
មគ្គុទ្ទេសក៍ Dockerការដំណើរការ Docker, ប្រវត្តិរូប Compose, Caddy HTTPS, tunnel, ស្លាក image
មគ្គុទ្ទេសក៍ Podmanការរួមបញ្ចូល Quadlet systemd, podman-compose, SELinux
ការដាក់ឱ្យប្រើប្រាស់លើ VMមគ្គុទ្ទេសក៍ពេញលេញ៖ ការរៀបចំ VM + nginx + Cloudflare
ការដាក់ឱ្យប្រើប្រាស់លើ Fly.ioដាក់ឱ្យប្រើប្រាស់លើ Fly.io ជាមួយទំហំផ្ទុកអចិន្ត្រៃយ៍
មគ្គុទ្ទេសក៍ Termuxដំណើរការ OmniRoute លើ Android តាមរយៈ Termux
មគ្គុទ្ទេសក៍ PWAការដំឡើង Progressive Web App, ការរក្សាទុកក្នុងឃ្លាំងសម្ងាត់, ស្ថាបត្យកម្ម
មគ្គុទ្ទេសក៍លុបការដំឡើងការលុបចេញយ៉ាងស្អាតសម្រាប់វិធីដំឡើងទាំងអស់
ការកំណត់រចនាសម្ព័ន្ធបរិស្ថានអថេរ និងឯកសារយោង .env ពេញលេញ
### 🧠 មុខងារ និងស្ថាបត្យកម្ម
ឯកសារការពិពណ៌នា
ស្ថាបត្យកម្មស្ថាបត្យកម្មប្រព័ន្ធ, លំហូរទិន្នន័យ និងផ្នែកខាងក្នុង
មគ្គុទ្ទេសក៍បង្រួមបំពង់ដំណើរការ ៧ ជម្រើស៖ off / lite / standard / aggressive / ultra / RTK / stacked
ការបង្រួម RTKការបង្រួមលទ្ធផលពាក្យបញ្ជា, តម្រង, ភាពគួរឱ្យទុកចិត្ត, ផ្ទៀងផ្ទាត់, ការស្តារលទ្ធផលដើម
ម៉ាស៊ីនបង្រួមCaveman, RTK, បំពង់ដំណើរការជង់, ផ្ទៃ dashboard/API/MCP
ទម្រង់ច្បាប់បង្រួមគ្រោង JSON សម្រាប់កញ្ចប់ច្បាប់ Caveman និងតម្រង RTK
កញ្ចប់ភាសាសម្រាប់ការបង្រួមការរកឃើញភាសា និងការសរសេរកញ្ចប់ច្បាប់ Caveman
មគ្គុទ្ទេសក៍ភាពធន់ឧបករណ៍បំបែកសៀគ្វី, រយៈពេលសម្រាក, ជួរ, ការទប់ស្កាត់ហ្វូងសំណើផ្ទុះឡើង, ការក្លែងបន្លំ TLS
ម៉ាស៊ីន Auto-Comboការដាក់ពិន្ទុតាមកត្តា ១៦, កញ្ចប់របៀប, ការជួសជុលដោយខ្លួនឯង
មគ្គុទ្ទេសក៍ Proxyប្រព័ន្ធ proxy ៣ កម្រិត, ទីផ្សារ 1proxy, CRUD បញ្ជីចុះឈ្មោះ
កម្រិតឥតគិតថ្លៃបញ្ជីប្រមូលផ្តុំ៖ ក្រុមដែលមានការកត់ត្រា ៣៤ / ធាតុកម្រិតឥតគិតថ្លៃក្នុងកាតាឡុក ៤៦៥
វិចិត្រសាលមុខងារដំណើរទស្សនា dashboard ជារូបភាពជាមួយរូបថតអេក្រង់
ឯកសារកូដបេសការណែនាំអំពីកូដបេសដែលងាយស្រួលសម្រាប់អ្នកចាប់ផ្តើម
### 🤖 ពិធីការ និង APIs
ឯកសារការពិពណ៌នា
ឯកសារយោង APIendpoint ទាំងអស់ជាមួយឧទាហរណ៍
លក្ខណៈបច្ចេកទេស OpenAPIលក្ខណៈបច្ចេកទេស OpenAPI 3.0
ម៉ាស៊ីនមេ MCPឧបករណ៍ MCP ចំនួន ១១០, ការកំណត់រចនាសម្ព័ន្ធ IDE, client Python/TS/Go
មគ្គុទ្ទេសក៍ម៉ាស៊ីនមេ MCPការដំឡើង MCP, មធ្យោបាយបញ្ជូន និងឯកសារយោងឧបករណ៍
ម៉ាស៊ីនមេ A2Aពិធីការ JSON-RPC 2.0, ជំនាញ, ការផ្សាយបន្តផ្ទាល់, ការគ្រប់គ្រងកិច្ចការ
មគ្គុទ្ទេសក៍ម៉ាស៊ីនមេ A2Aកាតភ្នាក់ងារ A2A, កិច្ចការ, ជំនាញ និងការផ្សាយបន្តផ្ទាល់
### 📋 គម្រោង និងគុណភាព
ឯកសារការពិពណ៌នា
ការរួមចំណែកការរៀបចំបរិស្ថានអភិវឌ្ឍន៍ និងគោលការណ៍ណែនាំ
ម៉ូដែល Branching និងការចេញផ្សាយកន្លែងដែល PRs ត្រូវដាក់គោលដៅ (release/*) និងអត្ថន័យរបស់ main និង tags
កំណត់ហេតុការផ្លាស់ប្តូរប្រវត្តិការចេញផ្សាយពេញលេញតាមកំណែ
គោលការណ៍សុវត្ថិភាពការរាយការណ៍អំពីភាពងាយរងគ្រោះ និងការអនុវត្តសុវត្ថិភាព
មគ្គុទ្ទេសក៍ i18nការគាំទ្រ 67 ភាសា លំហូរការបកប្រែ និង RTL
បញ្ជីត្រួតពិនិត្យការចេញផ្សាយជំហានផ្ទៀងផ្ទាត់មុនការចេញផ្សាយ
ផែនការគ្របដណ្តប់យុទ្ធសាស្ត្រគ្របដណ្តប់តេស្តសម្រាប់ការប្រកាសតេស្តឋិតិវន្តជាង 60,000 នៅទូទាំងឯកសារតេស្តដែលបានតាមដានជាង 8,400

# ⭐ អ្នករួមចំណែកកំពូល > OmniRoute ត្រូវបានបង្កើតឡើងដោយសហគមន៍ open-source ដ៏សកម្មមួយ។ បុគ្គលទាំងនេះបានរួមចំណែកយ៉ាងពិសេស ដែលជះឥទ្ធិពលដោយផ្ទាល់ដល់គុណភាព ស្ថិរភាព និងការរីកសាយភាយរបស់គម្រោង។ **សូមអរគុណ។** ### អ្នករួមចំណែកខាងក្រៅតាម pull requests ដែលបានបញ្ចូល
ចំណាត់ថ្នាក់អ្នករួមចំណែកPRs ដែលបានបញ្ចូលបន្ទាត់ដែលបានផ្លាស់ប្តូរ~
1maxmad64bis41825,367,739
2HouMinXi29513,557,796
3pacocartones22281,551
4backryun210270,562
5JxnLexn1983,570,623
6oyi77190411,243
7KooshaPari1515,972,314
8rdself14580,663
9RaviTharuma123500,065
10herjarsa88230,872
11hartmark852,849,623
12jonlwheat2-gif6869,097
13artickc6243,502
14xiaoyaner020159126,220
15chirag127526,661
16xz-dev50245,976
17woodsonl48811,771
18rqzbeh46151,229
19MumuTW4328,166
19QuangBlue4313,112
ការរាប់ស្ថិតិនៅថ្ងៃទី 2026-11-03 03:01:19 UTC ជាមួយ tip បច្ចុប្បន្នរបស់ release/v3.8.53 គឺ 05bc048d6c។ ការរាប់ស្ថិតិ GitHub GraphQL ដែលបែងចែកជាទំព័រ មាន PRs ដែលបានបញ្ចូលសរុប 9,947៖ 4,130 ដោយម្ចាស់ repository, 240 ដោយ Dependabot, 6 ដោយ bots/apps ផ្សេងទៀត និង 5,571 PRs ខាងក្រៅពីអ្នករួមចំណែកផ្សេងគ្នា 883 នាក់។ “បន្ទាត់ដែលបានផ្លាស់ប្តូរ” គឺជាចំនួន additions + deletions របស់ GitHub ហើយរួមបញ្ចូលឯកសារដែលបានបង្កើតដោយស្វ័យប្រវត្តិ ឯកសារ lockfiles catalogs ការបកប្រែ និងឯកសារណែនាំ។ វាគឺជាបរិមាណការផ្លាស់ប្តូរ មិនមែន LOC ដែលអ្នកនិពន្ធបានសរសេរទេ។ PRs ចំនួន 53 រាយការណ៍ថា diffs របស់ GitHub មានលើស 500,000 បន្ទាត់ (ឧទាហរណ៍ #13399 ដែលជាការបន្ថែម provider តែមួយ រាយការណ៍ថាមានឯកសារដែលបានផ្លាស់ប្តូរ 2,347) ដែលធ្វើឱ្យចំនួនសរុបមួយចំនួនខាងលើកើនឡើង។ ករណីស្មើគ្នាត្រូវបានដាក់ចំណាត់ថ្នាក់រួមគ្នា។ ### Commits ដែល GitHub បានកំណត់ប្រភព
Dizzle
Dizzle

🥇 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 418
Bob.Hou
Bob.Hou

🥈 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 294
Paijo
Paijo

🥉 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 229
Paco Cartones
Paco Cartones

🏅 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 222
backryun
backryun

🏅 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 202
Jan Leon
Jan Leon

🏅 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 134
Ravi Tharuma
Ravi Tharuma

🏅 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 126
Markus Hartung
Markus Hartung

🏅 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 115
Randi
Randi

🏅 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 108
Chris
Chris

🏅 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 70
WebPerson
WebPerson

🏅 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 68
Koosha Paridehpour
Koosha Paridehpour

🏅 ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ចំនួន 68
បានពិនិត្យឡើងវិញនៅ 2026-11-03 02:09:16 UTC៖ ការរួមចំណែកដែលបានកំណត់គុណតម្លៃដោយ GitHub ដែលត្រូវបានរាយការណ៍ដោយ Contributors API របស់ឃ្លាំង សម្រាប់សាខាលំនាំដើម release/v3.8.53។ API បានបញ្ជូនអត្តសញ្ញាណចំនួន 903 (អ្នកប្រើប្រាស់ 429 នាក់, បូត 2 និងអនាមិក 472); តារាងនេះមិនរាប់បញ្ចូលអ្នកថែទាំ បូត និងអត្តសញ្ញាណអនាមិកទេ ហើយរក្សាទុកចំណាត់ថ្នាក់ដែលមានលទ្ធផលស្មើគ្នា។ វាខុសពីទាំងចំណាត់ថ្នាក់ PR ដែលបានបញ្ចូលខាងលើ និងការស្ទង់ជំរឿនទិន្នន័យមេតារបស់ Git ខាងក្រោម។ > 🙏 មុខងារ ការជួសជុលកំហុស និងការកែលម្អហេដ្ឋារចនាសម្ព័ន្ធរបស់អ្នករួមចំណែកទាំងនេះ គឺជា **ផ្នែកស្នូល** នៃអ្វីដែលធ្វើឱ្យ OmniRoute មានភាពអាចទុកចិត្តបាន និងសម្បូរមុខងារ។ រាល់សំណើបញ្ចូល រាល់ករណីសាកល្បង និងរាល់ឯកសារបកប្រែ i18n សុទ្ធតែមានសារៈសំខាន់។ ប្រភពបើកចំហត្រូវបានបង្កើតឡើងដោយមនុស្សដូចពួកគេ។
---
## 💖 អ្នកឧបត្ថម្ភ
សូមថ្លែងអំណរគុណយ៉ាងស្មោះស្ម័គ្រដល់អ្នកទាំងអស់ដែលបានផ្តល់មូលនិធិដល់ OmniRoute ពីហោប៉ៅផ្ទាល់ខ្លួនរបស់ពួកគេ — រាល់ការរួមចំណែកជួយឱ្យគម្រោងនេះនៅតែឥតគិតថ្លៃ ឯករាជ្យ និងបន្តរីកចម្រើនទៅមុខ។
Andrew
Andrew

💛 អ្នកឧបត្ថម្ភប្រចាំខែដែលកំពុងសកម្ម
Vlad I
Vlad I

💛 អ្នកឧបត្ថម្ភប្រចាំខែដែលកំពុងសកម្ម
小妍儿
小妍儿

💛 អ្នកឧបត្ថម្ភប្រចាំខែដែលកំពុងសកម្ម
Guilherme Costa
Guilherme Costa

💛 អ្នកឧបត្ថម្ភម្តងដែលកំពុងសកម្ម
Henrique Triches Iurkiv
Henrique Iurkiv

💛 អ្នកឧបត្ថម្ភម្តងដែលកំពុងសកម្ម
Somesh Ghaturle
Somesh Ghaturle

💛 អ្នកឧបត្ថម្ភម្តងដែលកំពុងសកម្ម
Kolonie AI
Kolonie AI

💛 អ្នកគាំទ្រម្តងកាលពីមុន
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 អ្នកគាំទ្រម្តងកាលពីមុន
Pixma
Pixma

💛 អ្នកគាំទ្រម្តងកាលពីមុន
Paco Cartones
Paco Cartones

💛 អ្នកគាំទ្រម្តងកាលពីមុន
longtao
longtao

💛 អ្នកគាំទ្រម្តងកាលពីមុន
… និងអ្នកផ្សេងទៀតដែលចង់រក្សាភាពឯកជន 💛 អ្នកឧបត្ថម្ភ GitHub ជាសាធារណៈត្រូវបានផ្ទៀងផ្ទាត់ឡើងវិញនៅថ្ងៃទី 2026-10-18 តាមរយៈ GitHub Sponsors GraphQL API៖ ការឧបត្ថម្ភជាសាធារណៈចំនួន 11 (សកម្ម 6 និងកាលពីមុន 5) ក្នុងចំណោមសរុប 14។ ស្ថានភាព isActive របស់ GitHub កំណត់ស្លាកសកម្មខាងលើ។ អ្នកគាំទ្រជាសាធារណៈដែលបានឧបត្ថម្ភម្តងកាលពីមុននៅតែទទួលបានការថ្លែងអំណរគុណ ហើយអ្នកឧបត្ថម្ភឯកជននៅតែរក្សាភាពអនាមិក។ ការបរិច្ចាគតាម Ko-fi, Buy Me a Coffee, Liberapay, PIX និងគ្រីបតូ មិនត្រូវបានរាយបញ្ជីឡើយ ព្រោះការបរិច្ចាគទាំងនោះមិនមានកំណត់ត្រាអ្នកឧបត្ថម្ភជាសាធារណៈ។ 💖 ក្លាយជាអ្នកឧបត្ថម្ភ → — រាល់ដុល្លារជួយឱ្យ OmniRoute នៅតែឥតគិតថ្លៃ និងឯករាជ្យ។

## 👥 អ្នកចូលរួមជាង 1,000 នាក់
[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=1074&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) បានធ្វើសវនកម្មនៅថ្ងៃទី 2026-11-02 លើចំណុចចុងក្រោយនៃ release/v3.8.53 ដែលកំពុងដំណើរការ 1c7135e0fb (7,972 commits)៖ អត្តសញ្ញាណ Git របស់មនុស្សដែលបានធ្វើឱ្យមានស្តង់ដារចំនួន 1,074 — 759 លេចឡើងជាអ្នកនិពន្ធ commit (រួមទាំងអ្នកថែទាំ) និង 315 លេចឡើងតែនៅក្នុងបន្ទាត់បន្ថែម Co-authored-by ប៉ុណ្ណោះ។ ការរាប់នេះអនុវត្ត .mailmap ប្រៀបធៀបអាសយដ្ឋានអ៊ីមែលដោយមិនគិតពីអក្សរធំតូច ភ្ជាប់អាសយដ្ឋាន GitHub noreply ដែលមានលេខ និងគ្មានលេខ តែនៅពេលពួកវាបញ្ជាក់ពី handle ដូចគ្នាប៉ុណ្ណោះ ដកចេញអត្តសញ្ញាណ bot/agent/service/placeholder ចំនួន 29 ហើយមិនបញ្ចូលអាសយដ្ឋានអ៊ីមែលធម្មតាចូលគ្នា ដោយគ្រាន់តែឈ្មោះបង្ហាញដូចគ្នានោះទេ។ សវនកម្មនៅថ្ងៃទី 2026-08-24 បានផ្សព្វផ្សាយចំនួន 639; វិធីសាស្ត្រនេះដែលដំណើរការឡើងវិញលើ base ac02c5b42f របស់សវនកម្មនោះ ផ្តល់លទ្ធផល 619 ដូច្នេះការកើនឡើងនេះកើតចេញពីអ្នកចូលរួមថ្មី មិនមែនពីវិធីសាស្ត្រដែលធូររលុងជាងមុនទេ។ ### របៀបចូលរួមចំណែក 1. Fork ឃ្លាំងកូដ 2. បង្កើត branch ពីចំណុចចុងក្រោយសកម្ម `release/vX.Y.Z` (មិនមែន `main` ទេ) — សូមមើល [គំរូ Branching និងការចេញផ្សាយ](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 # បង្កើតការចេញផ្សាយ — npm publish នឹងដំណើរការដោយស្វ័យប្រវត្តិ VERSION=x.y.z gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes ```
## 📊 ផ្កាយ តារាងប្រវត្តិផ្កាយ
## 🌍 StarMapper StarMapper

## 🙏 ការថ្លែងអំណរគុណ
OmniRoute ឈរលើស្នាដៃរបស់អ្នកជំនាន់មុន។ វាបានចាប់ផ្តើមជាកំណែ fork របស់ **[9router](https://github.com/decolua/9router)** និងជាកំណែបម្លែងទៅជា TypeScript នៃគម្រោង Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — ហើយចាប់ពីពេលនោះមក ប្រព័ន្ធរងនីមួយៗខាងក្រោមត្រូវបានបំផុសគំនិតដោយគម្រោងប្រភពបើកចំហមួយដែលបានអភិវឌ្ឍមុន។ គម្រោងនីមួយៗបានចូលរួមបង្កើតផ្នែកជាក់លាក់មួយរបស់ OmniRoute។ នេះគឺជាការថ្លែងអំណរគុណរបស់យើងចំពោះគម្រោងទាំងអស់នោះ។ 🙏 > ⭐ ចំនួនផ្កាយត្រូវបានផ្ទៀងផ្ទាត់ពី GitHub's REST API នៅថ្ងៃទី 3 ខែវិច្ឆិកា ឆ្នាំ 2026 — សូមចូលទៅផ្តល់ផ្កាយដល់គម្រោងទាំងនេះ។ ចំនួនទាំងនេះគឺជារូបថតស្ថានភាពជាក់លាក់តាមកាលបរិច្ឆេទ ហើយនឹងផ្លាស់ប្តូរតាមធម្មជាតិ។ ### 🧬 ប្រភពដើម និង gateway
គម្រោង⭐របៀបដែលវាបានបំផុសគំនិតដល់ OmniRoute
9router31,861គម្រោងដើមដែល fork នេះត្រូវបានបង្កើតឡើងលើ — បានពង្រីកនៅទីនេះជាមួយ APIs ពហុទម្រង់ និងការសរសេរឡើងវិញពេញលេញជា TypeScript។
CLIProxyAPI57,329ការអនុវត្តជា Go ដែលបានបំផុសគំនិតដល់ការបម្លែងនេះទៅជា JavaScript / TypeScript។
LiteLLM62,580AI gateway ដែលសំណុំទិន្នន័យតម្លៃសាធារណៈរបស់វាត្រូវបានប្រើសម្រាប់ការធ្វើសមកាលកម្មតាមដានថ្លៃដើមរបស់យើង ហើយគំរូសម្រាប់ធ្វើឱ្យឈ្មោះ provider មានស្តង់ដាររបស់វាបានជួយណែនាំការកំណត់ផ្លូវរបស់យើង។
codex-chatgpt-web15,435ប្រភព MIT ដែលត្រូវបានកែសម្រួលទៅក្នុងស្ពាន ChatGPT Web → Codex Responses ដែលបានបញ្ចូលជាមួយគម្រោង រួមមានអាដាប់ទ័រសម្រាប់ browser-session, response-framing, usage និង web-search។
free-claude-code65,966លំនាំដែលបានបម្លែងទៅក្នុងការស្តារស្ទ្រីមឡើងវិញ, no-thinking aliases, ការស្វែងរកតាមបណ្តាញជាជម្រើសបម្រុង, ដែនកំណត់បង្អួចរអិល, ការលាក់បាំងកំណត់ហេតុ និងលំហូរដំណើរការ launcher ដែលមានការពង្រឹងសុវត្ថិភាព។
composer-api347លំនាំសម្រាប់ការជ្រើសរើស tool, ការកំណត់លទ្ធផល និងការបញ្ជាក់ tool របស់ Cursor Composer ត្រូវបានកែសម្រួលទៅក្នុង executor ដើមរបស់ Cursor។
codex-multi-auth561លំនាំសម្រាប់ការចូលថ្មី និងការបង្វិល refresh-token ត្រូវបានបម្លែងទៅក្នុងការផ្ទៀងផ្ទាត់ OAuth ឡើងវិញរបស់ Codex។
opencode-anthropic-auth562លំនាំដើម transform ដែលឆបគ្នាជាមួយ Claude Code និងឥរិយាបថ billing-header ត្រូវបានធ្វើឱ្យទូទៅទៅក្នុងស្ពានដែលដំណើរការតាមការកំណត់រចនាសម្ព័ន្ធរបស់ OmniRoute។
grok2api-merged2ការផ្គូផ្គង Grok model របស់វា, fake-TypeError Statsig generator, request និង device defaults និង NDJSON response processor ត្រូវបានកែសម្រួលយ៉ាងសំខាន់ទៅក្នុង Grok Web executor របស់ OmniRoute។
TQZHR/grok2api707ប្រភពកូដបន្តផ្ទាល់សំខាន់នៅពីក្រោយ grok2api-merged; ការអនុវត្ត model, header, payload, Statsig និង processor របស់វាត្រូវបានរក្សាទុកក្នុងខ្សែសង្វាក់ Grok Web។
chenyme/grok2api7,874ប្រភព MIT មូលដ្ឋានសម្រាប់ Grok payload និង device defaults, Statsig generator និង processor result.response ដែលត្រូវបានបន្តឆ្លងកាត់ TQZHR និង grok2api-merged។
grok2api-pro27ប្រភពបន្តផ្ទាល់ដែល grok2api-merged បានផ្តល់កិត្តិយសសម្រាប់ស្រទាប់ proxy-pool របស់វា; OmniRoute រក្សាទុកការជូនដំណឹងអំពីខ្សែសង្វាក់នេះ ប៉ុន្តែមិនអះអាងថាបានបម្លែង proxy-pool ចូលទៅក្នុង Grok Web executor ដែលមានព្រំដែនកំណត់របស់ខ្លួនទេ។
GrokProxy52Grok proxy ដែលផ្ទៀងផ្ទាត់តាម cookie និងលំនាំ streaming result.response.token របស់វាបានជួយណែនាំដល់ Grok Web transport របស់ OmniRoute។
GrokBridge5ការអនុវត្ត Grok Web ដើមរបស់វាត្រូវបានពិនិត្យយោងសម្រាប់ការរចនា HTTP/browser upstream; ផ្លូវ HTTP ដោយផ្ទាល់របស់វាមានប្រភពមកពី GrokProxy ដូច្នេះមិនមានការអះអាងអំពីការបម្លែងកូដដោយឯករាជ្យទេ។
### 🗜️ ការបង្រួមបរិបទ និង token — engines
គម្រោង⭐របៀបដែលវាបានបំផុសគំនិតដល់ OmniRoute
Caveman116,957គម្រោងដ៏ល្បីល្បាញ “ហេតុអ្វីប្រើ token ច្រើន នៅពេល token តិចក៏អាចធ្វើការងារបាន” — ទស្សនវិជ្ជានិយាយបែប caveman របស់វា ជំរុញរបៀបបង្រួមស្តង់ដាររបស់យើង និងច្បាប់បំពេញ/បង្រួមជាង 30។
RTK – Rust Token Killer85,350ការបង្រួមលទ្ធផលពាក្យបញ្ជាដែលមានប្រសិទ្ធភាពខ្ពស់ — បានបំផុសគំនិតដល់ម៉ាស៊ីន RTK, JSON filter DSL, ការស្តារលទ្ធផល raw និង pipeline RTK → Caveman ដែលតភ្ជាប់ជាស្រទាប់។
headroom78,672ការបង្រួម context ដែលអាចបញ្ច្រាសបាន (SmartCrusher) — បានបំផុសគំនិតដល់ម៉ាស៊ីន headroom របស់យើង និងលំនាំសញ្ញាសម្គាល់សម្រាប់ទាញយក ccr។
LLMLingua6,797ការស្រាវជ្រាវអំពីការបង្រួម prompt (LLMLingua / LLMLingua-2) — បានបំផុសគំនិតដល់ម៉ាស៊ីន llmlingua របស់យើង ដែលដំណើរការអសមកាល មានសុវត្ថិភាពសម្រាប់កូដ និងបើកចំហពេលបរាជ័យ។
llmlingua-2-js33port JS/ONNX (MobileBERT / XLM-RoBERTa) ដែលត្រូវបានប្រើជាកម្មវិធី backend សម្រាប់ worker-thread នៃម៉ាស៊ីន LLMLingua របស់យើង។
Troglodita50ការបង្រួម token សម្រាប់ PT-BR — ជំរុញ language pack pt-BR របស់យើង៖ កាត់បន្ថយពាក្យស្ទួន និងលុបពាក្យបំពេញ ដែលកែសម្រួលសម្រាប់វេយ្យាករណ៍ភាសាព័រទុយហ្គាល់ប្រេស៊ីល។
ponytail182,929ជំនាញសរសេរកូដ YAGNI របស់ “អ្នកអភិវឌ្ឍន៍ជាន់ខ្ពស់ខ្ជិល” ដ៏ល្បីល្បាញ — បានបំផុសគំនិតដល់ Output Style less-code របស់យើង៖ ការណែនាំអំពីការផ្លាស់ប្តូរដែលតូចបំផុតប៉ុន្តែអាចដំណើរការបាន ដែលកាត់បន្ថយកូដ _ដែលបានបង្កើត_ (ជាផ្នែកបងប្អូនតាមអ័ក្ស output របស់ពាក្យពេចន៍ខ្លីៗរបស់ Caveman)។
i-have-adhd59,838រចនាប័ទ្មឆ្លើយតបដែលផ្តោតលើសកម្មភាពជាមុន និងងាយស្រួលសម្រាប់ ADHD របស់វា ត្រូវបានកែសម្រួលទៅជារចនាប័ទ្ម output ខ្លីច្បាស់របស់ OmniRoute ក្នុងប្រាំភាសា។
### 🧩 ទម្រង់បង្រួម ការស្រាវជ្រាវ token និងឧបករណ៍ដែលយល់ដឹងអំពីកូដ
គម្រោង⭐របៀបដែលវាបានបំផុសគំនិតដល់ OmniRoute
TOON25,602Token-Oriented Object Notation — គំរូ columnar ដែលមាន header បូក rows របស់វា បានកំណត់រូបរាងដំណាក់កាលបង្រួមទិន្នន័យតារាងរបស់យើង។
GCF – Graph Compact Format61ទម្រង់ក្រាហ្វបង្រួម និងការរចនា generic-profile របស់វា បានផ្តល់ព័ត៌មានដល់ការបង្រួមទិន្នន័យតារាង និងទម្រង់ codec របស់ Headroom ក្នុង OmniRoute។
gcf-typescript4ការអនុវត្ត TypeScript ដែលមានអាជ្ញាបណ្ណ MIT ត្រូវបាន vendor ចូលដោយផ្ទាល់ និងពង្រីកជាកូដ codec generic-profile របស់ Headroom។
token-optimizer-mcp566ឃ្លាំងសម្ងាត់ Brotli/SQLite + context-delta តាម session — បានបំផុសគំនិតដល់ម៉ាស៊ីន session-dedup របស់យើង។
token-savior1,203ការបង្រួមលទ្ធផល Bash + MCP profiles — បានបំផុសគំនិតដល់វិន័យបញ្ឈប់ការបង្រួមរបស់យើង និងការកាត់បន្ថយ MCP tool-manifest។
token-saver162ការបង្រួម output តាមប្រភេទឯកសារ ដែលយល់ដឹងអំពីខ្លឹមសារ និងមានការបញ្ឈប់នៅពេលបរាជ័យ — បានផ្ទៀងផ្ទាត់ការបញ្ជូនតាមប្រភេទ និងការរំលងនៅពេលចំណេញអប្បបរមារបស់យើង។
token-optimizer2,853“ស្វែងរក token ខ្មោច” — លំនាំ offload + handle ដែលអាចស្តារបានរបស់វា បានផ្តល់ព័ត៌មានដល់គំនិត offload CCR របស់យើង។
TokenMizer34ប្លង់មេ session-graph + line-dedup ឆ្លងកាត់ turn ដែលបានផ្តល់ព័ត៌មានដល់ការរចនា session-dedup របស់យើង។
OmniCompress3Rust columnar-JSON + ការទាញយកតាម content-addressed + dedup ឆ្លងកាត់សារ — បានផ្ទៀងផ្ទាត់ការរចនាម៉ាស៊ីន headroom/ccr/session-dedup របស់យើង និង invariant ដែលមានស្ថិរភាពសម្រាប់ cache ថា “ទម្រង់ដែលបានបង្រួម មិនអាស្រ័យលើទីតាំង”។
mcp-compressor140ការបង្រួម MCP tool-schema/description — បានផ្តល់ព័ត៌មានដល់ការកាត់បន្ថយចំនួន MCP tool-manifest របស់យើង។
RepoMapper218ការរៀបចំចំណាត់ថ្នាក់ repo-map បែប Aider — បានផ្តល់ព័ត៌មានដល់ការស្វែងយល់របស់យើងអំពី repo-map / retrieval-ranking។
quiet-shell-mcp4ការកាត់បន្ថយលទ្ធផល shell តាមការកំណត់ប្រកាស លើ MCP — បានផ្ទៀងផ្ទាត់ការបង្រួមលទ្ធផល bash តាមការកំណត់ប្រកាសរបស់យើង។
ts-morph6,222ឧបករណ៍សម្រាប់ TypeScript Compiler API — បានបំផុសគំនិតដល់ការលុប comment ដោយផ្អែកលើ parser របស់យើង ដែលរក្សាទុក string, template និង regex literals។
### 🧠 អង្គចងចាំ និង RAG
គម្រោង⭐របៀបដែលវាបានបំផុសគំនិតដល់ OmniRoute
Mem068,294ស្រទាប់អង្គចងចាំសកល — គំរូ proxy-as-write/read-boundary របស់វាបានកំណត់ទិសដៅស្ថាបត្យកម្មអង្គចងចាំរបស់យើង។
Letta (MemGPT)25,321ភ្នាក់ងារដែលរក្សាស្ថានភាពជាមួយអង្គចងចាំជាច្រើនកម្រិត — បានបំផុសគំនិតដល់គំរូជាច្រើនកម្រិតនៃ Context Control & Recovery (CCR) របស់យើង។
WFGY1,804ចំណាត់ថ្នាក់ ProblemMap នៃបញ្ហាបរាជ័យ RAG/LLM ដែលកើតឡើងដដែលៗចំនួន 16 — ជាវាក្យសព្ទរួមក្នុងមគ្គុទ្ទេសក៍ដោះស្រាយបញ្ហារបស់យើង។
### 🛰️ ការត្រួតពិនិត្យចរាចរណ៍, MITM និងប្រូកស៊ីថ្លា
គម្រោង⭐របៀបដែលវាបានបំផុសគំនិតដល់ OmniRoute
llm-interceptor81ការស្ទាក់ចាប់/វិភាគ MITM នៃចរាចរណ៍ coding-assistant ↔ LLM បានជួយកំណត់តម្រូវការដំបូងសម្រាប់ Traffic Inspector។ ម៉ូឌុលចំនួនបួនដែលបានមកពីមុន — ការបញ្ចូល SSE, ការធ្វើឱ្យការសន្ទនាមានទម្រង់ស្តង់ដារ, ការលាក់សម្ងាត់ និងការសម្អាតបឋមកថា — ត្រូវបានជំនួសដោយការអនុវត្ត clean-room ឯករាជ្យ ដែលផ្អែកលើស្តង់ដារពិធីការសាធារណៈ។ ផ្ទៃ host-passthrough ចំនួនពីរ (passthrough.ts និង _internal/bypass.cjs) នៅតែជាការអនុវត្តខាងក្នុងរបស់ OmniRoute ដែលត្រូវបានចាត់ថ្នាក់ដោយឡែក។ វាមិនត្រូវបានសរសេរឡើងវិញជាផ្នែកនៃការជំនួសនោះទេ។
ProxyBridge6,978ការបញ្ជូនប្រូកស៊ីតាមដំណើរការនីមួយៗដោយថ្លា — បានបំផុសគំនិតដល់ការបិទ MITM ដែលមានសុវត្ថិភាពពេលគាំង, socket idle-timeouts, ការកំណត់អត្តសញ្ញាណដំណើរការតាម /proc និងការចាប់យក TPROXY របស់យើង។
### 📚 ទិន្នន័យម៉ូដែល, ការអង្កេត និង UI
គម្រោង⭐របៀបដែលវាបានបំផុសគំនិតដល់ OmniRoute
models.dev7,486មូលដ្ឋានទិន្នន័យបើកចំហនៃលក្ខណៈបច្ចេកទេសម៉ូដែល AI, តម្លៃ និងសមត្ថភាព — ត្រូវបានធ្វើសមកាលកម្មដោយផ្ទាល់ទៅក្នុងកាតាឡុកម៉ូដែលរបស់យើង។
React Flow / xyflow38,874បណ្ណាល័យក្រាហ្វផ្អែកលើថ្នាំង ដែលផ្តល់ថាមពលដល់ Compression Studio និង Combo/Routing Studio តាមពេលវេលាជាក់ស្តែងរបស់យើង។
LangGraph44,349ការមើលឃើញក្រាហ្វលំហូរការងារផ្ទាល់របស់ LangGraph Studio បានបំផុសគំនិតដល់ទិដ្ឋភាព cascade តាមពេលវេលាជាក់ស្តែងរបស់ Studios របស់យើង។
Langfuse36,907គំរូការអង្កេត trace → span → generation របស់វាបានកំណត់ទិសដៅ waterfall របស់ Compression Studio របស់យើង។
Kiali3,647ការអង្កេត service-mesh របស់ Istio — បានបំផុសគំនិតដល់ផ្លាកសញ្ញា circuit-breaker និងរូបភាពគែមកំហុសរបស់យើងក្នុង Routing/Combo Studio។
lobe-icons2,666ឡូហ្គោម៉ាក AI/LLM ដែលបង្ហាញរូបតំណាងអ្នកផ្តល់សេវានៅទូទាំងផ្ទាំងគ្រប់គ្រងរបស់យើង។
flag-icons12,499ផ្តល់ SVG flags ដែលមានអាជ្ញាបណ្ណ MIT សម្រាប់ប្រើដោយឧបករណ៍ជ្រើសរើសភាសារបស់ README។
### 🛡️ សុវត្ថិភាព
គម្រោង⭐របៀបដែលវាបានបំផុសគំនិតដល់ OmniRoute
awesome-secure-defaults723បញ្ជីដែលបានជ្រើសរើសនៃបណ្ណាល័យដែលមានសុវត្ថិភាពតាមលំនាំដើម ដែលណែនាំជម្រើសសុវត្ថិភាពរបស់យើង (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink)។
### 🧭 ឧបករណ៍បំពេញបន្ថែម
គម្រោង⭐របៀបដែលវាបានបំផុសគំនិតដល់ OmniRoute
ClawRouter6,649បានបំផុសគំនិតដល់ការលុបសំណើស្ទួន, ជម្រើសបម្រុងបន្ទាន់ដែលគ្មានថ្លៃ, យុទ្ធសាស្ត្រ Auto-Combo ដែលអាចដោតបន្ថែមបាន និងការចាត់ថ្នាក់ចេតនាពហុភាសា។
Antigravity-Manager32,785ការផ្គូផ្គងម៉ូដែលដែលយល់ដឹងពីគណនី, ការផ្ទៀងផ្ទាត់ផ្លូវ executable និងឥរិយាបថស្លាកគម្រោងរបស់វា បានជួយកំណត់ទិសដៅ runtime Antigravity របស់ OmniRoute។
vscode-antigravity-cockpit4,852ទម្រង់រាប់ថយក្រោយកំណត់ឡើងវិញនៃកូតាដែលមានភាពសង្ខេបរបស់វា បានបំផុសគំនិតដល់ការបង្ហាញកម្រិតអ្នកផ្តល់សេវាដែលត្រូវគ្នានៅក្នុង OmniRoute។
AionUi33,996ការរួមបញ្ចូល ACP របស់វា បានបំផុសគំនិតដល់ការរកឃើញដោយស្វ័យប្រវត្តិនូវភ្នាក់ងារ CLI ដែលបានដំឡើងរបស់ OmniRoute។
CodexBar22,955បានកំណត់អត្តសញ្ញាណផ្ទៃកូតា Grok Build; បន្ទាប់មក OmniRoute បានផ្ទៀងផ្ទាត់ និងកែតម្រូវទម្រង់ wire ផ្ទាល់ដោយឯករាជ្យ។
## 📄 អាជ្ញាបណ្ណ អាជ្ញាបណ្ណ MIT - សូមមើល [LICENSE](LICENSE) សម្រាប់ព័ត៌មានលម្អិត។ ---
**[⬆ ត្រឡប់ទៅកំពូល](#-omniroute)** · បង្កើតឡើងដោយ ❤️ សម្រាប់សហគមន៍ AI ប្រភពបើកចំហ។ បង្កើតដោយ Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · អាជ្ញាបណ្ណ MIT · omniroute.online