المرجع
المجتمعية مقابل المؤسسية
ما الذي تتضمنه كل نسخة، وكيف يعمل الترخيص، وكيفية تفعيل ميزات EE.
يأتي AskAIs Customer Service في نسختين: نسخة المجتمع (CE، AGPL-3.0، مجانية) و نسخة المؤسسات (EE، ترخيص تجاري). تعمل كلتاهما من صورة Docker واحدة — والفرق هو ما إذا كانت حزم EE مثبتة وتم تكوين LICENSE_KEY صالح.
مصفوفة الميزات
- CE: صندوق وارد متعدد المستأجرين، بث AI، RAG، أداة ويب، API، webhooks، فوترة Stripe، جميع حزم SDK الأصلية
- EE: SSO (SAML/OIDC)، علامة بيضاء، توجيه ذكي للنماذج، تقارير متقدمة (CSAT/SLA/مجموعات)، تصدير سجل التدقيق، خيار توفر المصدر
كيف يعمل تقييد EE أثناء التشغيل
- يوقّع فريق المبيعات الترخيص باستخدام مفتاح Ed25519 الخاص بـ License Server (المخزّن على License Server فقط).
- يستلم العميل رمزًا يضعه في
LICENSE_KEY. - عند الإقلاع، يتحقق web app من توقيع الرمز باستخدام المفتاح العام المطابق (
LICENSE_PUBLIC_KEY) ويفك ترميز قائمة الميزات. - لكل ميزة، يحاول
loadEeModule()استيراد حزمة EE المقابلة ديناميكيًا. إذا لم تكن الحزمة مثبتة → الرجوع إلى CE.
توليد المفاتيح (مشغّل License Server)
pnpm tsx scripts/license-keygen.ts
# Output:
# LICENSE_PRIVATE_KEY="..." # keep on the License Server
# LICENSE_PUBLIC_KEY="..." # distribute to all self-hosted instancesتوقيع ترخيص
LICENSE_PRIVATE_KEY="..." pnpm tsx scripts/license-sign.ts \
--email customer@acme.com \
--plan ENTERPRISE_PRO \
--agents 50 \
--days 365 \
--features sso,white-label,smart-model-routing
# Stdout: LICENSE_KEY="...." (paste into customer's .env)التحقق من ترخيص (من جانب العميل)
يمكن للمثيلات المستضافة ذاتيًا استدعاء License Server للتحقق المتقاطع من حالة الإلغاء بما يتجاوز التحقق من التوقيع المخزّن مؤقتًا:
curl -X POST https://cs.askais.com/api/v1/license/verify \
-H "Content-Type: application/json" \
-d '{ "licenseKey": "..." }'
# Response:
# { "valid": true, "payload": { "plan": "ENTERPRISE_PRO", ... } }
# Or if revoked:
# { "valid": false, "reason": "revoked" }نبضات القلب
ترسل مثيلات EE إشارة ping كل 24 ساعة حتى نتمكن من تحذير العملاء بشأن الاستخدام الذي يتجاوز عدد المقاعد وتتبع الإصدارات المنشورة من أجل التنبيهات الأمنية. الحمولة صغيرة وتتضمن فقط: اسم المضيف، الإصدار، عدد الوكلاء النشطين.
POST /api/v1/license/heartbeat
{
"licenseKey": "...",
"hostname": "chat.acme.internal",
"version": "1.4.2",
"activeAgents": 23
}العلامة التجارية
يمنح AGPL أذونات المصدر/الكود ولكن لايمنح حقوق العلامة التجارية. إذا قمت بعمل fork لـ CE وشغّلتها كخدمة تحت علامة تجارية مختلفة، فيرجى إعادة تسمية المنتج. اسم وشعار "AskAIs Customer Service" محجوزان لاستخدامنا الخاص ولاستخدام حاملي الترخيص التجاري لدينا.
الأسئلة الشائعة
- هل يمكنني تشغيل CE دون الاتصال بـ License Server على الإطلاق؟ نعم — لا يتم الاتصال به إلا إذا قمت بتعيين
LICENSE_KEY. لا يوجد تتبّع. - ماذا يحدث إذا انتهت صلاحية ترخيصي؟ تتوقف ميزات EE (تُعرض مطالبات الترقية)، وتستمر CE في العمل كالمعتاد.
- هل يمكنني الحصول على وصول إلى مصدر EE؟ نعم، ضمن خطة Source-Available. انظر الأسعار.