> إن تجميع الخطط المجانية يدويًا أمر شاق — عشرات حزم SDK، وعشرات حدود المعدّل، ولا توجد طريقة لمعرفة مقدار ما تملكه فعليًا. يفهرس OmniRoute **489 إدخالًا ضمن الخطط المجانية عبر 35 مفتاحًا لمجموعات متكررة**، ويحسب إجمالي الرموز الرئيسي استنادًا إلى **17 مجموعة ذات ميزانية شهرية موجبة ومنشورة، بالإضافة إلى خمسة حدود Groq لكل نموذج**، مع إزالة التكرار حسب المجموعة المشتركة. تُعرض الحصص التي لا تتاح إلا بعد التحقق الإقليمي من الهوية (حاليًا: ModelScope) بشكل منفصل، وهي +~6 ملايين خلف التحقق الإقليمي من الهوية، ولا تُضاف مطلقًا إلى الإجمالي الرئيسي. وتظل النتيجة ظاهرة في لوحة المعلومات (`/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
# تثبيت جديد، بلا بيانات اعتماد — `auto` يعمل بالفعل:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
هل تفضل واجهة خلفية مجانية محددة؟ استدعِ `oc/…` (OpenCode Free) مباشرة. ثم انتقل إلى `auto` ودع OmniRoute يختار.📦 نصوص بدء سريعة للنسخ واللصق لـ **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 من الدرجة الأولى عبر المسارين: Kimi API المباشر (kimi-k3) وخطة البرمجة Kimi Code (OAuth ومفتاح API). يُعد OmniRoute أيضًا أول مشروع برازيلي مفتوح المصدر ضمن برنامج دعم Kimi. احصل على مفتاح Kimi API مع أرصدة إضافية بنسبة 15% ←
Cheaper Inference cheaperinference.com
شكرًا لـ Cheaper Inference، أحد أصدقاء OmniRoute في المصادر المفتوحة، على دعم هذا المشروع! Cheaper Inference هي بوابة مرتبة حسب التكلفة تعيد بيع 42 نموذجًا رياديًا — Claude وGPT-5.x وGemini وKimi K3 وGLM وDeepSeek وGrok وMiniMax — من خلال نقطة نهاية واحدة متوافقة مع OpenAI، وتوجّه كل طلب إلى أرخص مزود مؤهل من دون فرض تكلفة تتجاوز السعر المعلن من مطور النموذج.
دعم من الدرجة الأولى في OmniRoute: إكمالات المحادثة، ونقطة النهاية الأصلية /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 مجموعة افتراضية من المزوّدين المتصلين لديك، مع تقييم مباشر:
📊 المنهجية الكاملة والتفاصيل لكل ميزة مقارنة بـ 9router و OpenRouter و CLIProxyAPI و LiteLLM ← [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 ادعم OmniRoute
يخضع OmniRoute لترخيص MIT وتتم صيانته بشكل علني. إذا كان يوفر عليك الوقت أو المال، فإليك كيفية المساعدة في الحفاظ على استقلاليته — اختر ما يناسبك. لا تؤثر الرعاية مطلقًا في أولوية التوجيه؛ فهي تمنح الظهور، لا ترتيبًا أعلى.
⚠️ أرسل كل عملة عبر الشبكة الموضحة فقط — فقد يؤدي الإرسال عبر شبكة خاطئة إلى خسارة الأموال.
🐛 هل عثرت على خطأ أو لديك ملاحظات؟ افتح [نقاشًا](https://github.com/diegosouzapw/OmniRoute/discussions).
ملاحظات للمطورين: قد ينشئ المشروع ملف .env محليًا أثناء npm install/postinstall لتسهيل عمل المطورين. يُستبعد هذا الملف عمدًا عبر .gitignore (راجع .gitignore) ويجب عدم إدراجه في أي عملية حفظ تغييرات مطلقًا — وإذا أُدرج عن طريق الخطأ، فاستبدل أي أسرار مكشوفة واحذف الملف من السجل. راجع docs/DEVELOPER-ENVIRONMENT.md للحصول على إرشادات حول إدارة ملفات البيئة المحلية والأسرار.
## 📡 رادار OmniRoute
يظل العنوان الرئيسي للطبقة المجانية هو **~1.62 مليار رمز/شهريًا** من الكتالوج الموثّق أعلاه بعد إزالة التكرارات بين المجموعات. ويمكن لأرصدة التسجيل المؤقتة لدى مزوّدي الخدمة أن ترفع إجمالي الشهر الأول بشكل منفصل إلى **~2.22 مليار**. يُعد Radar تراكبًا اختياريًا وموقّعًا للكتالوج، مخصصًا لمن يريدون معلومات أحدث عن توافر النماذج المجانية بين إصدارات OmniRoute؛ ويظل كتالوج المجتمع وجميع الميزات المجانية الحالية مجانيًا.
يمكن للداعمين تلقي الكتالوج المباشر وفرص إضافية من مزوّدي الخدمة. ويبلغ حده الأقصى المنفصل والمتغير **نحو 3 مليارات رمز/شهريًا كحد أقصى**، وفقًا لتوافر مزوّدي الخدمة. وهذا الحد الأقصى ليس ضمانًا: إذ يمكن لمزوّدي الخدمة تغيير الحصص أو شروط الأهلية أو النماذج أو المناطق في أي وقت.
Radar اختياري ويستخدم طلبات GET فقط. لا يرفع عميل OmniRoute المطالبات أو بيانات حركة الاستخدام أو إعدادات مزوّدي الخدمة أو بيانات قياس الاستخدام عن بُعد أو حالة تجاهل الإعلانات المحلية. تعرّف على شروط الأهلية والكتالوج الحالي عبر **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ ما الجديد
> أبرز المستجدات الأخيرة من **v3.8.20 → v3.8.50**. السجل الكامل متوفر في [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — تفويض A2A الوارد إلى أسطول وكلائك، ومهارات Conductor على بطاقة الوكيل، ولوحة معلومات تتضمن دردشة صوتية بنظام الضغط للتحدث عبر Faro. → [خادم A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 القبول التكيفي والحماية من الحمل الزائد** — تُوضَع طلبات الدردشة الثقيلة في قائمة انتظار بدلًا من إرجاع الخطأ 503، مع عقود إيجار ذرّية متجددة لـ RPM لكل اتصال. → [دليل المرونة](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ الترتيب القياسي لـ `/v1/models`** — كتلة واحدة متصلة ومجمّعة حسب المزوّد لكل مزوّد (مع تثبيت التركيبات أولًا)، وثابتة عبر جميع مصادر الكتالوج. → [مرجع API](docs/reference/API_REFERENCE.md)
- **🗜️ تعزيز الضغط** — حارس افتراضي مفعّل للحماية من التضخيم، وحزم Caveman للألمانية / الفرنسية / اليابانية + الصينية (wényán)، ومرشحات RTK لـ Gradle و.NET. → [الضغط](docs/compression/COMPRESSION_ENGINES.md)
- **💸 تكلفة ثابتة صادقة** — تظهر تكلفة مزوّدي الاشتراكات / خطط البرمجة بقيمة **$0** في تحليلات التكلفة؛ بينما تستمر تقديرات الميزانية والحصة والتوجيه. → [مرجع API](docs/reference/API_REFERENCE.md)
- **⚖️ توجيه Quota-Share** — تقسيم حصة حساب مشترك بإنصاف بين المفاتيح المجمّعة، مع الحفاظ على كفاءة العمل بحيث تُعار الشرائح الخاملة للآخرين. → [دليل المرونة](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 إعداد CLI/الوكيل بأمر واحد** — 13 أمرًا مسجلًا من نوع `setup-*`؛ يشغّل `omniroute run` سبع أدوات CLI (Claude Code وCodex وAider وGoose وOpenCode وQwen Code وGemini CLI)؛ ويدعم `omniroute configure` عشرة أهداف مع أداة تفاعلية لاختيار المزوّد والنموذج، ومفضلات لكل سياق. → [تكاملات CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ الوضع البعيد** — تحكّم في OmniRoute بعيد باستخدام رموز مميزة محددة النطاق (`connect` / `contexts` / `tokens`) + مساعد OAuth باسم `antigravity` لعمليات التثبيت على VPS. → [الوضع البعيد](docs/guides/REMOTE-MODE.md)
- **🧭 توجيه تلقائي أكثر ذكاءً** — تركيبات `auto/:`، و**Fusion** (لوحة نماذج + حَكَم)، وتوجيه مدرك للمهمة، وتجاوزات لكل طلب للنموذج / الوضع / الميزانية بالدولار الأمريكي. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ ضغط قابل للتوسعة** — 12 محركًا قابلًا للتركيب + استوديوهات الضغط: LLMLingua-2، وUltra ثنائي المستوى، وomniglyph، وبوابة دقة لكل خطوة، وGCF v3.2، ومحرر لإعادة الترتيب بالسحب. → [الضغط](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ فك تشفير MITM شفاف (TPROXY)** — التقاط أدوات CLI التي تتجاهل متغيرات بيئة الوكيل، باستخدام سلطة شهادات لكل SNI + مثبّت لمخزن الثقة. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 قياس التكلفة في كل مكان** — ترويسات التكلفة/الاستخدام `X-OmniRoute-*` على كل نقطة نهاية، وترويسة توفير عند إصابة ذاكرة التخزين المؤقت، وحصص إنفاق بالدولار الأمريكي لكل مفتاح. → [مرجع API](docs/reference/API_REFERENCE.md)
- **🧠 ذاكرة تحت سيطرتك** — معطّلة افتراضيًا، مع تكميم متجهات int8 اختياري واضمحلال محدد النوع، و`x-omniroute-no-memory` لكل طلب. → [الذاكرة](docs/frameworks/MEMORY.md)
- **🛡️ الأمان** — حارس ضد حقن المطالبات على كل مسار LLM (مع حزمة اختبارات هجومية)، وحاجز حماية اختياري لإخفاء بيانات الاعتماد (ينقّح مفاتيح API/الأسرار المسرّبة في كلا الاتجاهين)، وبحث ويب مجاني عبر DuckDuckGo كملاذ أخير، وبوابة تسجيل دخول OIDC اختيارية للوحة المعلومات (يظل تسجيل الدخول بكلمة المرور متاحًا دائمًا). → [حواجز الحماية](docs/security/GUARDRAILS.md)
- **🖼️ نقاط نهاية جديدة** — تُكمل `/v1/ocr` (Mistral OCR) و`/v1/audio/translations` (بنمط Whisper) واجهة الوسائط. → [مرجع API](docs/reference/API_REFERENCE.md)
- **🎨 توليد الصور / الفيديو / الصوت** — واجهة API واحدة للوسائط: xAI Grok Imagine وNovita AI للفيديو، وComfyUI، وMagnific، وAdobe Firefly، وSegmind، ومزوّدو الكلام مثل ElevenLabs. → [مرجع API](docs/reference/API_REFERENCE.md)
- **🌍 النشر والعمليات** — `basePath` للوكيل العكسي، واكتشاف تلقائي للغة المتصفح، وتتبع الأجهزة لكل مفتاح، وثقة MITM بلا صلاحيات جذر، وتعريب zh-TW. → [البيئة](docs/reference/ENVIRONMENT.md)
- **🤝 مزيد من المزوّدين والوكلاء** — وكلاء سحابيون (Codex Cloud وCursor وDevin وJules)، وGrok Build (xAI) مع تسجيل الدخول عبر المتصفح + OAuth، وبطاقة متكاملة من الدرجة الأولى لـ Ollama، وClaude Opus 5 وSonnet 5، وشراكة Kimi الرسمية (Code/Web/Moonshot)، وZed، وRequesty، وSenseNova، وYuanbao، وAgnes AI… بالإضافة إلى **كتالوج محدّث يضم 352 مزوّدًا**. → [المزوّدون](docs/reference/PROVIDER_REFERENCE.md)
- **📡 شفافية التوجيه** — يحمل كل رد ترويسة `X-OmniRoute-Decision` التي تسمّي الاستراتيجية/المزوّد/زمن الاستجابة الذي خدمه، وتعيد استراتيجية التركيبات الجديدة `cache-optimized` + عامل `cacheAffinity` في Auto-Combo توجيه الطلبات المتكررة إلى الاتصال الذي يحتفظ بالبادئة المخزنة مؤقتًا، كما تكشف نقطة النهاية للقراءة فقط `/v1/auto-combo/{channel}/candidates` عن مجموعة المرشحين الحية لقناة `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ الأداء والبنية التحتية محليًا** — Redis محلي بنقرة واحدة، وأدوات نشر مرحّلات Cloudflare Workers / Deno Deploy، وBifrost وMux كخدمات مضمنة خاضعة للإشراف. → [الخدمات المضمّنة](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 ومضمّن أيضًا** — إطار عمل للإضافات + سوق، وأطر عمل مهارات Omni/Agent/GitHub، وتكامل خزنة Obsidian (22 أداة MCP)، وواجهات Batch وFiles المتوافقة مع OpenAI، وذاكرة تخزين مؤقت دلالية للاستجابات، وتحفيز قائم على اللعب مع لوحات صدارة، واكتشاف وكلاء ACP (15 وكيلًا مضمّنًا)، وتصدير مجدول للسجلات إلى BigQuery، وحقن الأعطال عبر `auto/chaos`، وجسر لبوت Telegram، ومدير إصدارات داخل التطبيق، وتصنيفات LMArena-ELO للمزوّدين المجانيين. → [التوثيق](docs/README.md)
## 🤖 واجهات سطر الأوامر ووكلاء البرمجة المتوافقون
> إعداد واحد — `http://localhost:20128/v1` — ويعمل **كل** محرر IDE أو واجهة سطر أوامر مدعومة بالذكاء الاصطناعي باستخدام نماذج مجانية ومنخفضة التكلفة.
+ يعمل أيضًا مع · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · أي أداة متوافقة مع OpenAI
📖 إعداد مخصص لكل أداة لجميع الأدوات الـ 36 (26 أداة CLI للبرمجة + 10 وكلاء CLI) ← [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 إضافة OpenCode ← [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**شغّل أي CLI مدعوم عبر OmniRoute بأمر واحد** — من دون كتابة ملفات إعداد،
مع حقن بيانات الاعتماد لكل عملية، وحصول Qwen/Gemini على مجلد رئيسي مؤقت ومعزول:
```bash
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # واجهة OpenAI Codex لسطر الأوامر
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# أو اختر المزوّد+النموذج تفاعليًا واكتب ملف إعداد الأداة نفسها:
omniroute configure codex # أيضًا: claude opencode qwen aider goose gemini cline continue kilo
```
يحترم كل أمر السياق البعيد النشط (`omniroute connect `)، ويعرض `--dry-run`
معاينة دقيقة لمتغيرات البيئة/الوسائط من دون تنفيذ، بينما يُبقي `--api-key-env NAME` الأسرار خارج
سجل أوامر الصدفة. ← [تكاملات CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 مزودًا للذكاء الاصطناعي — 152 منها مُصنَّفة في الدليل على أنها مجانية
> **357 مزودًا مسجلًا** عبر المجموعات القياسية للدردشة والوسائط والبحث والتشغيل المحلي ووكلاء السحابة والنظام، منها **152 تحمل بيانات الاكتشاف الوصفية `hasFree: true`**. يشمل سجل نماذج الدردشة **229 مزودًا / 2,554 زوجًا مميزًا من المزود والنموذج / 1,283 معرّف نموذج أوليًا**؛ بينما يحتوي دليل الميزانية المجانية المنفصل على **491 صفًا لكل نموذج**، و**35 حصة مشتركة متكررة**، و**54 مزودًا مجانيًا دائمًا بحصص متكررة أو من دون مفاتيح**. صُممت هذه المقامات لتكون مختلفة؛ وتتوفر التعريفات والحسابات التي أزيل منها تكرار الحصص المشتركة في [مرجع المزودين](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
…وأكثر من 330 مزودًا آخر — يُحمَّل كل رمز مباشرةً من دليل المزودين في لوحة المعلومات. 📖 [مرجع المزودين](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 مجاني إلى الأبد — $0، من دون بطاقة
OpenCode Zen DeepSeek V4, Nemotron 3 دون حد للرموز
Kilo Code موجّه تلقائي، Tencent Hy3 مجاني إلى الأبد
Requesty GPT-OSS 120B, Nemotron مجاني إلى الأبد
SiliconFlow DeepSeek V3.2 / R1 فئة مجانية
Z.AI GLM GLM-4.7 / 4.5-Flash مجاني إلى الأبد
Baidu ERNIE ERNIE 4.0 مجاني إلى الأبد
Qoder AI Qwen3-Max, Kimi-K2 مجاني بلا حدود
Pollinations GPT, Llama, Claude لا حاجة إلى مفتاح
Cloudflare AI أكثر من 50 نموذجًا 10 آلاف عصبون/يوم
NVIDIA NIM GLM, MiniMax نحو 40 طلبًا في الدقيقة مجانًا
Cerebras GLM 4.7, GPT-OSS 1M رمز/يوم
OpenRouter نماذج :free +$10 ← معدل طلبات أعلى في الدقيقة
📖 الكتالوج الكامل القابل للقراءة آليًا ← [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ أين يعمل OmniRoute — في أي مكان
> التطبيق نفسه، جهازك، قواعدك. من تثبيت npm عام إلى **هاتفك** عبر Termux.
المنصة
التثبيت
أبرز الميزات
📦 npm (عام)
npm install -g omniroute
أمر واحد، على أي نظام تشغيل
🐳 Docker
docker run … diegosouzapw/omniroute
متعدد المعماريات AMD64 + ARM64
🖥️ سطح المكتب (Electron)
npm run electron:build
نافذة أصلية + علبة النظام — Windows / macOS / Linux
🎩 شريط القوائم (OmniRouteTray)
brew install --cask zoispag/tap/omniroute-tray
يراقب الخادم ويحدّثه تلقائيًا — macOS
💪 ARM
arm64 أصلي
Raspberry Pi، وخوادم ARM، وApple Silicon
📱 Android (Termux)
pkg install nodejs && npx -y omniroute
يعمل على هاتفك على مدار الساعة، دون صلاحيات root
📲 PWA
«إضافة إلى الشاشة الرئيسية»
ملء الشاشة، والعمل دون اتصال، وقابل للتثبيت من المتصفح
🧩 ملحق OpenCode
@omniroute/opencode-provider
تكامل أصلي مع OpenCode
🤖 VS Code Copilot Chat
ثبّت إضافة OmniCopilot
كل نموذج OmniRoute في منتقي النماذج الأصلي لـ Copilot Chat — الإصدار المستقر وInsiders
### 🧩 جديد: OmniRoute داخل Copilot Chat الأصلي في VS Code
> لا شريط جانبي جديد ولا واجهة دردشة جديدة — يظهر كل نموذج يقدّمه OmniRoute مباشرةً في
> **منتقي نماذج Copilot Chat الذي تستخدمه بالفعل**. منذ VS Code 1.122، تعمل نماذج الموفّرين
> دون تسجيل الدخول إلى GitHub أو الاشتراك في Copilot — وضع الوكيل، واستدعاء الأدوات، والرؤية،
> مجانًا.
ثبّت إضافة **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**، ووجّهها
إلى خادم OmniRoute لديك (الإعداد الافتراضي هو `localhost:20128`)، ثم افتح Copilot Chat ← منتقي النماذج
← **إدارة النماذج…** ← **OmniRoute**.
من داخل المحرر: افتح عرض **الإضافات**، وابحث عن **"OmniRoute"**، وانقر على **تثبيت**
— تعمل بالطريقة نفسها في كلا المتجرين. تتوفر الشيفرة المصدرية والمشكلات ودليل النشر في
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [دليل VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — الإعداد، وما يعرضه المنتقي، ولوحة المعلومات داخل علامة تبويب، واستكشاف الأخطاء وإصلاحها
### 🎩 جديد: OmniRouteTray — بوابتك المقيمة في شريط القوائم
> يكون `omniroute serve` في أفضل حالاته عندما يعمل دائمًا. يحوّل **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> ذلك إلى تطبيق لشريط القوائم في macOS يمكنك إعداده ونسيانه: فهو يشغّل الخادم، ويبقيه قيد التشغيل
> عبر عمليات إعادة التشغيل، ويحدّثه في موضعه، ويضع ميزانية الرموز المباشرة على بُعد نقرة واحدة — **دون
> ترك نافذة طرفية مفتوحة، ودون الحاجة إلى متابعة `npm install -g omniroute`.**
بُني باستخدام [Tauri v2](https://v2.tauri.app/) (نواة Rust بحجم يكاد لا يُذكر)، ويأتي
مع بيئة تشغيل Node 24 موقّعة خاصة به، ويدير تثبيت OmniRoute مملوكًا للتطبيق، لذا لا يتعارض مطلقًا مع
`node`/`bun` العام لديك. وهو **يشارك إعداداتك وقاعدة بياناتك الحالية في `~/.omniroute/`** — لذا فهو
OmniRoute نفسه الذي تشغّله بالفعل، ولكن مع قبعة. 🎩
ما يفعله
كيف
🟢 يراقب الخادم
يشغّل omniroute serve، ويتبنّى نسخة تعمل بالفعل بدلًا من تكرارها
📊 الاستخدام المباشر بلمحة
أشرطة حصص الموفّرين، وحدود جلسات Claude وحدوده الأسبوعية مع العد التنازلي لإعادة التعيين، وتفصيل التكلفة لمدة 30 يومًا
🔄 يُجري تحديثات تلقائية في موضعه
تثبيت مرحلي، واستبدال ذري، وتراجع عند الفشل — دائمًا على أحدث إصدار
🚀 البدء عند تسجيل الدخول
تشغيل اختياري عند تسجيل الدخول؛ في علبة النظام فقط، دون أيقونة في Dock
🩺 التشخيص والسجلات
تشخيص بنقرة واحدة والوصول إلى سجلات الخادم
```sh
brew install --cask zoispag/tap/omniroute-tray
```
تفضّل التنزيل؟ احصل على أحدث ملف .dmg من
الإصدارات. تتوفر الشيفرة المصدرية والمشكلات ووثائق
البناء في zoispag/omniroute-tray.
💛 مشروع مجتمعي من إنشاء @zoispag — وليس إصدارًا رسميًا من OmniRoute.
> إلى جانب الخادم، تُعد OmniRoute **مقصورة تحكم متكاملة عبر سطر الأوامر** تضم **أكثر من 80 أمرًا**، بالإضافة إلى بروتوكولات وكلاء مفتوحة تتيح لوكيل ذكاء اصطناعي تشغيلها **بنفسه**.
### ⌨️ واجهة CLI حقيقية (وليست مجرد `start`)
```bash
omniroute # تشغيل البوابة + لوحة المعلومات (المنفذ 20128)
omniroute chat # عميل دردشة TUI تفاعلي (الاختصارات: /model /combo /skill /memory)
omniroute setup # معالج إرشادي للتشغيل الأول
omniroute doctor # تشخيص المزوّدين والمنافذ والتبعيات الأصلية
```
### 🛰️ الوضع البعيد — شغّل واجهة CLI هنا وOmniRoute على خادم VPS
هل تعمل OmniRoute على خادم؟ تحكّم بها من حاسوبك المحمول باستخدام **واجهة CLI نفسها**. سجّل الدخول مرة واحدة
باستخدام رمز وصول محدود النطاق؛ وبعد ذلك سيستهدف كل أمر الخادم البعيد.
```bash
omniroute connect 192.168.0.15 # كلمة المرور ← رمز محدود النطاق، يُحفظ كسياق
omniroute models list # ← يُنفّذ على الخادم البعيد
omniroute configure codex # ← يختار نموذجًا بعيدًا ويكتب ملف تعريف Codex محليًا
omniroute tokens create --name ci --scope read # إصدار رموز أضيق نطاقًا للأجهزة الأخرى
omniroute contexts use default # ← العودة إلى الخادم المحلي
```
تقتصر نطاقات الرموز على `read` / `write` / `admin`؛ وتظل المسارات التي تُنشئ عمليات مقصورة على واجهة الاسترجاع المحلية.
📖 [الوضع البعيد](docs/guides/REMOTE-MODE.md)
### 🤝 صِل وكيلًا — ودعه يتحكم في OmniRoute نفسها
أتِح OmniRoute عبر **MCP** أو **A2A** أو **REST API** أو **webhooks** أو **واجهة CLI بعيدة** — وسيحصل أي وكيل قادر (أو شيفرتك الخاصة) على مفاتيح البوابة بأكملها: التوجيه، والمزوّدون، والتركيبات، والتخزين المؤقت، والضغط، والذاكرة — بصورة مستقلة. تُقدَّم نقاط نهاية HTTP أدناه ضمن `http://localhost:20128`.
الواجهة
نقطة النهاية / الأمر
استخدمها من أجل
🧰 MCP (stdio)
omniroute --mcp
التكامل مع Claude Desktop وCursor وأي عميل MCP
🌊 MCP (HTTP)
/api/mcp/stream
MCP بعيد — 110 أداة، و33 نطاقًا (التطبيق اختياري)، وسجل تدقيق كامل
📡 MCP (SSE)
/api/mcp/sse
نقل MCP متدفق
🤝 A2A
/.well-known/agent.json
التواصل من وكيل إلى وكيل، JSON-RPC 2.0 + SSE، و6 مهارات
🌐 REST API
/v1/*
متوافقة مع OpenAI — الدردشة، والتضمينات، والصور، والصوت، والتعرّف الضوئي على الحروف
🔔 Webhooks
/api/webhooks
إرسال أحداث الطلبات / الحصص إلى Slack أو Discord أو Telegram أو أي عنوان URL
🛰️ واجهة CLI البعيدة
omniroute connect
التحكم في نسخة بعيدة باستخدام رموز وصول محدودة النطاق
```bash
# امنح Claude Code مجموعة أدوات OmniRoute الكاملة عبر MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [خادم MCP](docs/frameworks/MCP-SERVER.md) · [خادم A2A](docs/frameworks/A2A-SERVER.md) · [بروتوكولات الوكلاء](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ وفّر 15–95% من التوكنات — تلقائيًا
### 📖 كيف يعمل — خط المعالجة والبنية وحساب التوفير
تشغّل التوليفة المكدّسة الافتراضية `RTK → Caveman`. عندما يعمل كلاهما على حمولة الأداة/السياق نفسها، يتراكم التوفير:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
تكون كتل التعليمات البرمجية وعناوين URL وJSON والبيانات المنظّمة **محمية دائمًا** بواسطة محرك الحفظ.
> **لماذا تستخدم الكثير من التوكنات حين يفي القليل منها بالغرض؟** يمر كل طلب عبر خط ضغط OmniRoute **بشفافية** — من دون أي تغييرات من جانب العميل. وهو الآن **مكدّس من 12 محركًا قابلًا للتركيب** تعمل بالترتيب ويمكن مزجها ومطابقتها لكل توليفة توجيه — استنادًا إلى أفكار من [RTK](https://github.com/rtk-ai/rtk) و[Caveman](https://github.com/JuliusBrussee/caveman) (⭐ أكثر من 90 ألفًا) و[LLMLingua-2](https://github.com/microsoft/LLMLingua) و[Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 المكدّس المكوّن من 12 محركًا
تعمل المحركات وفق ترتيب خط المعالجة؛ ويمكن تبديل كل منها وتهيئته بصورة مستقلة لكل توليفة:
#
المحرك
ما الذي يفعله
1
Session-Dedup
يحذف المحتوى المتكرر عبر الأدوار (معنون بالمحتوى وعابر للأدوار)
2
CCR
يؤرشف الكتل الكبيرة خلف علامات استرجاع، لتُجلب عند الطلب
3
Lite
تشذيب المسافات البيضاء وعناوين URL للصور (خط أساس خفيف زمن الاستجابة)
ضغط للنثر قائم على القواعد (نحو 65–75% في المخرجات)
9
Aggressive
تلخيص وتقادم تدريجي للأدوار القديمة
10
LLMLingua-2
تشذيب دلالي بتعلّم الآلة عبر MobileBERT ONNX — آمن للتعليمات البرمجية وغير متزامن
11
Ultra
تشذيب استدلالي للتوكنات مع طبقة اختيارية لنموذج صغير (SLM)
12
OmniGlyph
ترميز تجريبي للسياق كصورة من أجل Claude Fable 5 المُقاس عبر الاتصال المباشر مع Anthropic؛ تظل محوّلات GPT 5.6 مغلقة عند الفشل بانتظار إيصالات المزوّد. أربعة ملفات تعريف للضغط (عدواني افتراضي، متوازن، آمن للبرمجة، وتمرير مباشر) (الأكثر عدوانية؛ يتطلب الاشتراك الصريح)
تُحفَظ كتل التعليمات البرمجية وعناوين URL والبيانات المنظّمة **دائمًا** بصورة مطابقة تمامًا على مستوى البايت. تجمع **الإعدادات المسبقة بنقرة واحدة** بين المحركات:
الوضع
التوفير
الأنسب لـ
🪶 Lite
~15%
إعداد افتراضي آمن ودائم التشغيل
🪨 Standard (Caveman)
~30%
البرمجة اليومية
⚡ Aggressive
~50%
الجلسات الطويلة كثيفة استخدام الأدوات
🔥 Ultra
~75%
أقصى توفير
🧰 RTK
60–90%
مخرجات الصدفة/الاختبار/البناء/git
🔗 مكدّس (RTK → Caveman)
78–95%
المطالبات المختلطة وسجلات الأدوات
**مثال واقعي — وضع Standard:**
> **قبل (69 توكنًا):** _"من المرجح أن سبب إعادة تصيير مكوّن React لديك هو أنك تنشئ مرجع كائن جديدًا في كل دورة تصيير. عندما تمرر كائنًا مضمنًا كخاصية، ترى المقارنة السطحية في React أنه كائن مختلف في كل مرة، ما يؤدي إلى إعادة التصيير. أوصي باستخدام useMemo لتخزين الكائن مؤقتًا."_
>
> **بعد (19 توكنًا):** _"مرجع كائن جديد مع كل تصيير. خاصية كائن مضمنة = مرجع جديد = إعادة تصيير. استخدم useMemo."_
>
> **الإجابة نفسها. توكنات أقل بنسبة 72%. بلا أي خسارة في الدقة.** ✅
**مثال PT-BR — وضع [Troglodita](https://github.com/leninejunior/troglodita):**
> **قبل (42 رمزًا):** _"المشكلة هي أن المكوّن يُعاد تصييره لأن مرجع كائن جديدًا يُنشأ في كل دورة تصيير. أوصي باستخدام useMemo."_
>
> **بعد (12 رمزًا):** _"إعادة التصيير: مرجع جديد كل دورة (إعادة إنشاء كائن مضمّن). استخدم `useMemo`."_
>
> **الإجابة نفسها. رموز أقل بنحو 70%. الدقة التقنية سليمة.** ✅
### 🎚️ ما وراء المحركات — أنماط المخرجات، والقرص التكيّفي، والتحكم لكل طلب
تقلّص المحركات الـ12 المذكورة أعلاه ما **يدخل**. وتشكّل ثلاث طبقات إضافية **كيفية** و**توقيت** وما **يخرج**:
- **🪄 أنماط المخرجات** _(توجيه محور المخرجات)_ — تحقن تعليمات حتمية وآمنة للتخزين المؤقت لتشكيل الاستجابة؛ ويمكن دمجها، وكل منها بشدة `lite` / `full` / `ultra`. لا تتطلب إضافة نمط سوى إدخال من سطر واحد في السجل:
- **نثر مقتضب** — احذف الحشو / أدوات التعريف / عبارات التحوّط؛ وأبقِ المضمون التقني دقيقًا.
- **كود أقل** — نهج "المطور الخبير الكسول" وفق YAGNI: أصغر تغيير فعّال، من دون هيكلة لم تُطلب.
- **ذيل الحصان (المطور الخبير الكسول)** — اصعد سُلّم YAGNI، وأصلح السبب الجذري، وبأصغر فرق فعّال.
- **لديّ ADHD (الإجراء أولًا)** — ابدأ بالإجراء التالي، ورقّم الخطوات، وقدّم خطوة تالية ملموسة واحدة، بلا مقدمة.
- **الصينية الكلاسيكية المقتضبة (文言)** — أسلوب صيني كلاسيكي فائق الإيجاز (مقيّد باللغة `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)
# ⚡ البدء السريع
**1) التثبيت والتشغيل**
```bash
npm install -g omniroute
omniroute
```
> 💡 هل ترى تحذيرات `npm warn ERESOLVE` أو تبعيات النظراء؟ [إنها غير ضارة](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
لوحة التحكم على `http://localhost:20128` · وواجهة API على `http://localhost:20128/v1`.
**2) وصّل مزوّدًا مجانيًا (بلا تسجيل)**
لوحة التحكم ← **المزوّدون** ← وصّل **Kiro AI** (Claude مجاني، نحو 50 رصيدًا شهريًا لكل حساب) أو **OpenCode Free** (بلا مصادقة) ← تم.
**3) وجّه أداة البرمجة لديك**
```txt
عنوان URL الأساسي: http://localhost:20128/v1
مفتاح API: [انسخه من لوحة التحكم ← نقاط النهاية]
النموذج: auto (توجيه ذكي بلا إعداد — أو أي مزوّد/نموذج)
```
**4) تحقّق من أنه يعمل**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
ينبغي أن ترى قائمة بالنماذج المتصلة لديك. 🎉 هذا كل شيء — ابدأ البرمجة، وسيتولى OmniRoute التوجيه التلقائي والانتقال الاحتياطي نيابةً عنك.
إذا تعذّر على عميلك إرسال ترويسات مخصصة، فإن OmniRoute يوفّر أيضًا أسماء توافق بديلة مضمّنًا فيها الرمز:
```txt
كتالوج OpenAI: http://localhost:20128/vscode/YOUR_KEY/
نماذج OpenAI: http://localhost:20128/vscode/YOUR_KEY/models
دردشة OpenAI: http://localhost:20128/vscode/YOUR_KEY/chat/completions
استجابات OpenAI: http://localhost:20128/vscode/YOUR_KEY/responses
دردشة Ollama: http://localhost:20128/vscode/YOUR_KEY/api/chat
وسوم Ollama: 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`. ثبّت الوسم على `:X.Y.Z` لاستخدام GitOps. راجع [قنوات إصدارات Docker](docs/guides/DOCKER_GUIDE.md#release-channels).تثبّت الصورة قيمة **`OMNIROUTE_MEMORY_MB=1024`**. وهذا يكفي للوحة التحكم ومحادثة خفيفة. تحتاج **وكلاء البرمجة** (`POST /v1/responses` من Claude Code وCodex وGrok وغيرها) إلى كومة V8 أكبر بكثير، وإلا فستنتهي العملية برسالة `FATAL ERROR` عند نحو 12 GiB في ظل سياقين طويلين متداخلين. خصّص للحاوية حجمًا أكبر من الكومة (إذ توجد المخازن المؤقتة الأصلية خارج V8):
| حمل العمل | الكومة (`-e OMNIROUTE_MEMORY_MB`) | الحاوية (`--memory`) |
| ----------------------------------------- | --------------------------------- | -------------------- |
| لوحة التحكم / محادثة خفيفة | `1024` (القيمة الافتراضية للصورة) | ≥2 g |
| وكيل برمجة واحد | `8192` | ≥10 g |
| طلبان طويلان متزامنان إلى `/v1/responses` | `10240`–`12288` | ≥12–16 g |
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
الجدول الكامل: [دليل Docker — ذاكرة RAM في وقت التشغيل](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **قناة Docker للإصدارات التجريبية:** يتبع `diegosouzapw/omniroute:next` و
> `diegosouzapw/omniroute:next-web` فرع `release/v*` الافتراضي الحالي.
> هذه الوسوم القابلة للتغيير مخصصة فقط لاختبار الإصلاحات غير المنشورة،
> وهي **غير مدعومة للاستخدام في بيئات الإنتاج**. راجع
> [قنوات إصدارات Docker](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
يُدعم كل من `bun install` القياسي والتثبيت العام (`bun install -g omniroute`) من خلال اكتشاف بيئة تشغيل Bun:
- **`bun:sqlite` المضمّن**: يستخدم OmniRoute مشغّل `bun:sqlite` المضمّن في Bun عند التشغيل ضمن Bun، مع الرجوع إلى `better-sqlite3` على Node.js أو إلى `sql.js`.
- **الاختيار التلقائي لأداة Webpack في التطوير**: يكتشف وضع التطوير (`bun run dev`) بيئة Bun تلقائيًا ويعطّل Turbopack لصالح Webpack لمنع حالات عدم التوافق مع روابط V8 الأصلية. تتبع إصدارات الإنتاج (`bun run build`) قيمة `OMNIROUTE_USE_TURBOPACK` تمامًا كما في Node: يُستخدم Turbopack افتراضيًا، ويمكن استخدام `OMNIROUTE_USE_TURBOPACK=0` للبناء باستخدام Webpack (ويتيحه `Dockerfile.bun` كوسيطة `--build-arg`).
- **ملف Dockerfile مخصص لـ Bun**: ملف `Dockerfile.bun` متعدد المراحل لعمليات نشر Bun الأصلية في الإنتاج (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# التثبيت والتشغيل باستخدام Bun
bun install
bun run dev
```
**🛠️ من المصدر**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux (AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix (Flake)**
```bash
# باستخدام رقائق Nix
nix develop
npm run dev
# أو باستخدام devbox
devbox run npm run dev
```
📖 [دليل Docker](docs/guides/DOCKER_GUIDE.md) — ملفات تعريف Compose، وCaddy HTTPS، وأنفاق Cloudflare.
**🦭 Podman**
```bash
# 1. تحضير دليل البيانات المرتبط
mkdir -p data
# 2. لنظام Linux مع Podman محلي دون صلاحيات الجذر فقط (وليس عميل Podman Machine بعيدًا مطلقًا):
podman unshare chown 1000:1000 ./data
# 3. تعيين تلميح بيئة التشغيل، وبناء صورة Compose المحلية، ثم بدء التشغيل
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
على macOS أو Windows، يستخدم Podman جهاز Podman Machine بعيدًا: تخطَّ `podman unshare`
واتبع [إرشادات دليل البيانات الخاصة بالبنية](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [دليل Podman](contrib/podman/README.md) — عمليات بناء Compose، وPodman Machine،
وإعداد Quadlet لنظام Linux/systemd.
**⚡ تثبيت أسرع / أقل استهلاكًا للموارد (تخطي البناء الأصلي)**
محرك SQLite الأصلي (`better-sqlite3`) هو تبعية **اختيارية**، ولذلك لا يتعطل التثبيت
العام مطلقًا بسبب الترجمة من المصدر: إذ يستخدم ملفًا ثنائيًا مبنيًا مسبقًا عند توفر ملف
متوافق مع منصتك/Node، وإلا فإنه يرجع بشفافية إلى محرك JavaScript خالص
(`node:sqlite` على Node 22+، أو `sql.js` WASM المضمّن بخلاف ذلك) — دون الحاجة إلى أدوات بناء.
لتخطي التهيئة الأصلية اللاحقة للتثبيت بالكامل (في CI أو البيئات دون واجهة رسومية أو الأجهزة البطيئة):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # يؤدي CI=1 أيضًا إلى تخطيها
```
لأسرع عمليات تثبيت، يُفضّل استخدام **pnpm** (مخزن معنون بالمحتوى + روابط صلبة — راجع أعلاه).
ولاستخدام بيئة تشغيل دون لوحة تحكم أو واجهة رسومية، استخدم ملف تعريف Docker المسمى `base` (أعلاه) أو
[دليل Termux](docs/guides/TERMUX_GUIDE.md). تُقدَّم واجهة سطر الأوامر ولوحة تحكم الويب بواسطة
العملية نفسها عبر منفذ واحد، ولذلك لا توجد حاليًا حزمة منفصلة لواجهة سطر الأوامر فقط.
# 🎬 OmniRoute قيد التشغيل
## 📹 أدلة الفيديو
لقطة من لوحة المعلومات بتاريخ 2026-08-24 · الكتالوج الأولي: YT 809 | TT 137 | IG 124 · الحداثة (بالأيام): YT 1 | TT 21 | IG 22
استراتيجية تغطية الاختبارات لأكثر من 39,000 تصريح اختبار ثابت عبر أكثر من 5,100 ملف اختبار متتبَّع
# ⭐ أبرز المساهمين
> يتشكل OmniRoute بفضل مجتمع شغوف مفتوح المصدر. قدّم هؤلاء الأفراد مساهمات استثنائية تؤثر مباشرةً في جودة المشروع واستقراره وانتشاره. **شكرًا لكم.**
### المساهمون الخارجيون حسب طلبات السحب المدمجة
جُمِّدت البيانات عند أحدث نقطة من release/v3.8.50 وهي dafb4ae808، مع عمليات دمج حتى 2026-08-24 05:26:03 UTC. يتضمن إحصاء GitHub GraphQL المقسّم إلى صفحات 5,911 طلب سحب مدمجًا: 2,707 بواسطة مالك المستودع، و179 بواسطة Dependabot، و3,025 طلب سحب خارجيًا من 535 مساهمًا مختلفًا. تشير «الأسطر المتغيرة» إلى إضافات GitHub وعمليات الحذف فيه، وتشمل الملفات المُنشأة، وملفات القفل، والكتالوجات، والترجمات، والوثائق؛ وهي مقياس لحجم التغييرات وليست عدد أسطر الشفرة المؤلَّفة. تُحتفَظ بالمراتب المتعادلة عند حد الإدراج.
### الإيداعات المنسوبة عبر GitHub
Bob.Hou 🏅 51 إيداعًا منسوبًا إلى GitHub · متعادل في المركز العاشر
Xiangzhe 🏅 51 إيداعًا منسوبًا إلى GitHub · متعادل في المركز العاشر
أُعيد التحقق في 2026-08-24 06:14:31 UTC: الإيداعات المنسوبة إلى GitHub كما أبلغت عنها واجهة Contributors API الخاصة بالمستودع للفرع الافتراضي release/v3.8.50. أعادت واجهة API عدد 525 هوية (415 مستخدمًا، وبوتين، و108 هويات مجهولة)؛ يستبعد هذا الجدول المشرف والبوتات والهويات المجهولة، ويحتفظ بحالات التعادل في الترتيب. وهو يختلف عن كل من ترتيب طلبات السحب المدمجة أعلاه وإحصاء بيانات Git الوصفية الذي يشمل 639 شخصًا أدناه.
> 🙏 تُعد ميزات هؤلاء المساهمين وإصلاحاتهم للأخطاء وتحسيناتهم للبنية التحتية **جزءًا أساسيًا** مما يجعل OmniRoute موثوقًا وغنيًا بالميزات. فكل طلب سحب، وكل حالة اختبار، وكل ملف ترجمة i18n له أهميته. تُبنى البرمجيات مفتوحة المصدر بأيدي أشخاص مثلهم.
---
## 💖 الرعاة
شكرٌ من القلب للأشخاص الذين يمولون OmniRoute من أموالهم الخاصة — فكل مساهمة تُبقي المشروع مجانيًا ومستقلًا ومتقدمًا إلى الأمام.
… وآخرون يفضّلون الحفاظ على خصوصيتهم 💛أُعيد التحقق من رعاة GitHub العلنيين في 2026-08-24. تحدد حالة activeOnly في GitHub التسميات النشطة أعلاه؛ ويظل الداعمون العلنيون لمرة واحدة الذين أُعلن عنهم سابقًا موضع شكر، بينما يظل الرعاة الخاصون مجهولي الهوية.💖 كن راعيًا ← — كل دولار يُبقي OmniRoute مجانيًا ومستقلًا.
## 👥 أكثر من 600 مساهم
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
أُجري التدقيق في 2026-08-24 عند الأساس المجمّد ac02c5b42f، ثم أُعيد التحقق عند رأس release/v3.8.50 المباشر dafb4ae808: 639 هوية Git بشرية بعد التطبيع — يظهر 407 منهم كمؤلفي التزامات (بمن فيهم المشرف على الصيانة)، بينما يظهر 232 منهم فقط في تذييلات Co-authored-by الصريحة. يطبّع الإحصاء معرّفات GitHub من نوع noreply، ويستبعد 26 هوية لروبوتات/وكلاء/خدمات/عناصر نائبة، ولا يدمج عناوين البريد الإلكتروني العادية لمجرد تطابق أسماء العرض الخاصة بها.
### كيفية المساهمة
1. أنشئ نسخة متفرعة من المستودع
2. أنشئ فرعًا من رأس `release/vX.Y.Z` **النشط** (وليس `main`) — راجع [نموذج التفريع والإصدار](docs/ops/BRANCHING_MODEL.md)
3. أنشئ فرع ميزتك (`git checkout -b feat/amazing-feature`)
4. ثبّت تغييراتك (`git commit -m 'feat: add amazing feature'`)
5. ادفع التغييرات إلى الفرع (`git push origin feat/amazing-feature`)
6. افتح طلب سحب مع تعيين **الأساس = فرع `release/vX.Y.Z` ذاك**
راجع [CONTRIBUTING.md](CONTRIBUTING.md) للاطلاع على الإرشادات التفصيلية.
### إصدار نسخة جديدة
```bash
# أنشئ إصدارًا — تتم عملية npm publish تلقائيًا
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 النجوم
## 🌍 مخطط النجوم
## 🙏 شكر وتقدير
يقف OmniRoute على أكتاف عمالقة. بدأ كتفرع من **[9router](https://github.com/decolua/9router)** وكنسخة منقولة إلى TypeScript من مشروع Go المسمى **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — ومنذ ذلك الحين، استُلهم كل نظام فرعي أدناه من مشروع مفتوح المصدر سبقه إلى ذلك. وقد أسهم كل واحد منها في تشكيل جزء ملموس من OmniRoute. وهذه طريقتنا لشكرهم جميعًا. 🙏
> ⭐ تم التحقق من أعداد النجوم عبر واجهة GitHub REST API في 24 أغسطس 2026 — فامنحوا هذه المشاريع نجمة. تمثل الأعداد لقطة مؤرخة ودقيقة، ومن الطبيعي أن تتغير.
### 🧬 الأصل والبوابة
بوابة الذكاء الاصطناعي التي تغذي مجموعة بيانات التسعير العامة الخاصة بها مزامنة تتبّع التكلفة لدينا، والتي ساعد نموذجها لتوحيد مزوّدي الخدمة في تشكيل آلية التوجيه لدينا.
مصدر مرخّص بموجب MIT جرى تكييفه ضمن جسر ChatGPT Web → Codex Responses المضمّن، بما في ذلك محوّلات جلسة المتصفح، وتأطير الاستجابات، والاستخدام، والبحث على الويب.
جرى تكييف تعيينات نماذج Grok، ومولّد Statsig ذي TypeError الزائف، والإعدادات الافتراضية للطلبات والأجهزة، ومعالج استجابات NDJSON الخاص به تكييفًا جوهريًا ضمن منفّذ Grok Web في OmniRoute.
مصدر الشفرة غير المباشر الرئيسي وراء grok2api-merged؛ إذ جرى الحفاظ على تطبيقاته الخاصة بالنماذج والترويسات والحمولات وStatsig والمعالج ضمن سلسلة نسب Grok Web.
مصدر غير مباشر ينسب إليه grok2api-merged الفضل في طبقة مجمّع الوكلاء الخاصة به؛ ويحافظ OmniRoute على إشعار النسب هذا، لكنه لا يدّعي نقل مجمّع وكلاء إلى منفّذ Grok Web محدود النطاق الخاص به.
استند تنفيذ Grok Web الأصلي إلى تصميمه للجهة العليا عبر HTTP/المتصفح؛ ونظرًا إلى أن مسار HTTP المباشر الخاص به مشتق من GrokProxy، فلا يُدّعى إجراء نقل مستقل للشفرة.
المشروع واسع الانتشار القائم على فكرة «لماذا تستخدم رموزًا كثيرة حين تفي رموز قليلة بالغرض» — تُشغّل فلسفته القائمة على كلام رجل الكهف وضع الضغط القياسي لدينا وأكثر من 30 قاعدة لإزالة الحشو والتكثيف.
أبحاث ضغط المطالبات (LLMLingua / LLMLingua-2) — ألهمت محرك llmlingua غير المتزامن لدينا، والآمن للتعليمات البرمجية، والذي يواصل العمل دون ضغط عند الفشل.
ضغط الرموز للبرتغالية البرازيلية — يشغّل حزمة اللغة pt-BR لدينا: تقليل الحشو البلاغي وإزالة الكلمات الزائدة، مع ضبطهما ليناسبا قواعد البرتغالية البرازيلية.
مهارة البرمجة واسعة الانتشار القائمة على مبدأ YAGNI لـ«المطوّر الخبير الكسول» — ألهمت نمط المخرجات less-code لدينا: توجيه نحو أصغر تغيير ناجح يقلّص التعليمات البرمجية _المولَّدة_ (النظير على محور المخرجات لنثر Caveman المقتضب).
«اعثر على الرموز الشبحية» — أسهم نمطه القائم على نقل المحتوى خارج السياق واستخدام مقابض قابلة للاسترجاع في صياغة نهجنا تجاه نقل CCR للمحتوى خارج السياق.
JSON عمودي بلغة Rust، مع استرجاع معنْوَن بالمحتوى وإزالة للتكرار عبر الرسائل — أثبت صحة تصميم محركات headroom/ccr/session-dedup لدينا، وثابت استقرار ذاكرة التخزين المؤقت «الصيغة المضغوطة مستقلة عن الموضع».
مجموعة أدوات TypeScript Compiler API — ألهمت إزالة التعليقات المعتمدة على المحلّل لدينا، والتي تحافظ على القيم الحرفية للسلاسل والقوالب والتعبيرات النمطية.
أسهم اعتراض/تحليل MITM لحركة البيانات بين مساعد البرمجة ↔ LLM في تحديد المتطلبات المبكرة لـ Traffic Inspector. وقد استُبدلت أربع وحدات مشتقة سابقًا — دمج SSE، وتوحيد المحادثات، وإخفاء الأسرار، وتنقية الترويسات — بتطبيقات مستقلة مطوّرة من الصفر استنادًا إلى معايير البروتوكولات العامة. ويظل سطحا تمرير المضيف (passthrough.ts و_internal/bypass.cjs) تطبيقين داخليين في OmniRoute مصنّفين بصورة مستقلة؛ ولم يُعاد تطويرهما ضمن عملية الاستبدال تلك.