عن المشروع

## نظرة عامة على المشروع **cf-workers-ai-gateway** هي بوابة خفيفة الوزن ومجانية لتحليل الذكاء الاصطناعي، ومُحسَّنة خصيصًا لتحقيق أقصى استفادة من **Cloudflare Workers AI**. تقوم هذه البوابة بتغليف العديد من النماذج مفتوحة المصدر التي يوفرها Cloudflare (مثل Qwen3 وGPT-OSS) في واجهة **API قياسية متوافقة مع OpenAI**، مما يتيح للمستخدمين التفاعل مع الذكاء الاصطناعي مجانًا أو بتكلفة منخفضة جدًا باستخدام أي عميل يدعم بروتوكول OpenAI (مثل Cherry Studio، LobeChat، Open WebUI، Codex CLI، وغيرها). على عكس بوابات تجميع مزودي الخدمة التقليدية (مثل One-API، LiteLLM)، لا تقوم هذه البوابة بتجميع خدمات مدفوعة. بدلاً من ذلك، فهي تركز على **استخراج أقصى قيمة من مزود خدمة واحد مجاني (Cloudflare Workers AI)**. من خلال تدوير الحسابات المتعددة، وتوجيه الطلبات حسب التكلفة، وآليات الحماية الذكية، يمكن للمستخدمين الفرديين تشغيل مئات أو حتى آلاف عمليات تحليل الذكاء الاصطناعي عالية الجودة يوميًا دون دفع أي أموال. ## الميزات الأساسية ### 1. تجميع الحصص المجانية - **استخدام الحصص المجانية**: يوفر كل حساب من Cloudflare 10,000 Neuron مجانًا يوميًا. تدعم هذه البوابة تجميع ما يصل إلى 5 حسابات، مما يوفر 50,000 Neuron يوميًا. - **تشغيل نماذج عالية الأداء مجانًا**: بفضل تجميع الحصص، يمكن للمستخدمين تشغيل حوالي 150 عملية تحليل يوميًا باستخدام نموذج الرائد `qwen3.8-27b` (مؤشر ذكاء AA 52، ضمن أفضل 6% عالميًا)، أو آلاف العمليات باستخدام نماذج أخف مثل `qwen3-30b-a3b-fp8`. ### 2. تدوير ذكي للحسابات المتعددة - **تدوير شرائح زمنية**: تقوم البوابة تلقائيًا بتبديل الحساب الأساسي كل 10 دقائق لضمان استهلاك متساوٍ للحصص، ومنع استنفاد حساب واحد مبكرًا. - **تصميم بدون حالة**: يستخدم خوارزمية شرائح زمنية بدلاً من عدادات الذاكرة، مما يجعلها مناسبة للنشر في بيئات Serverless مثل Vercel، حيث لا تتطلب الحفاظ على حالة مشتركة. ### 3. توجيه الطلبات حسب التكلفة وحماية من الانقطاع - **نظام الفئات**: تصنّف النماذج إلى ثلاث فئات: `fast` (افتراضي، منخفض التكلفة)، `eco` (اقتصادي)، و`smart` (عالي الأداء، مرتفع التكلفة). يتم توجيه الطلبات الافتراضي إلى الفئة `fast` لتوفير الحصص، ويمكن للمستخدمين تحديد الفئة `smart` يدويًا للمهام المعقدة. - **حماية من الانقطاع**: تختلف استراتيجيات التبريد حسب نوع الخطأ (استنفاد الحصص، قيود السرعة، أخطاء الشبكة). على سبيل المثال، بعد استنفاد الحصص، تقوم البوابة بمحاولات استكشافية كل ساعة، وتستأنف الخدمة تلقائيًا بمجرد إعادة تعيين حصص Cloudflare. - **توجيه الطلبات الكبيرة**: تقوم البوابة تلقائيًا بحساب الحد الأقصى للطلب بناءً على نافذة سياق النموذج. إذا كان الطلب كبيرًا جدًا، تحاول البوابة أولاً تقصير الرسائل السابقة، ثم تقوم بتخفيض مستوى النموذج إلى نموذج ذي نافذة سياق أكبر إذا لزم الأمر. ### 4. توحيد البروتوكول والتحسين - **توافق مع OpenAI**: تدعم البوابة بشكل كامل واجهات Chat Completions وResponses، بما في ذلك الإخراج المتدفق (SSE). - **ضغط سلسلة التفكير**: بالنسبة لنماذج Qwen3، تقوم البوابة تلقائيًا بحقن مفتاح `/no_think` لتقليل استهلاك الـ tokens في سلسلة التفكير بشكل كبير (من 165 حرفًا إلى 2 حرفًا)، دون التأثير على وظيفة استدعاء الأدوات. - **توحيد الشكل**: تعالج البوابة الحقول الخاصة بـ Cloudflare مثل `reasoning` و`tool_calls` المكررة، وتضمن أن الإخراج النهائي يتوافق بدقة مع مواصفات OpenAI. ## البدء السريع ### 1. الحصول على بيانات اعتماد Cloudflare 1. قم بتسجيل حساب على [Cloudflare](https://dash.cloudflare.com/sign-up). 2. أنشئ رمز API: انتقل إلى **My Profile → API Tokens → Create Token**، واختر قالب "Workers AI". 3. سجّل `Account ID` و`API Token`. يمكنك تسجيل ما يصل إلى 5 حسابات لزيادة الحصص. ### 2. التكوين والتشغيل ```bash cp .env.example .env # قم بتعديل .env وأضف CF_ACCOUNT_ID, CF_API_TOKEN, وJY_AI_KEY node server.js ``` الخدمة تعمل افتراضيًا على `http://localhost:3000`. ### 3. الاختبار ```bash curl http://localhost:3000/api/v1/chat/completions \ -H