参考
社区版 vs 企业版
每个版本包含哪些内容、授权如何运作,以及如何启用 EE 功能。
AskAIs 智能客服系统 提供两个版本:社区版(CE,AGPL-3.0,免费)和 企业版(EE,商业授权)。两者都从同一个 Docker 镜像运行 —— 区别在于是否安装了 EE 软件包并配置了有效的 LICENSE_KEY。
功能矩阵
- CE:多租户收件箱、AI 流式输出、RAG、网页挂件、API、 webhook、Stripe 计费、全部原生 SDK
- EE:SSO(SAML/OIDC)、白标、智能模型路由、 高级报表(CSAT/SLA/分群)、审计日志导出、源码可得选项
EE 功能在运行时如何受控
- 销售使用 License Server 的 Ed25519 私钥(仅存储在 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 实例每 24 小时上报一次,以便我们就超出席位的用量向客户发出提醒,并 跟踪已部署的版本以发布安全公告。负载很小,仅包含:主机名、版本、活跃客服数。
POST /api/v1/license/heartbeat
{
"licenseKey": "...",
"hostname": "chat.acme.internal",
"version": "1.4.2",
"activeAgents": 23
}商标
AGPL 授予源码/代码方面的许可,但不授予商标权。如果你 fork CE 并以不同品牌将其作为服务运营,请重命名该 产品。“AskAIs 智能客服系统”名称和徽标保留供我们自己以及我们的 商业授权持有者使用。
常见问题
- 我可以完全不联系 License Server 来运行 CE 吗?可以 —— 只有在你设置了
LICENSE_KEY时才会与之联系。没有遥测。 - 如果我的授权过期会怎样?EE 功能会停用 (显示升级提示),CE 照常运行。
- 我能获得 EE 的源码访问权限吗?可以,通过源码可得方案。 参见定价。