Override Token Quota ต่อ tenant
เพิ่ม/ลด quota ต่อ tenant ผ่าน panel — comp, trial, contract
เปิด AI Quota Panel
/super-admin/ai-conversations → scroll ลงเจอ section "Token Quota รายเดือน"
แสดง:
- KPI strip: ยอด tokens 30 วันรวม, จำนวน tenant ≥80% / เกิน / ถูกปิด
- Table ทุก active tenant พร้อม progress bar
เห็นอะไรในตาราง
แต่ละ row:
- Tenant — ชื่อ + plan
- Tokens (30d) — ใช้ไปกี่ tokens
- Cap — โควต้าปัจจุบัน
- % utilization — bar เขียว/เหลือง/แดง
- แหล่ง cap:
- 🟣 tenant override — super admin set ไว้ - 🔵 platform default — ค่ารวมทุก tenant - 🟢 plan default — ตาม plan tier - ⚪ unlimited — ไม่มี cap
- Calls — จำนวน API call ใน 30 วัน
- สถานะ — เปิด/ปิด AI
Default per plan
| Plan | Monthly Quota | |---|---| | STARTER | 0 (AI ปิด) | | GROWTH | 0 (AI ปิด) | | PROFESSIONAL | 2,000,000 tokens | | ENTERPRISE | 10,000,000 tokens |
ดู [ai-quota-explained]
Override quota
กด แก้ไข ที่ tenant row → Dialog เปิด:
- Toggle ใช้งาน AI — kill switch ทันที (ปิด AI ทุกอย่าง)
- Monthly token cap — เว้นว่าง = ใช้ plan default, ใส่ตัวเลข = override
- Daily token cap — เว้นว่าง = unlimited รายวัน
- ข้อความที่แสดงเมื่อเกิน quota — custom message
Use cases
Comp ลูกค้า trial
STARTER tenant ทดลอง AI 14 วัน:
- กดแก้ที่ tenant → set monthly cap = 200,000
- note: "Free trial until [date]"
- หลัง 14 วัน → manually กลับมา set กลับเป็น 0
ลูกค้า PRO ใช้หนัก
PRO ปกติ 2M tokens/เดือน. ลูกค้าซื้อ "AI Power Pack" เพิ่ม 5M:
- แก้ที่ tenant → set monthly cap = 7,000,000
- note: "Power Pack 5M added — contract until 2027-01-01"
โทษ tenant ที่ abuse
ลูกค้าใช้ AI script ปลอม → กด ปิดใช้งาน AI ทันที + note: "Suspected abuse — pending investigation"
ขีดจำกัด
- ตั้ง cap ได้สูงสุด 100,000,000 tokens/เดือน ต่อ tenant
- ใส่ค่าติดลบไม่ได้
- ใส่ค่าน้อยกว่า usage ปัจจุบัน → ลูกค้าโดน block ทันที (ส่ง warning ก่อน?)
Audit log
ทุก override เก็บใน AuditLog:
- ผู้ทำ (super admin id)
- ก่อน-หลัง
- เหตุผล (จาก note field)
ใช้ tracking สำหรับ:
- Compliance audit
- ตรวจดูว่าใครให้ comp มากเกินไป
- Rollback ถ้าทำผิด
Bulk update
ใน Excel/CSV — ใช้ tRPC mutation super-admin.upsertAIRateLimit เรียก loop. ยังไม่มี UI bulk