ข้อมูลอ้างอิง
Community เทียบกับ Enterprise
แต่ละรุ่นมีอะไรบ้าง การออกใบอนุญาตทำงานอย่างไร และวิธีเปิดใช้งานฟีเจอร์ EE.
AskAIs Customer Service มาในสองรุ่น ได้แก่ Community Edition (CE, AGPL-3.0, ฟรี) และ Enterprise Edition (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" }Heartbeats
อินสแตนซ์ 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 ดู ราคา