參考
社群版 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 的原始碼存取權限嗎?可以,透過原始碼可得方案。 參見定價。