> **حسابهای ارائهدهنده خودتان را بیاورید.** این مقدار، برآوردی تجمیعی از پلنهای رایگان شخص ثالث است که هرکدام بهصورت جداگانه واجد شرایط هستند، و اعتبار توکنی اعطاشده از سوی OmniRoute نیست. ثبتنام کنید، در صورت نیاز اطلاعات دسترسی دریافت کنید و ارائهدهندگانی را که میتوانید استفاده کنید متصل کنید؛ هر ارائهدهنده محدودیتها، دسترسپذیری و شرایط خود را تعیین میکند.
>
> رویهمگذاشتن دستی پلنهای رایگان دردسرساز است — دهها SDK، دهها محدودیت نرخ و هیچ راهی برای دانستن مقدار واقعی در دسترس شما. OmniRoute، **465 ورودی پلن رایگان در 34 کلید استخر تکرارشونده** را فهرست میکند و مقدار کل توکن را از **17 استخر دارای بودجه ماهانه مثبتِ منتشرشده، بهعلاوه پنج سقف Groq برای هر مدل** محاسبه میکند؛ موارد دارای استخر مشترک فقط یکبار شمرده میشوند. سهمیههایی که تنها پس از بررسی هویت منطقهای فعال میشوند (امروز: ModelScope) جداگانه نمایش داده میشوند، +~6M پس از تأیید هویت منطقهای، و هرگز در مقدار کل اصلی جمع نمیشوند. نتیجه همچنان در داشبورد (`/dashboard/free-tiers`) قابل مشاهده است.
> خلاصه متحرک صفحه زنده `/dashboard/free-tiers`. روششناسی کامل (حذف موارد تکراری استخر، سطوح اعتبار، شرایط ارائهدهندگان): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> این ارقام هر دو هفته یکبار در برابر فهرست زنده دوباره بررسی میشوند و **در هر دو جهت تغییر میکنند** — اگر ارائهدهندهای پلن رایگان خود را پایان دهد، عدد کاهش مییابد؛ اگر ارائهدهنده جدیدی اضافه شود، افزایش پیدا میکند. ما همان چیزی را منتشر میکنیم که فهرست واقعاً محاسبه میکند، نه بهترین حالتِ گرد شده به بالا.
⭐ اگر OMNIROUTE به شما کمک کرده در هزینهها صرفهجویی کنید و کارتان را آسانتر انجام دهید، به مخزن ستاره بدهید.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 به انجمن بپیوندید
**👋 مدیر پروژه را دنبال کنید — ارائهدهندگان جدید، انتشارها و نکات را زودتر از همه دریافت کنید:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**پرسشها، نکات مربوط به ارائهدهندگان، نقشه راه و پشتیبانی → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 جهانی](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 برزیل](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [پرتال](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 دروازه همچنان در حال گسترش است
## 🆓 نصب کنید، یک ارائهدهنده را متصل کنید، سپس از طریق یک نقطه پایانی مسیریابی کنید
```bash
# پس از اتصال یک ارائهدهنده، کلید OmniRoute خود را از مسیر Dashboard → Endpoints کپی کنید:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto` به یک مسیر واجد شرایط نیاز دارد. یک نصب جدید ممکن است هیچ هدف واجد شرایطی بدون کلید نداشته باشد و یک ارائهدهنده بدون کلید ممکن است مشتریان شخص ثالث را رد کند. ارائهدهندگانی که با `tos: avoid` علامتگذاری شدهاند، از جمله Kiro، بهطور پیشفرض از مسیریابی خودکار حذف میشوند؛ اتصال یک حساب کاربری این تنظیم را لغو نمیکند. پیش از انتخاب ارائهدهنده، [راهنمای سطوح رایگان](docs/getting-started/FREE-TIERS-GUIDE.md) را ببینید.📦 اسکریپتهای شروع سریع قابل کپی و جایگذاری برای **Python، Node.js، PHP و cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 وعده
# 🤔 چرا OmniRoute؟
## 🤝 مورد حمایت دوستان متنباز ما
> **آیا میخواهید به عنوان یک دوست متنباز به ما بپیوندید؟** اینها شرکتهایی هستند که از متنباز حمایت میکنند و به حرکت OmniRoute کمک میکنند — و ما به صورت عمومی اعلام میکنیم که هر توکنی که به ما میدهند به کجا میرود. با ما تماس بگیرید: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
با تشکر از Kimi (Moonshot AI)، دوست متنباز بنیانگذار ما، برای حمایت از این پروژه! Kimi آزمایشگاه هوش مصنوعی پشت خانواده مدلهای K2 و K3 با وزن باز است — Kimi K3 یک پنجره زمینه 1M-توکن، دید بومی و کدنویسی در سطح مرزی را با کسری از قیمت مدلهای بسته ارائه میدهد و با Claude Code، Codex و هر ابزار کدنویسی که OmniRoute ارائه میدهد، خارج از جعبه کار میکند.
حمایت Kimi چه چیزی را تامین میکند: اعتبارات API Kimi خط لوله انتشار تایید شده توسط هوش مصنوعی OmniRoute را تامین میکند — مرحله تایید ادغام توسط Kimi K3 که هر درخواست کشش را قبل از ارسال بررسی میکند — به علاوه توسعه ویژگیهای روزمره. پشتیبانی درجه یک Kimi در هر دو مسیر ارائه میشود: API مستقیم Kimi (kimi-k3) و برنامه کدنویسی Kimi Code (OAuth و کلید API). OmniRoute همچنین اولین پروژه متنباز برزیلی در برنامه پشتیبانی Kimi است. یک کلید API Kimi با 15% اعتبار اضافی دریافت کنید ←
استنتاج ارزانتر cheaperinference.com
با تشکر از استنتاج ارزانتر، یک دوست متنباز OmniRoute، برای حمایت از این پروژه! استنتاج ارزانتر یک دروازه با رتبهبندی هزینه است که 42 مدل مرزی — Claude، GPT-5.x، Gemini، Kimi K3، GLM، DeepSeek، Grok و MiniMax — را پشت یک نقطه پایانی سازگار با OpenAI به فروش میرساند و هر درخواست را به ارزانترین ارائهدهنده واجد شرایط هدایت میکند بدون اینکه هرگز بالاتر از قیمت لیست سازنده مدل شارژ کند.
پشتیبانی درجه یک در OmniRoute: تکمیل چت، نقطه پایانی بومی /v1/responses، دید، فراخوانی ابزار و 3 مدل تصویر (grok-imagine، nano-banana-pro، nano-banana-2، قابل دسترسی به عنوان cheaperinference/<model>). یک کلید API دریافت کنید ←
لینکهای دارای برچسب aff=omniroute لینکهای شریک هستند. آنها پروژه را بدون هیچ هزینه اضافی برای شما تامین مالی میکنند. 🎟️ تبلیغات وابسته — کوپنهای ثبتنام رایگان از ارائهدهندگانی که ما حمایت نمیکنیم (برای گسترش کلیک کنید)این بخش فقط برای کدهای ارجاع/کوپن است. مشارکتهای حمایتشده در بخش 🤝 مورد حمایت دوستان متنباز ما در بالا قرار دارند. OmniRoute هیچ حمایت یا مشارکتی با ارائهدهندگان ذکر شده در اینجا ندارد — اینها کوپنهای عمومی هستند که هر کسی میتواند از آنها استفاده کند.
AgentRouter agentrouter.org
AgentRouter — ثبتنام وابسته · 100 دلار اعتبار رایگان هنگام ثبتنام (سرور رایگان، انتظار تاخیر بالاتر — بهترین برای آزمایش، نه تولید). پشتیبانی درجه یک در OmniRoute از v3.8.50: تکمیل چت، فرمت سیمی سازگار با Anthropic و مسیر سازگار با OpenAI. مدلهای موجود شامل claude-opus-4-8، claude-opus-5، gpt-5.6-sol و موارد دیگر. 100 دلار خود را بگیرید ←
⚠️ لینک وابسته — OmniRoute هیچ حمایت یا مشارکتی با این ارائهدهنده ندارد.
آیا ارائهدهنده دیگری با کوپن ثبتنام رایگان سخاوتمندانه میشناسید که به کاربران OmniRoute سود برساند؟ یک مشکل باز کنید و ما آن را اینجا اضافه خواهیم کرد.
## 🎯 کمبوها — قابلیت پرچمدار
> یک **کمبو** زنجیرهای از مدلهاست که OmniRoute درخواستها را **بهطور خودکار** میان آنها مسیریابی میکند. اگر سهمیه تمام شود، ارائهدهندهای از کار بیفتد یا هزینهها جهش کنند، کمبو میتواند به مدل سالم و واجد شرایط بعدی منتقل شود. 🛡️
### ⚡ بدون نیاز به پیکربندی — فقط از `auto` استفاده کنید
نیازی به ساخت کمبو نیست. مدل خود را روی `auto` (یا یکی از گونههای آن) تنظیم کنید تا OmniRoute با امتیازدهی زنده، یک کمبوی مجازی از ارائهدهندگان متصل شما بسازد:
شناسه مدل
برای چه چیزی بهینهسازی میکند
auto
🎯 حالت پیشفرض متعادل (LKGP — به آخرین ارائهدهنده موفق شما پایبند میماند)
auto/coding
🧑💻 وزندهی با اولویت کیفیت برای تولید کد
auto/fast
⚡ ابتدا کمترین تأخیر
auto/cheap
💰 ابتدا کمهزینهترین گزینه بهازای هر توکن
auto/subscription
🎟️ فقط سهمیه اشتراکی که از قبل هزینهاش را میپردازید — در صورت شکست متوقف میشود و هرگز به گزینهای هزینهزا برنمیگردد (راهنما)
auto/thrifty
🪜 ابتدا سهمیه طرح، سپس پلهبهپله بهسوی ارزانترین گزینههای پولی — پس از بازنشانی سهمیه، بازگشت به طرح (راهنما)
auto/offline
🔋 ابتدا بیشترین ظرفیت آزاد سهمیه / محدودیت نرخ
auto/smart
🔭 اولویت کیفیت + ۱۰٪ کاوش برای یافتن مدلهای بهتر
auto/lkgp
📌 پایبندی صریح به آخرین ارائهدهنده موفق شناختهشده
auto/chaos
🧪 توزیع موازی درخواست میان مجموعهای از مدلها (یک مدل برای هر ارائهدهنده، بهطور پیشفرض ۵ مدل) و بازگرداندن یک پاسخ؛ برای هر مدل مجموعه یک فراخوانی بالادستی انجام میشود و این قابلیت تزریق خطا نیست
##
### 🔀 یا کمبوی خودتان را بسازید — ۲۰ راهبرد مسیریابی
هر **۲۰** راهبرد — در هر گام کمبو آنها را با یکدیگر ترکیب و تطبیق دهید:
#
راهبرد
کارکرد
1
priority
فهرست مرتبشده با اولویت نخستین مقصد — هرکدام را پیش از رفتن به بعدی کاملاً مصرف میکند 🥇
2
fill-first
پیش از رفتن به مقصد بعدی، سهمیه هر مقصد را کاملاً مصرف میکند
3
weighted
انتخاب تصادفی وزندار بر اساس وزن هر مقصد
4
round-robin
پیمایش چرخهای مقصدها بهترتیب
5
p2c
توازن بار تصادفی با روش قدرت انتخاب از میان دو گزینه
6
least-used
انتخاب مقصدی با کمترین بار فعلی
7
random
انتخاب تصادفی یکنواخت (بدون موارد تکراری)
8
strict-random
انتخاب تصادفی بدون حذف تکرارها 🎲
9
cost-optimized
بهحداقلرساندن هزینه دلاری هر درخواست بر اساس قیمتگذاری زنده کاتالوگ 💸
10
headroom
انتخاب مقصدی با بیشترین سهمیه باقیمانده
11
quota-weighted
ردکردن حسابهای دارای سهمیه تمامشده، سپس انتخاب متناسب با سهمیه باقیمانده ÷ بار در حال پردازش — مکالمههای موجود به مقصد فعلی خود مقید میمانند ⚖️
12
reset-window
ترجیح مقصدی که پنجره سهمیهاش زودتر بازنشانی میشود
13
reset-aware
رتبهبندی بر اساس زمان بازنشانی سهمیه — ابتدا پنجرههای کوتاهتر 📊
14
context-relay
انتقال زمینه میان مقصدها برای مکالمههای طولانی 🧠
15
context-optimized
انتخاب مناسبترین گزینه برای اندازه فعلی زمینه
16
cache-optimized
مقیدکردن هر پیشوند قابلاستفاده مجددِ پرامپت به یک حساب ثابت — برای بیشینهکردن اصابتهای کش پرامپت 🎯
17
lkgp
آخرین مسیر موفق شناختهشده — به آخرین ارائهدهنده موفق مقید میشود و سپس در صورت نیاز به قوانین جایگزین برمیگردد
18
auto
امتیازدهی زنده ۱۶ عاملی در تمام اتصالها 🤖
19
fusion
توزیع درخواست میان مجموعهای از مدلها + یک داور که یک پاسخ واحد را ترکیب میکند 🧬
20
pipeline
زنجیرهکردن گامها — خروجی هر مقصد به مقصد بعدی داده میشود 🔗
موتور Auto-Combo هر گزینه را بر اساس **۱۶ عامل** (سلامت، سهمیه، هزینه، تأخیر، تناسب با وظیفه، کیفیت، دسترسپذیری نشست و…) امتیازدهی میکند — به [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md) مراجعه کنید.
##
### 🧱 تابآوری بهصورت داخلی تعبیه شده است (۳ لایه مستقل)
📖 [موتور 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:
```
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) باز کنید.
یادداشتهای توسعهدهنده: این پروژه ممکن است برای راحتی توسعهدهندگان هنگام نصب یا پسنصب با npm، یک فایل محلی .env ایجاد کند. این فایل عمداً از طریق .gitignore نادیده گرفته میشود (.gitignore را ببینید) و هرگز نباید commit شود — اگر بهاشتباه commit شد، تمام اطلاعات محرمانه افشاشده را تغییر دهید و فایل را از تاریخچه حذف کنید. برای راهنمایی درباره مدیریت فایلهای محیطی محلی و اطلاعات محرمانه، به docs/DEVELOPER-ENVIRONMENT.md مراجعه کنید.
## 📡 رادار OmniRoute
عنوان اصلی سطح رایگان همچنان **~1.62B توکن در ماه** از کاتالوگ مستندشده و حذفتکرارشده بر اساس مخزن مشترک در بالا است. اعتبارهای موقت ثبتنام ارائهدهندگان میتوانند بهطور جداگانه میزان ماه اول را به **~2.22B** افزایش دهند. رادار یک لایهٔ اختیاری و امضاشده برای کاتالوگ است که برای افرادی طراحی شده که میخواهند در فاصلهٔ میان انتشار نسخههای OmniRoute، اطلاعات بهروزتری دربارهٔ دسترسپذیری مدلهای رایگان داشته باشند؛ کاتالوگ جامعه و تمام قابلیتهای رایگان موجود همچنان رایگان باقی میمانند.
حامیان میتوانند کاتالوگ زنده و فرصتهای بیشتری از ارائهدهندگان دریافت کنند. سقف جداگانه و متغیر آن، بسته به دسترسپذیری ارائهدهندگان، **حداکثر تقریباً 3B توکن در ماه** است. این سقف تضمینشده نیست: ارائهدهندگان ممکن است سهمیهها، شرایط احراز صلاحیت، مدلها یا مناطق را در هر زمان تغییر دهند.
رادار نیازمند فعالسازی اختیاری است و فقط از GET استفاده میکند. کلاینت OmniRoute هیچیک از اعلانها، ترافیک، پیکربندی ارائهدهنده، تلهمتری استفاده یا وضعیت محلی رد کردن اعلانها را آپلود نمیکند. برای آگاهی از شرایط احراز صلاحیت و کاتالوگ فعلی، به **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)** مراجعه کنید.
## ✨ چه خبر
> نکات برجسته اخیر از **v3.8.20 → v3.8.54**. تاریخچه کامل در [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ مسیریابی `quota-weighted`** — بیستمین استراتژی ترکیبی، حسابهای exhausted را نادیده میگیرد و سپس از میان حسابهای باقیمانده، متناسب با سهمیه باقیمانده ÷ بار درخواستهای در حال اجرا انتخاب میکند و مکالمههای موجود را به همان حساب متصل نگه میدارد. → [ترکیب خودکار](docs/routing/AUTO-COMBO.md)
- **🧰 حالت بدون رابط کاربری** — `omniroute serve --headless` (یا `OMNIROUTE_HEADLESS=1`) فقط موتور پروکسی `/v1/*` را اجرا میکند و داشبورد و زیرسیستمهای مخصوص داشبورد را خاموش نگه میدارد. → [حالت بدون رابط کاربری](docs/guides/HEADLESS.md)
- **🔎 کشف مدل** — `/v1/models` بر اساس قابلیت، context، نوع و متن فیلتر میکند و `POST /v1/models/query` فهرست کوتاه و قطعی از گزینههای برتر را با همان سطح مشاهدهپذیری هر کلید برمیگرداند. → [مرجع API](docs/reference/API_REFERENCE.md)
- **🔑 کنترل مسیریابی برای هر کلید** — با `forcedModel` یک کلید API را به یک مدل یا ترکیب مشخص متصل کنید و مدلها و ترکیبهای یک کلید را بهصورت اتمی اضافه یا حذف کنید (`/api/keys/{id}/access`). → [مرجع API](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ کنترلهای دقیقتر PII** — انتخاب بر اساس نوع، حداکثر ۲۰ الگوی سفارشی معتبر برای masking و شمارندههای تشخیص برای هر نوع؛ خود masking همچنان اختیاری است. → [محافظها](docs/security/GUARDRAILS.md)
- **🌍 ۶۷ زبان** — داشبورد، آینههای مستندات و CLI، و `npm run i18n:add-locale` با یک فرمان زبان را در همهجا اضافه میکند. → [راهنمای i18n](docs/guides/I18N.md)
- **🎛️ OmniConductor** — واگذاری ورودی A2A به ناوگان agent شما، مهارتهای Conductor روی Agent Card و یک پنل داشبورد با گفتوگوی صوتی فشاردادنبرایصحبت Faro. → [سرور A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 پذیرش تطبیقی و محافظت در برابر بار اضافی** — درخواستهای سنگین chat بهجای دریافت خطای 503 در صف قرار میگیرند و اجارههای چرخشی اتمی RPM برای هر اتصال اعمال میشوند. → [راهنمای تابآوری](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ ترتیب استاندارد `/v1/models`** — برای هر provider یک بلوک پیوسته و گروهبندیشده وجود دارد (ترکیبها ابتدا قرار میگیرند) که در همه منابع کاتالوگ ثابت میماند. → [مرجع API](docs/reference/API_REFERENCE.md)
- **🗜️ مقاومسازی فشردهسازی** — محافظت پیشفرض در برابر افزایش اندازه، بستههای Caveman برای DE / FR / JA و چینی (wényán)، و فیلترهای RTK برای Gradle و .NET. → [فشردهسازی](docs/compression/COMPRESSION_ENGINES.md)
- **💸 هزینه صادقانه با نرخ ثابت** — providerهای subscription / coding-plan در تحلیل هزینه **$0** نشان داده میشوند؛ بودجه، سهمیه و مسیریابی همچنان برآورد هزینه را انجام میدهند. → [مرجع API](docs/reference/API_REFERENCE.md)
- **⚖️ مسیریابی Quota-Share** — سهمیه حساب مشترک را بهصورت منصفانه میان کلیدهای تجمیعشده تقسیم میکند و با قابلیت استفاده از ظرفیت آزاد، بخشهای بیکار را قرض میدهد. → [راهنمای تابآوری](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 راهاندازی CLI/agent با یک فرمان** — ۱۵ فرمان `setup-*` ثبتشده؛ `omniroute run` هفت CLI را اجرا میکند (Claude Code، Codex، Aider، Goose، OpenCode، Qwen Code، Gemini CLI)؛ `omniroute configure` از ۱۱ مقصد با انتخابگر تعاملی provider+model و موارد دلخواه برای هر context پشتیبانی میکند. → [یکپارچهسازیهای CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ حالت راه دور** — یک OmniRoute راه دور را با توکنهای دارای محدوده (`connect` / `contexts` / `tokens`) کنترل کنید و برای نصبهای VPS از ابزار کمکی OAuth با نام `antigravity` استفاده کنید. → [حالت راه دور](docs/guides/REMOTE-MODE.md)
- **🧭 مسیریابی خودکار هوشمندتر** — ترکیبهای `auto/:`، **Fusion** (پنل مدل + داور)، مسیریابی آگاه از وظیفه و overrideهای مدل / حالت / بودجه USD برای هر درخواست. → [ترکیب خودکار](docs/routing/AUTO-COMBO.md)
- **🗜️ فشردهسازی قابل اتصال** — ۱۲ موتور قابل ترکیب + Compression Studios: LLMLingua-2، Ultra دومرحلهای، omniglyph، دروازه fidelity برای هر مرحله، GCF v3.2 و ویرایشگر جابهجایی با کشیدن. → [فشردهسازی](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ رمزگشایی شفاف MITM (TPROXY)** — CLIهای capture که متغیرهای محیطی proxy را نادیده میگیرند، با CA اختصاصی برای هر SNI و نصبکننده trust-store. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 تلهمتری هزینه در همهجا** — هدرهای هزینه/مصرف `X-OmniRoute-*` در همه endpointها، هدر صرفهجویی ناشی از cache-HIT و سهمیههای هزینه USD برای هر کلید. → [مرجع API](docs/reference/API_REFERENCE.md)
- **🧠 حافظه تحت کنترل شما** — بهصورت پیشفرض خاموش است؛ quantization برداری int8 و زوال نوعدار بهصورت اختیاری فعال میشوند و `x-omniroute-no-memory` برای هر درخواست در دسترس است. → [حافظه](docs/frameworks/MEMORY.md)
- **🛡️ امنیت** — محافظ prompt-injection در هر مسیر LLM (مجموعه red-team)، محافظ اختیاری masking اعتبارنامه (حذف API keyها و secretهای افشاشده در هر دو جهت)، جستوجوی وب رایگان DuckDuckGo بهعنوان آخرین راهحل و دروازه ورود اختیاری OIDC برای داشبورد (ورود با گذرواژه همیشه در دسترس میماند). → [محافظها](docs/security/GUARDRAILS.md)
- **🖼️ endpointهای جدید** — `/v1/ocr` (Mistral OCR) و `/v1/audio/translations` (سبک Whisper) سطح قابلیتهای رسانهای را کامل میکنند. → [مرجع API](docs/reference/API_REFERENCE.md)
- **🎨 تولید تصویر / ویدئو / صدا** — یک API برای رسانه: xAI Grok Imagine و ویدئوی Novita AI، ComfyUI، Magnific، Adobe Firefly، Segmind و providerهای گفتار مانند ElevenLabs. → [مرجع API](docs/reference/API_REFERENCE.md)
- **🌍 استقرار و عملیات** — `basePath` برای reverse-proxy، تشخیص خودکار زبان مرورگر، ردیابی دستگاه برای هر کلید، اعتماد MITM بدون root و بومیسازی zh-TW. → [محیط](docs/reference/ENVIRONMENT.md)
- **🤝 providerها و agentهای بیشتر** — agentهای ابری (Codex Cloud، Cursor، Devin، Jules)، Grok Build (xAI) با مرورگر و ورود OAuth، کارت اختصاصی Ollama، Claude Opus 5 و Sonnet 5، همکاری رسمی Kimi (Code/Web/Moonshot)، Zed، Requesty، SenseNova، Yuanbao، Agnes AI… و کاتالوگ بهروزشده **۳۸۸ provider**. → [Providerها](docs/reference/PROVIDER_REFERENCE.md)
- **📡 شفافیت مسیریابی** — هر پاسخ یک هدر `X-OmniRoute-Decision` دارد که strategy/provider/latency ارائهدهنده آن را مشخص میکند؛ یک strategy ترکیبی جدید با نام `cache-optimized` بههمراه عامل `cacheAffinity` در Auto-Combo، درخواستهای تکراری را به اتصالی که prefix کششده را در اختیار دارد بازمیگرداند؛ و endpoint فقطخواندنی `/v1/auto-combo/{channel}/candidates` مجموعه کاندیداهای زنده یک channel از نوع `auto/*` را نمایش میدهد. → [ترکیب خودکار](docs/routing/AUTO-COMBO.md)
- **⚡ عملکرد محلی و زیرساخت** — راهاندازی Redis محلی با یک کلیک، استقراردهندههای رله برای Cloudflare Workers / Deno Deploy، و Bifrost و Mux بهعنوان سرویسهای تعبیهشده تحت نظارت. → [سرویسهای تعبیهشده](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 همچنین در بسته** — چارچوب افزونه + بازارچه، چارچوبهای مهارت Omni/Agent/GitHub، یکپارچهسازی با مخزن Obsidian (۲۲ ابزار MCP)، APIهای Batch و Files سازگار با OpenAI، حافظهٔ نهان معنایی پاسخ، بازیوارسازی با جدولهای رتبهبندی، کشف عامل ACP (۱۵ عامل داخلی)، صدور زمانبندیشدهٔ گزارشها به BigQuery، توزیع موازی چندمدلی `auto/chaos`، پل ربات Telegram، مدیر نسخهٔ درونبرنامهای و رتبهبندی ارائهدهندگان رایگان LMArena-ELO. → [مستندات](docs/README.md)
## 🤖 رابطهای خط فرمان و عاملهای کدنویسی سازگار
> یک پیکربندی — `http://localhost:20128/v1` — و **تمام** IDEها یا CLIهای هوش مصنوعی با مدلهای رایگان و کمهزینه اجرا میشوند.
+ همچنین سازگار با · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · هر ابزار سازگار با OpenAI
📖 راهاندازی جداگانه برای هر ابزار (برای هر ۳۹ ابزار: ۲۸ ابزار CLI Code + ۱۱ عامل CLI) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 افزونه OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**هر CLI پشتیبانیشده را تنها با یک فرمان از طریق OmniRoute اجرا کنید** — بدون نیاز به نوشتن فایل پیکربندی،
اعتبارنامهها به صورت جداگانه برای هر پردازش تزریق میشوند، Qwen/Gemini یک home ایزوله و موقت دریافت میکنند:
```bash
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# یا ارائهدهنده و مدل را به صورت تعاملی انتخاب کنید و پیکربندی اختصاصی ابزار را بنویسید:
omniroute configure codex # همچنین: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
هر فرمان به context فعال remote (`omniroute connect `) احترام میگذارد، `--dry-run`
پیشنمایشی از محیط و آرگومانها بدون اجرا ارائه میدهد، و `--api-key-env NAME` کلیدهای محرمانه را
از تاریخچه shell شما دور نگه میدارد. → [ادغامهای CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 ارائهدهندهٔ هوش مصنوعی — 153 مورد علامتگذاریشده بهعنوان رایگان در کاتالوگ
> **388 ارائهدهندهٔ ثبتشده** در مجموعههای مرجع گفتوگو، رسانه، جستوجو، محلی، عامل ابری و سیستم؛ از جمله **153 ارائهدهنده که متادیتای شناسایی `hasFree: true` را دارند**. رجیستری مدلهای گفتوگو شامل **239 ارائهدهنده / 3,059 جفت متمایز ارائهدهنده-مدل / 1,475 شناسهٔ خام مدل** است؛ کاتالوگ جداگانهٔ بودجهٔ رایگان نیز دارای **471 ردیف برای هر مدل**، **34 استخر تکرارشونده** و **52 ارائهدهندهٔ رایگان همیشگیِ تکرارشونده/بدون کلید** است. اینها عمداً مخرجهای متفاوتی هستند؛ تعریفها و محاسبات حذف تکرار بر اساس استخر در [مرجع ارائهدهندگان](docs/reference/PROVIDER_REFERENCE.md) و [سطوح رایگان](docs/reference/FREE_TIERS.md) قرار دارند.
### 🏢 همهٔ آزمایشگاههای بزرگ — از طریق یک نقطهٔ پایانی
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…و 350+ مورد دیگر — همهٔ آیکونها بهصورت زنده از کاتالوگ ارائهدهندگان داشبورد بارگذاری میشوند. 📖 [مرجع ارائهدهندگان](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 رایگان همیشگی — $0، بدون کارت بانکی
OpenCode Zen DeepSeek V4، Nemotron 3 بدون سقف توکن
Kilo Code مسیریاب خودکار، Tencent Hy3 رایگان همیشگی
Requesty GPT-OSS 120B، Nemotron رایگان همیشگی
SiliconFlow DeepSeek V3.2 / R1 سطح رایگان
Z.AI GLM GLM-4.7 / 4.5-Flash رایگان همیشگی
Baidu ERNIE ERNIE 4.0 رایگان همیشگی
Qoder AI Qwen3-Max، Kimi-K2 رایگان نامحدود
Pollinations GPT، Llama، Claude بدون نیاز به کلید
Cloudflare AI بیش از ۵۰ مدل ۱۰ هزار نورون در روز
NVIDIA NIM GLM، MiniMax حدود ۴۰ RPM رایگان
Cerebras GLM 4.7، GPT-OSS اعتبار ۵ دلاری یکباره؛ کارت الزامی است
OpenRouter مدلهای :free +۱۰ دلار → RPM بالاتر
📖 کاتالوگ کامل و قابلخواندن برای ماشین → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Where OmniRoute Runs - هر جا
> همان برنامه، دستگاه شما، قوانین شما. از نصب جهانی npm تا** گوشی شما** از طریق Termux
پلت فرم
نصب
نکات
📦 npm (جهانی)
npm نصب -g omniroute
یک دستور، هر OS
⚡ Bun (جهانی)
bun افزودن -g omniroute
همان رجیستری تربال، نصب سریعتر
🐳 Docker
diegosouzapw/omniroute
AMD64 + ARM64
🖥️ رومیزی (Electron)
npm اجرا الکترون: ساخت
سینی سیستم پنجره بومی + — Windows / macOS / Linux
🎩 منو نوار (OmniRouteTray)
brew install --cask zoispag/tap/omniroute-tray
نظارت & سرور را بهروزرسانی خودکار میکند — macOS
💪 ARM
native arm64
رزبری پای، سرورهای ARM ، Apple Silicon
📱 اندروید (Termux)
pkg نصب nodejs && npx -y omniroute
روی گوشی شما اجرا می کند , 24/7, بدون root
📲 PWA
"افزودن به صفحه اصلی"
تمام صفحه، آفلاین، قابل نصب از مرورگر
🧩 OpenCode
@omniroute/opencode-provider
OpenCode بومی
🤖 VS کد Copilot چت
نصب OmniCopilot پسوند
هر مدل OmniRoute در انتخابگر چت بومی Copilot — پایدار & خودی
> بدون نوار کناری جدید، بدون چت جدید UI - هر مدلی که OmniRoute سرویس میدهد درست در آن نشان داده میشود** انتخابگر مدل چت Copilot که قبلاً استفاده میکنید** . از کد VS 1.122، مدلهای ارائهدهنده بدون ورود به سیستم GitHub یا اشتراک Copilot - حالت عامل، تماس ابزار و دید، به صورت رایگان کار میکنند.
را نصب کنید** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** برنامه افزودنی، آن را به سمت سرور OmniRoute خود قرار دهید (به طور پیش فرض روی `localhost:20128`)، سپس Copilot Chat را باز کنید → model picker →** مدیریت مدل ها…** →**OmniRoute** .
از داخل ویرایشگر: باز کنید** برنامه های افزودنی** مشاهده، جستجو** "OmniRoute"** ، کلیک کنید** نصب کنید** - در هر دو فروشگاه یکسان کار می کند. منبع، مسائل و رانبوک انتشار زنده در [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [VS کد Copilot راهنمای چت](docs/guides/VSCODE-COPILOT.md) - راهاندازی، آنچه انتخابگر نشان میدهد، داشبورد در یک تب، عیبیابی
### 🎩 جدید: OmniRouteTray - دروازه شما، زندگی در نوار منو
> `omniroute serve` زمانی که همیشه روشن است خوشحال است.** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** آن را به یک برنامه نوار منوی تنظیم و فراموش کردن برای macOS تبدیل میکند: سرور را راهاندازی میکند، آن را در طول راهاندازی مجدد زنده نگه میدارد، آن را در جای خود بهروزرسانی میکند و بودجه رمز زنده شما را با یک کلیک دورتر میکند -** بدون پنجره ترمینال باز مانده است، هیچ `npm install -g omniroute` برای نگهداری از کودکان وجود ندارد.**
ساخته شده با [Tauri v2](https://v2.tauri.app/) (هسته Rust به اندازه یک خطای گرد کردن)، زمان اجرا Node 24 امضا شده خود را ارسال می کند و نصب OmniRoute متعلق به برنامه را مدیریت می کند، بنابراین هرگز با `node`/`bun` جهانی شما مبارزه نمی کند. آن را** پیکربندی `~/.omniroute/` و پایگاه داده موجود شما را به اشتراک می گذارد** - پس همان OmniRoute است که قبلاً می دوید، فقط با یک کلاه. 🎩
چه می کند
چگونه
🟢 بر سرور نظارت میکند
omniroute خدمت را ایجاد میکند، به جای کپی کردن
یک نمونه از قبل در حال اجرا را اتخاذ میکند.
📊 استفاده زنده در یک نگاه
نوارهای سهمیه ارائه دهنده، محدودیت Claude session/weekly با شمارش معکوس بازنشانی، تفکیک هزینه 30 روزه
🔄 بهروزرسانیهای خودکار در محل
نصب مرحلهای، تعویض اتمی، برگشت در صورت شکست - همیشه در جدیدترین نسخه
🚀 شروع در ورود
راه اندازی اختیاری در هنگام ورود. فقط سینی، بدون داک آیکون
🩺 Doctor & logs
تشخیص با یک کلیک و دسترسی به گزارش سرور
```sh
brew install --cask zoispag/tap/omniroute-tray
```
دانلود را ترجیح می دهید؟ جدیدترین .dmg را بگیرید
را منتشر می کند. منبع، مسائل و ساخت
اسناد در zoispag/omniroute-tray زندگی می کنند.
💛 یک پروژه اجتماعی توسط @zoispag — یک نسخه رسمی OmniRoute نیست.
> فراتر از سرور، OmniRoute یک **مرکز کنترل کامل خط فرمان** با **بیش از 80 فرمان** است و در کنار آن، پروتکلهای باز عامل را ارائه میدهد تا یک عامل هوش مصنوعی بتواند **بهطور مستقل** آن را کنترل کند.
### ⌨️ یک رابط خط فرمان واقعی (نه فقط `start`)
```bash
omniroute # اجرای درگاه + داشبورد (پورت 20128)
omniroute chat # کلاینت گفتوگوی تعاملی TUI (دستورهای اسلش: /model /combo /skill /memory)
omniroute setup # راهانداز هدایتشده برای نخستین اجرا
omniroute doctor # عیبیابی ارائهدهندگان، پورتها و وابستگیهای بومی
```
### 🛰️ حالت راه دور — رابط خط فرمان را اینجا و OmniRoute را روی یک VPS اجرا کنید
OmniRoute روی یک سرور است؟ آن را از لپتاپ خود با **همان رابط خط فرمان** کنترل کنید. کافی است یکبار
با یک توکن دسترسی دارای دامنه وارد شوید؛ پس از آن، همه فرمانها سرور راه دور را هدف میگیرند.
```bash
omniroute connect 192.168.0.15 # گذرواژه ← توکن دارای دامنه، ذخیرهشده بهعنوان یک زمینه
omniroute models # ← روی سرور راه دور اجرا میشود
omniroute configure codex # ← یک مدل راه دور را انتخاب و یک پروفایل محلی Codex ایجاد میکند
omniroute tokens create --name ci --scope read # ایجاد توکنهایی با دسترسی محدودتر برای دستگاههای دیگر
omniroute contexts use default # ← بازگشت به سرور محلی
```
توکنها دارای دامنههای `read` / `write` / `admin` هستند؛ مسیرهایی که فرایند اجرا میکنند، فقط به loopback محدود میمانند.
📖 [حالت راه دور](docs/guides/REMOTE-MODE.md)
### 🤝 یک عامل متصل کنید — تا خود OmniRoute را کنترل کند
OmniRoute را از طریق **MCP**، **A2A**، یک **REST API**، **وبهوکها** یا یک **رابط خط فرمان راه دور** در دسترس قرار دهید — هر عامل توانمند (یا کد خودتان) کلیدهای کنترل تمام درگاه را به دست میآورد: مسیریابی، ارائهدهندگان، ترکیبها، حافظه نهان، فشردهسازی و حافظه — بهصورت خودکار. نقاط پایانی HTTP زیر در `http://localhost:20128` ارائه میشوند.
رابط
نقطه پایانی / فرمان
کاربرد
🧰 MCP (stdio)
omniroute --mcp
اتصال به Claude Desktop، Cursor یا هر کلاینت MCP
🌊 MCP (HTTP)
/api/mcp/stream
MCP راه دور — 110 ابزار، 33 دامنه (اعمال محدودیت اختیاری)، ردپای ممیزی کامل
📡 MCP (SSE)
/api/mcp/sse
انتقال جریانی MCP
🤝 A2A
/.well-known/agent.json
ارتباط عاملبهعامل، JSON-RPC 2.0 + SSE، با 6 مهارت
🌐 REST API
/v1/*
سازگار با OpenAI — گفتوگو، تعبیهها، تصاویر، صدا و OCR
🔔 وبهوکها
/api/webhooks
ارسال رویدادهای درخواست / سهمیه به Slack، Discord، Telegram یا هر URL
🛰️ رابط خط فرمان راه دور
omniroute connect
کنترل یک نمونه راه دور با توکنهای دسترسی دارای دامنه
```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)
## 🗜️ ذخیرهٔ ۱۵–۹۵٪ توکن — بهصورت خودکار
### 📖 نحوهٔ کار — خط لوله، معماری و محاسبهٔ صرفهجویی
ترکیب انباشتهٔ پیشفرض `RTK → Caveman` اجرا میشود. وقتی هر دو روی یک محمولهٔ ابزار/زمینه عمل میکنند، صرفهجوییها با هم ترکیب میشوند:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
بلوکهای کد، URLها، JSON و دادههای ساختاریافته **همیشه** توسط موتور نگهداشت محافظت میشوند.
> **وقتی چند توکن کار چندانی انجام نمیدهند، چرا از توکنهای زیاد استفاده کنیم؟** هر درخواست بهصورت **شفاف** از خط لولهٔ فشردهسازی OmniRoute عبور میکند — بدون نیاز به تغییر در کلاینت. اکنون این خط لوله یک **مجموعهٔ ۱۲ موتورهٔ ترکیبپذیر** است که بهترتیب اجرا میشوند و بر اساس ترکیب مسیریابی با هم تلفیق میشوند — با تکیه بر ایدههای [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).
### 🧱 پشتهٔ ۱۲ موتوره
موتورها بهترتیب خط لوله اجرا میشوند؛ هر موتور را میتوان بهصورت مستقل فعال/غیرفعال کرد و برای هر ترکیب پیکربندی نمود:
#
موتور
کاری که انجام میدهد
1
Session-Dedup
محتوای تکرارشده در نوبتهای مختلف را حذف میکند (مبتنی بر آدرس محتوا، بین نوبتها)
2
CCR
بلوکهای بزرگ را پشت نشانگرهای بازیابی بایگانی میکند تا در صورت نیاز دریافت شوند
3
Lite
حذف فاصلههای خالی اضافی و کوتاهسازی URL تصاویر (مبنای سبک با تأخیر کم)
4
RTK
فیلتر هوشمند نتایج ابزار، حذف موارد تکراری و کوتاهسازی (آگاه از فرمان)
5
Responses Tool Output
JSON با اولویت حفظ کامل + فشردهسازی محدود تشخیصی برای خروجیهای shell/patch/search/build (Responses API)
6
Headroom
فشردهسازی بدون اتلاف آرایههای JSON جدولی (حدود ۳۰٪) با استفاده از کُدک GCF همراهشده
7
Relevance
امتیازدهی استخراجی جملات بر اساس آخرین پرسوجوی کاربر
8
Caveman
فشردهسازی نثر مبتنی بر قواعد (حدود ۶۵–۷۵٪ در خروجی)
9
Aggressive
خلاصهسازی + کهنهسازی تدریجی نوبتهای قدیمی
10
LLMLingua-2
هرس معنایی ML با استفاده از MobileBERT ONNX — ایمن برای کد، ناهمگام
11
Ultra
هرس توکن اکتشافی با یک سطح اختیاری مدل کوچک (SLM)
12
OmniGlyph
رمزگذاری آزمایشی زمینه بهصورت تصویر برای Claude Fable 5 اندازهگیریشده روی خط مستقیم Anthropic؛ ترنسفورمرهای GPT 5.6 تا زمان دریافت رسیدهای ارائهدهنده همچنان در حالت fail-closed باقی میمانند. چهار پروفایل فشردهسازی (پیشفرض تهاجمی، متعادل، ایمن برای کدنویسی، passthrough) (تهاجمیترین؛ انتخابی)
بلوکهای کد، URLها و دادههای ساختاریافته **همیشه** بهصورت بایتبهبایت حفظ میشوند. **پیشتنظیمهای تککلیکی** موتورها را با هم ترکیب میکنند:
حالت
صرفهجویی
مناسب برای
🪶 Lite
~۱۵٪
پیشفرض ایمن و همیشهفعال
🪨 Standard (Caveman)
~۳۰٪
کدنویسی روزمره
⚡ Aggressive
~۵۰٪
نشستهای طولانی با ابزارهای متعدد
🔥 Ultra
~۷۵٪
بیشترین صرفهجویی
🧰 RTK
۶۰–۹۰٪
خروجی shell/test/build/git
🔗 Stacked (RTK → Caveman)
۷۸–۹۵٪
پرامپتهای ترکیبی + گزارشهای ابزار
**مثال واقعی — حالت Standard:**
> **قبل (۶۹ توکن):** _"دلیل رندر مجدد کامپوننت React شما احتمالاً این است که در هر چرخهٔ رندر یک مرجع شیء جدید ایجاد میکنید. وقتی یک شیء درونخطی را بهعنوان prop ارسال میکنید، مقایسهٔ سطحی React هر بار آن را شیئی متفاوت میبیند و همین باعث رندر مجدد میشود. پیشنهاد میکنم برای یادسپاری شیء از useMemo استفاده کنید."_
>
> **بعد (۱۹ توکن):** _"مرجع شیء جدید در هر رندر. prop شیء درونخطی = مرجع جدید = رندر مجدد. آن را در useMemo قرار دهید."_
>
> **همان پاسخ. ۷۲٪ توکن کمتر. بدون هیچ افت دقتی.** ✅
**مثال PT-BR — حالت [Troglodita](https://github.com/leninejunior/troglodita):**
> **قبل (42 توکن):** _«مشکل این است که کامپوننت دوباره رندر میشود، چون در هر چرخهٔ رندر یک مرجع جدید برای شیء ایجاد میشود. پیشنهاد میکنم از useMemo استفاده کنید.»_
>
> **بعد (12 توکن):** _«بازرندر: مرجع جدید در هر چرخه (شیء درونخطی بازایجاد میشود). استفاده از `useMemo`.»_
>
> **همان پاسخ. حدود ۷۰٪ توکن کمتر. دقت فنی دستنخورده.** ✅
### 🎚️ فراتر از موتورها — سبکهای خروجی، پیچ تنظیم تطبیقی و کنترل هر درخواست
۱۲ موتور بالا، آنچه را **وارد** میشود کوچکتر میکنند. سه لایهٔ دیگر شکل میدهند که چه چیزی **چگونه**، **چه زمانی** و به چه صورتی **خارج** شود:
- **🪄 سبکهای خروجی** _(هدایت محور خروجی)_ — دستورالعملهای قطعی و سازگار با کش را برای شکلدهی پاسخ تزریق میکنند؛ قابل ترکیب هستند و هرکدام شدت `lite` / `full` / `ultra` دارند. افزودن یک سبک، تنها به یک ورودی در رجیستری نیاز دارد:
- **نثر مختصر** — حذف عبارتهای زائد، حروف تعریف و تردید؛ حفظ دقیق محتوای فنی.
- **کد کمتر** — رویکرد YAGNIِ «برنامهنویس ارشد تنبل»: کوچکترین تغییرِ کارآمد، بدون زیرساخت اضافیِ درخواستنشده.
- **دماسبی (برنامهنویس ارشد تنبل)** — بالا رفتن از نردبان YAGNI، رفع علت ریشهای، کوچکترین تفاوتِ کارآمد.
- **من ADHD دارم (اول اقدام)** — اقدام بعدی در ابتدا، مراحل شمارهگذاریشده، یک گام بعدی مشخص و بدون مقدمه.
- **CJK مختصر (文言)** — سبک فوقمختصر چینی کلاسیک (محدود به locale `zh`).
- **🎯 بودجهٔ تطبیقی زمینه** _(پیچ تنظیم)_ — بهجای یک آستانهٔ توکن روشن/خاموش، فقط تا حد لازم، ارزانترین و کماتلافترین موتورها را فعال میکند تا در **پنجرهٔ زمینهٔ مدل** جا شود. سیاست: `reserve-output` (پیشفرض، آگاه از مدل) · `percentage` · `absolute`. حالت: `floor` (تضمین جا شدن) · `replace-autotrigger` (انتخاب صریح شما برنده است) · `off` (آستانهٔ قدیمی).
- **🎛️ محل تصمیمگیری فشردهسازی** _(اولویت، از زیاد به کم)_ — هدر `x-omniroute-compression` در هر درخواست › بازنویسی ترکیب مسیریابی › پروفایل نامگذاریشدهٔ فعال › فعالسازی تطبیقی / خودکار › پیشفرض پنل › خاموش. طرح اعمالشده در هدر پاسخ `X-OmniRoute-Compression: ; source=` بازتاب داده میشود.
فعالسازی خودکار بر اساس آستانهٔ توکن، تغییر وضعیت با پیچ تنظیم تطبیقی، تثبیت یک پروفایل نامگذاریشده، تنظیم یکباره برای هر درخواست یا اختصاص یک خط لوله به هر ترکیب مسیریابی — هرکدام که با بار کاری سازگار باشد. یک **چارچوب ارزیابی** آفلاین و اختیاری (`npm run eval:compression`) پیش از انتشار تغییر، وفاداری در برابر صرفهجویی را روی یک پیکرهٔ ثابت امتیازدهی میکند.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ شروع سریع
**۱) نصب و اجرا**
```bash
npm install -g omniroute
omniroute
```
> 💡 هشدارهای `npm warn ERESOLVE` یا هشدارهای وابستگی همتا را میبینید؟ [بیضرر هستند](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **از npm 11 یا نسخههای جدیدتر استفاده میکنید؟** npm ممکن است اسکریپتهای چرخهٔ حیات بسته را مسدود کند، مگر اینکه اجازهٔ اجرای آنها داده شود. `postinstall` مربوط به OmniRoute (`node scripts/build/postinstall.mjs`) برای آمادهسازی فایلهای زمان اجرای بومی آن ضروری است. هنگام نصب سراسری، به بستههایی که در هشدار npm نام برده شدهاند اجازه دهید. برای مجموعهٔ بستههای گزارششده توسط 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
> ```
>
> فهرست وابستگیها ممکن است بین نسخهها تغییر کند؛ اگر npm فهرست متفاوتی گزارش کرد، از نام بستههای موجود در همان هشدار استفاده کنید. اجازه دادن به یک بسته، اجرای اسکریپتهای نصب آن را مجاز میکند.
> **از Gemini Web یا ارائهدهندهٔ دیگری مبتنی بر کوکی وب استفاده میکنید؟** بستهٔ npm شامل
> Playwright است، اما باینری Chromium آن را ندارد. پیش از ارسال نخستین درخواست به ارائهدهندهٔ وب، یادداشت
> [راهاندازی Chromium در Playwright](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> را ببینید.
داشبورد در `http://localhost:20128` · API در `http://localhost:20128/v1`.
**۲) اتصال به یک ارائهدهندهٔ واجد شرایط با حساب خودتان**
داشبورد → **ارائهدهندگان** → ارائهدهندهای را انتخاب کنید که شرایط فعلی و سهمیهٔ آن با مورد استفادهٔ شما سازگار باشد → کلید API آن را اضافه کنید یا فرایند حساب کاربریاش را تکمیل کنید. سطوح رایگان ممکن است به ثبتنام، تأیید یا روش پرداخت نیاز داشته باشند. [راهنمای سطوح رایگان](docs/getting-started/FREE-TIERS-GUIDE.md) را بررسی کنید؛ دسترسی بدون کلید تضمینشده نیست و ارائهدهندگانی که با `tos: avoid` علامتگذاری شدهاند، بهطور پیشفرض از `auto` کنار گذاشته میشوند.
**۳) اشاره دادن ابزار کدنویسی**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**۴) بررسی عملکرد**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
باید مدلهای متصلشدهٔ خود را در فهرست ببینید. 🎉 همین است — کدنویسی را شروع کنید و OmniRoute برای شما بهطور خودکار مسیریابی و بازگشت به گزینهٔ جایگزین را انجام میدهد.
اگر کلاینت شما نمیتواند هدرهای سفارشی ارسال کند، OmniRoute همچنین نامهای مستعار سازگار با توکن را ارائه میدهد:
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
این موارد را فقط برای کلاینتهایی استفاده کنید که نمیتوانند `Authorization: Bearer ...` را پیوست کنند. احراز هویت با هدر همچنان حالت ترجیحی است.
## 📦 روشهای بیشتر نصب — Docker، کد منبع، pnpm، Arch
**🐳 Docker**
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
`:latest` بالاترین نسخهٔ پایدار SemVer **منتشرشده** را دنبال میکند. این برچسب git `main` را دنبال نمیکند. برای GitOps، نسخه را روی `:X.Y.Z` ثابت کنید. به [کانالهای انتشار Docker](docs/guides/DOCKER_GUIDE.md#release-channels) مراجعه کنید. ایمیج مقدار **`OMNIROUTE_MEMORY_MB=1024`** را ثابت تنظیم میکند. این مقدار برای داشبورد و یک گفتوگوی سبک کافی است. **عاملهای کدنویسی** (`POST /v1/responses` از Claude Code، Codex، Grok و …) به heap بسیار بزرگتری برای V8 نیاز دارند؛ در غیر این صورت، با دو context طولانی همپوشان، پردازش در حدود ۱۲ گیگابایت با `FATAL ERROR` مواجه میشود. اندازهٔ کانتینر را بیشتر از heap در نظر بگیرید (بافرهای native خارج از V8 قرار دارند):
| بار کاری | Heap (`-e OMNIROUTE_MEMORY_MB`) | کانتینر (`--memory`) |
| -------------------------------- | ------------------------------- | -------------------- |
| داشبورد / گفتوگوی سبک | `1024` (پیشفرض ایمیج) | ≥2 g |
| یک عامل کدنویسی | `8192` | ≥10 g |
| دو `/v1/responses` طولانی همزمان | `10240`–`12288` | ≥12–16 g |
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
جدول کامل: [راهنمای Docker — RAM زمان اجرا](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **کانال پیشانتشار Docker:** برچسبهای `diegosouzapw/omniroute:next` و
> `diegosouzapw/omniroute:next-web` شاخهٔ پیشفرض فعلی `release/v*` را
> دنبال میکنند. این برچسبهای تغییرپذیر فقط برای آزمایش اصلاحات منتشرنشده در نظر گرفته شدهاند و
> **برای محیط production پشتیبانی نمیشوند**. به
> [کانالهای انتشار Docker](docs/guides/DOCKER_GUIDE.md#release-channels) مراجعه کنید.
**🥟 Bun**
دستور استاندارد `bun install` و نصب سراسری (`bun install -g omniroute`) از طریق تشخیص runtime مربوط به Bun پشتیبانی میشوند:
- **`bun:sqlite` داخلی**: هنگام اجرا تحت Bun، OmniRoute از درایور داخلی `bun:sqlite` متعلق به Bun استفاده میکند و در Node.js یا `sql.js` به `better-sqlite3` بازمیگردد.
- **انتخاب خودکار bundler مبتنی بر Webpack در محیط توسعه**: محیط توسعه (`bun run dev`) بهطور خودکار Bun را تشخیص میدهد و برای جلوگیری از ناسازگاریهای binding بومی V8، Turbopack را به نفع Webpack غیرفعال میکند. buildهای production (`bun run build`) دقیقاً مانند Node از `OMNIROUTE_USE_TURBOPACK` پیروی میکنند: بهصورت پیشفرض Turbopack و با `OMNIROUTE_USE_TURBOPACK=0`، ساخت با Webpack انجام میشود (`Dockerfile.bun` آن را بهصورت یک `--build-arg` ارائه میکند).
- **Dockerfile اختصاصی Bun**: فایل چندمرحلهای `Dockerfile.bun` برای استقرارهای production بومی Bun (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# نصب و اجرا با Bun
bun install
bun run dev
```
**🛠️ از کد منبع**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux (AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix (Flake)**
```bash
# استفاده از Nix flakes
nix develop
npm run dev
# یا استفاده از devbox
devbox run npm run dev
```
📖 [راهنمای Docker](docs/guides/DOCKER_GUIDE.md) — پروفایلهای Compose، Caddy HTTPS و tunnelهای Cloudflare.
**🦭 Podman**
```bash
# ۱. دایرکتوری دادهٔ bind-mounted را آماده کنید
mkdir -p data
# ۲. فقط Linux + Podman محلی و rootless (هرگز یک کلاینت remote از Podman Machine نباشد):
podman unshare chown 1000:1000 ./data
# ۳. راهنمای runtime را تنظیم کنید، ایمیج محلی Compose را بسازید و اجرا کنید
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
در macOS یا Windows، Podman از یک Podman Machine از راه دور استفاده میکند: از `podman unshare` صرفنظر کنید و
[راهنمای دایرکتوری داده متناسب با توپولوژی](contrib/podman/README.md#data-directory-permissions-by-topology) را دنبال کنید.
📖 [راهنمای Podman](contrib/podman/README.md) — ساختهای Compose، Podman Machine و
راهاندازی Quadlet در Linux/systemd.
**⚡ نصب سریعتر / سبکتر (صرفنظر از build بومی)**
موتور بومی SQLite (`better-sqlite3`) یک وابستگی **اختیاری** است؛ بنابراین نصب سراسری
هرگز منتظر کامپایل از کد منبع نمیماند: اگر binary ازپیشساختهشدهای با
پلتفرم/Node شما سازگار باشد، از آن استفاده میکند و در غیر این صورت، بهطور شفاف به یک موتور pure-JS
(`node:sqlite` در Node 22+، و در غیر این صورت `sql.js` WASM همراه بسته) بازمیگردد — بدون نیاز به ابزارهای build.
برای صرفنظر کامل از آمادهسازی بومی پس از نصب (در CI، محیطهای headless یا دستگاههای کند):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 نیز از آن صرفنظر میکند
```
برای سریعترین نصبها، **pnpm** را ترجیح دهید (ذخیرهسازی content-addressed + لینکهای سخت — بخش بالا را ببینید).
برای runtime بدون داشبورد و headless، از پروفایل Docker با نام `base` (در بالا) یا
[راهنمای Termux](docs/guides/TERMUX_GUIDE.md) استفاده کنید. CLI و داشبورد وب توسط
همان پردازش و روی یک پورت ارائه میشوند؛ بنابراین در حال حاضر بستهٔ جداگانهای فقط برای CLI وجود ندارد.
راهبرد پوشش آزمون برای بیش از ۶۰٬۰۰۰ اعلان آزمون ایستا در بیش از ۸٬۴۰۰ فایل آزمون پیگیریشده
# ⭐ مشارکتکنندگان برتر
> OmniRoute به دست جامعهای پرشور از متنباز شکل گرفته است. این افراد مشارکتهای استثنایی داشتهاند که مستقیماً بر کیفیت، پایداری و دامنه دسترسی پروژه تأثیر میگذارد. **سپاسگزاریم.**
### مشارکتکنندگان خارجی بر اساس pull requestهای ادغامشده
سرشماری در 2026-11-03 03:01:19 UTC با آخرین commit شاخه release/v3.8.53 یعنی 05bc048d6c انجام شده است. سرشماری صفحهبندیشده GitHub GraphQL شامل 9,947 PR ادغامشده است: 4,130 مورد توسط مالک مخزن، 240 مورد توسط Dependabot، 6 مورد توسط رباتها/برنامههای دیگر و 5,571 PR خارجی از سوی 883 مشارکتکننده متمایز. «خطوط تغییرکرده» مجموع افزودنها و حذفهای GitHub است و شامل فایلهای تولیدشده، lockfileها، کاتالوگها، ترجمهها و مستندات میشود؛ این مقدار نشاندهنده میزان تغییرات است، نه LOC نوشتهشده. در 53 PR، diffهای GitHub بیش از 500,000 خط گزارش کردهاند (برای نمونه #13399 که یک افزودن تکی provider است، 2,347 فایل تغییرکرده را فهرست میکند) و همین موضوع چندین مجموع بالا را افزایش داده است. رتبههای مساوی در کنار یکدیگر قرار گرفتهاند.
### commitهای منتسب به GitHub
آخرین بررسی در 2026-11-03 02:09:16 UTC: کامیتهای منتسب به GitHub که API مشارکتکنندگان مخزن برای شاخه پیشفرض release/v3.8.53 گزارش کرده است. این API تعداد 903 هویت را بازگرداند (429 کاربر، 2 ربات، 472 ناشناس)؛ این جدول نگهدارنده، رباتها و هویتهای ناشناس را حذف میکند و موارد مساوی در رتبهبندی را حفظ میکند. این جدول با رتبهبندی PRهای ادغامشده در بالا و سرشماری فراداده Git در پایین متفاوت است.
> 🙏 قابلیتها، رفع اشکالها و بهبودهای زیرساختی این مشارکتکنندگان، **بخش اصلی** چیزی است که OmniRoute را قابلاعتماد و سرشار از امکانات میکند. هر pull request، هر مورد آزمایشی و هر فایل ترجمه i18n اهمیت دارد. متنباز را افرادی مانند آنها میسازند.
---
## 💖 حامیان مالی
سپاسی صمیمانه از کسانی که هزینههای OmniRoute را از جیب خود تأمین میکنند — هر مشارکت کمک میکند پروژه رایگان، مستقل و پویا باقی بماند.
… و دیگرانی که ترجیح میدهند ناشناس بمانند 💛حامیان عمومی GitHub در تاریخ 2026-10-18 از طریق GitHub Sponsors GraphQL API دوباره اعتبارسنجی شدند: 11 حمایت مالی عمومی (6 فعال و 5 پیشین) از مجموع 14 مورد. وضعیت isActive در GitHub برچسبهای فعال بالا را تعیین میکند؛ همچنان از حامیان عمومی پیشین با پرداخت یکباره قدردانی میشود و حامیان خصوصی ناشناس باقی میمانند. کمکهای مالی Ko-fi، Buy Me a Coffee، Liberapay، PIX و رمزارزی فهرست نشدهاند، زیرا سابقهٔ عمومی حامی ندارند.💖 حامی مالی شوید ← — هر دلار کمک میکند OmniRoute رایگان و مستقل باقی بماند.
## 👥 بیش از ۱٬۰۰۰ مشارکتکننده
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
ممیزیشده در 2026-11-02 روی نوک زندهٔ release/v3.8.53 با مقدار 1c7135e0fb (7,972 commit): ۱٬۰۷۴ هویت انسانی نرمالشدهٔ Git — 759 مورد بهعنوان نویسندگان commit (از جمله نگهدارنده) ظاهر میشوند و 315 مورد فقط در trailerهای صریح Co-authored-by حضور دارند. این سرشماری .mailmap را اعمال میکند، آدرسهای ایمیل را بدون توجه به بزرگی و کوچکی حروف مقایسه میکند، آدرسهای عددی و معمول GitHub noreply را فقط زمانی به هم مرتبط میکند که یک handle یکسان را رمزگذاری کنند، 29 هویت ربات/عامل/سرویس/جایگزین را حذف میکند و آدرسهای ایمیل معمولی را صرفاً به دلیل یکسان بودن نام نمایشی ادغام نمیکند. ممیزی 2026-08-24 تعداد 639 مورد را منتشر کرد؛ اجرای دوبارهٔ این روش روی پایهٔ آن ممیزی، یعنی ac02c5b42f، تعداد 619 مورد را به دست میدهد؛ بنابراین افزایش حاصل مشارکتکنندگان جدید است، نه سهلگیرانهتر شدن روش.
### نحوهٔ مشارکت
1. مخزن را fork کنید
2. از نوک فعال `release/vX.Y.Z` (نه `main`) یک شاخه ایجاد کنید — به [مدل شاخهبندی و انتشار](docs/ops/BRANCHING_MODEL.md) مراجعه کنید
3. شاخهٔ قابلیت خود را ایجاد کنید (`git checkout -b feat/amazing-feature`)
4. تغییرات خود را commit کنید (`git commit -m 'feat: add amazing feature'`)
5. به شاخه push کنید (`git push origin feat/amazing-feature`)
6. یک Pull Request با **base = آن شاخهٔ `release/vX.Y.Z`** باز کنید
برای مشاهدهٔ دستورالعملهای کامل، به [CONTRIBUTING.md](CONTRIBUTING.md) مراجعه کنید.
### انتشار نسخهٔ جدید
```bash
# ایجاد یک انتشار — npm publish بهصورت خودکار انجام میشود
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 ستارهها
## 🌍 StarMapper
## 🙏 قدردانی
OmniRoute بر شانههای غولها ایستاده است. این پروژه بهعنوان یک فورک از **[9router](https://github.com/decolua/9router)** و یک پورت TypeScript از پروژه Go یعنی **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** آغاز شد — و از آنجا، هر زیرسیستم زیر از یک پروژه متنباز که زودتر به این مسیر رسیده بود الهام گرفت. هرکدام بخش مشخصی از OmniRoute را شکل دادند. این ادای تشکر ما از همه آنهاست. 🙏
> ⭐ شمارش ستارهها با استفاده از REST API گیتهاب در ۳ نوامبر ۲۰۲۶ تأیید شده است — بروید و به این پروژهها ستاره بدهید. این شمارشها یک تصویر لحظهای دقیق در تاریخی مشخص هستند و طبیعتاً تغییر خواهند کرد.
### 🧬 تبار و درگاه
درگاه هوش مصنوعی که مجموعهداده عمومی قیمتگذاری آن، همگامسازی ردیابی هزینه ما را تغذیه میکند و مدل نرمالسازی ارائهدهنده آن، الهامبخش مسیریابی ما بوده است.
الگوهای آن در بازیابی جریان، نامهای مستعار no-thinking، جستوجوی وب جایگزین، محدودیتهای پنجره لغزان، حذف دادههای حساس از لاگها و جریانهای راهانداز مقاوم بهکار گرفته شدند.
نگاشتهای مدل Grok، تولیدکننده Statsig با fake-TypeError، پیشفرضهای درخواست و دستگاه، و پردازشگر پاسخ NDJSON آن بهطور اساسی در اجراکننده Grok Webِ OmniRoute اقتباس شدند.
منبع زیربنایی MIT برای payload و پیشفرضهای دستگاه Grok، تولیدکننده Statsig و پردازشگر result.response که از طریق TQZHR و grok2api-merged منتقل شده است.
منبع انتقالی که grok2api-merged برای لایه استخر پراکسی به آن اعتبار میدهد؛ OmniRoute این اطلاعیه تبار را حفظ میکند، اما ادعایی درباره پورت استخر پراکسی در اجراکننده محدود Grok Web ندارد.
در طراحی بالادست HTTP/مرورگر آن، از پیادهسازی اصلی Grok Web مشورت گرفته شد؛ مسیر مستقیم HTTP آن از GrokProxy منشأ میگیرد، بنابراین ادعایی درباره پورت مستقل کد مطرح نمیشود.
پروژهٔ وایرال «چرا از توکنهای زیاد استفاده کنیم وقتی با توکنهای کم هم کار راه میافتد» — فلسفهٔ زبان غارنشینی آن، حالت فشردهسازی استاندارد ما و بیش از ۳۰ قانون پرکننده/تراکم را پشتیبانی میکند.
مهارت وایرال کدنویسی YAGNI برای «توسعهدهندهٔ ارشد تنبل» — الهامبخش سبک خروجی less-code ما بود: هدایت به سمت کوچکترین تغییرِ قابلاجرا که کد _تولیدشده_ را کاهش میدهد (همتای محور خروجیِ نثر موجز Caveman).
فشردهسازی خروجی آگاه از محتوا و مبتنی بر نوع فایل، همراه با صرفنظر از فشردهسازی در صورت شکست — توزیع بر اساس نوع و رد تغییرات با سود حداقلی را در طراحی ما اعتبارسنجی کرد.
JSON ستونی Rust، بازیابی مبتنی بر محتوا و حذف تکراری میان پیامها — طراحی موتورهای headroom/ccr/session-dedup ما و ناوردای پایدار نسبت به کشِ «شکل فشرده مستقل از موقعیت است» را اعتبارسنجی کرد.
رهگیری/تحلیل MITM ترافیک coding-assistant ↔ LLM، الزامات اولیهٔ Traffic Inspector را شکل داد. چهار ماژول که پیشتر از آن استخراج شده بودند — ادغام SSE، نرمالسازی مکالمه، پوشاندن اسرار و پاکسازی هدرها — با پیادهسازیهای مستقل و clean-room مبتنی بر استانداردهای عمومی پروتکل جایگزین شدهاند. دو سطح host-passthrough (passthrough.ts و _internal/bypass.cjs) همچنان پیادهسازیهای داخلی OmniRoute هستند که بهصورت مستقل دستهبندی شدهاند؛ این دو بهعنوان بخشی از آن جایگزینی بازنویسی نشدند.
فهرستی گزینششده از کتابخانههای امن بهصورت پیشفرض که انتخابهای امنیتی ما را هدایت میکند (Helmet.js، DOMPurify، ssrf-req-filter، safe-regex، Google Tink).
سطح سهمیهٔ Grok Build را شناسایی کرد؛ سپس OmniRoute قالب wire زنده را بهطور مستقل راستیآزمایی و اصلاح کرد.
## 📄 مجوز
مجوز MIT - برای جزئیات به [LICENSE](LICENSE) مراجعه کنید.
---
**[⬆ بازگشت به بالا](#-omniroute)** · با ❤️ برای جامعهٔ هوش مصنوعی متنباز ساخته شده است.
ساختهشده توسط Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · مجوز MIT · omniroute.online