عن المشروع

AI Switch هو مركز محلي لإدارة مفاتيح واجهات برمجة التطبيقات (API) الخاصة بالذكاء الاصطناعي، مصمم للمستخدمين الذين يتعاملون مع مفاتيح متعددة من مزودين مختلفين عبر أدوات ترميز متعددة. يهدف إلى تبسيط العملية: عند تغيير مفتاح واحد، يجب أن يُحدث تلقائيًا جميع الأدوات المثبتة، كما يمنع فشل مفتاح واحد من تعطيل النظام بأكمله. وهو ليس عميل دردشة، بل أداة لإدارة المفاتيح والتحقق من صحتها ونشرها بأمان. الوظائف الأساسية: - تخزين المفاتيح: جدول مركزي يدعم مزودين متعددين، مع إمكانية البحث، التصنيف، التمكين/التعطيل الجماعي، الحذف، الاستيراد الجماعي، ودمج وتصفية المفاتيح المكررة عبر "MetaAPI"، مما يلغي الحاجة إلى تعديل يدوي لملفات التكوين المتعددة. - فحص الصحة ونقاط النهاية: مراقبة تلقائية مجدولة تتحقق من نقاط نهاية النماذج (مثل Chat وResponses وMessages وGemini)، مع فحوصات مجمعة حسب المزود، وإجراءات مخصصة لكل مزود ونموذج، وأخطاء قابلة للقراءة، وفترات فحص تكيفية، وتعطيل تلقائي، وتبديل تلقائي بين المفتاح الأساسي والاحتياطي، بالإضافة إلى أرشيف للمفاتيح غير الفعالة. - مزامنة آمنة: يتم نشر المفاتيح فقط للنماذج التي نجحت في فحص الصحة ونقاط النهاية مؤخرًا، مع عرض معاينة قبل الكتابة، ولا تُكتب أي تكوينات للأدوات غير المثبتة على النظام. يُذكر في README أن فحوصات الجودة ترسل أربع طلبات قصيرة لكل نموذج، وقد تستهلك الحصة المخصصة من المزود، وأن دعم نقطة النهاية يُكتشف تلقائيًا لكل نموذج. في الوضع التلقائي، تُستخدم نقاط النهاية الموثوقة فقط، بينما في الوضع اليدوي، يمكن للمستخدم اختيار التنسيقات المكتشفة. الواجهات المدعومة تشمل: OpenClaw (openclaw.json، ملفات المصادقة، النماذج)، OpenCode (auth.json، opencode.jsonc)، Claude Code (settings.json، ~/.claude.json)، Codex CLI (auth.json، config.toml مع فحص Responses)، Cline/Aider/Continue.dev (تكوينات IDE وCLI)، بالإضافة إلى Hermes Agent وQwenCode وKimi Code وTRAE Work، كما هو مفصل في docs/backends.md. تُصنف كل واجهة كـ "غير مثبتة" أو "متوقفة (قابلة للمزامنة)" أو "قيد التشغيل". تشمل عائلات نقاط النهاية: openai_chat (OpenAI وDeepSeek وOpenRouter وGroq وMoonshot وQwen وما شابه)، anthropic، gemini، وopenai_responses. كما يدعم النظام أكثر من 26 مزودًا مدمجًا بالإضافة إلى نقاط نهاية متوافقة مع OpenAI مخصصة، مع دعم إضافات قابلة للإدخال ودليل مساهمة. الواجهة والإضافات: واجهة ويب مع لوحة تحكم، حالة مزامنة الواجهات، مراقب الصحة، مركز مهام غير مانع، وسماحات للوضع الفاتح والداكن، ودعم الترجمة للإنجليزية والصينية المبسطة والصينية التقليدية. كما يشمل: تصنيفات المزودين (عام/ريلي/مفتاح خام) مع تصفية في كتالوج النماذج، أرشفة (إخفاء، استبعاد من الفحوصات، استعادة لاحقًا)، روابط التحقق، ميزانيات، تصدير ملفات مشفّرة، حزمة تشخيص، مسارات تابعة، وحزم سطح المكتب. التثبيت والتشغيل: - إصدارات جاهزة لـ Windows x64 وmacOS Intel وmacOS Apple Silicon وLinux x64: استخراج الملف وتشغيل ai-switch / start.bat / start.sh، ثم فتح http://127.0.0.1:8787. - من المصدر: git clone، pip install -r requirements.txt، python3 run.py (يتطلب Python 3.9+). - باستخدام npm/npx: npx github:kingkate2009-droid/ai-switch أو تثبيت عالمي. - باستخدام Docker: docker compose up -d. يوجد دورة تجريبية مدتها 3 دقائق: أضف مزودًا ومفتاحًا (أو استورد ذكيًا)، انتظر حتى يمر فحص الصحة، اضغط على الواجهات مع معاينة أولية، ثم أرسل "hi" من OpenCode أو Codex أو Claude Code. التكوين والأمان: يتم تخزين البيانات في ~/.ai-switch/ai-switch.db واستخدام النظام في ~/.ai-switch/usage.json؛ المنفذ الافتراضي هو 8787 (AI_SWITCH_PORT). تُخزن المفاتيح حصريًا داخل ~/.ai-switch/، ويُنصح بعدم إضافتها إلى نظام التحكم بالإصدار. يدعم أيضًا رمز وصول اختياري للوصول عبر الشبكة المحلية. يتم استيراد حالة data.json القديمة مرة واحدة، مع الاحتفاظ بالملفات القديمة بامتداد .legacy للعودة. المنفذ ثابت: ينتهي التشغيل بخطأ واضح إذا كان مشغولاً. التخزين قائم على SQLite مع دعم المعاملات. البنية والتراخيص: مبني على Python + Flask وJavaScript العادي وSQLite وملحقات قابلة للتوصيل؛ مرخص تحت Apache 2.0. تغطي الوثائق بدءًا سريعًا، صفحة استكشاف أخطاء توصيل Codex، مصفوفة الواجهات، ودليل المساهمة في الملحقات.