Справочник
Community и Enterprise
Что входит в каждую редакцию, как работает лицензирование и как включить функции EE.
AskAIs Customer Service поставляется в двух редакциях: Community Edition (CE, AGPL-3.0, бесплатная) и Enterprise Edition (EE, коммерческая лицензия). Обе запускаются из одного образа Docker — разница в том, установлены ли пакеты EE и настроен ли действительный LICENSE_KEY.
Матрица функций
- CE: мультитенантный почтовый ящик, потоковая передача ИИ, RAG, веб-виджет, API, webhooks, биллинг Stripe, все нативные SDK
- EE: SSO (SAML/OIDC), white-label, интеллектуальная маршрутизация моделей, расширенные отчёты (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" }Сигналы heartbeat
Экземпляры EE отправляют ping каждые 24 часа, чтобы мы могли предупреждать клиентов о превышении числа мест и отслеживать, какие версии развёрнуты, для рассылки уведомлений о безопасности. Полезная нагрузка небольшая и включает только: имя хоста, версию, количество активных агентов.
POST /api/v1/license/heartbeat
{
"licenseKey": "...",
"hostname": "chat.acme.internal",
"version": "1.4.2",
"activeAgents": 23
}Товарный знак
AGPL предоставляет разрешения на исходный код/код, но неправа на товарный знак. Если вы форкаете CE и эксплуатируете её как сервис под другим брендом, пожалуйста, переименуйте продукт. Название и логотип "AskAIs Customer Service" зарезервированы для нашего собственного использования и использования держателями нашей коммерческой лицензии.
Часто задаваемые вопросы
- Могу ли я запускать CE вообще без обращения к License Server? Да — обращение происходит, только если у вас задан
LICENSE_KEY. Никакой телеметрии. - Что произойдёт, если истечёт срок моей лицензии? Функции EE отключаются (показываются запросы на обновление), CE продолжает работать в обычном режиме.
- Могу ли я получить доступ к исходному коду EE? Да, по плану Source-Available. См. цены.