Giao diện
TokenMeter — Quota AI theo workspace
Theo dõi tiêu thụ AI per workspace, top-up khi cần, allocation theo member. Route: /tokens.
Khái niệm
Token là đơn vị quota cho mọi AI call: trợ lý chat, trích xuất chứng từ, gợi ý HS Code, classify ảnh, v.v. 1 token ≈ 4 ký tự text + cost gọi model.
Cách tính token:
- Input + output đều count — model trả về cụ thể từng request
- Mỗi operation có cost khác nhau (chat ~200, OCR full ~1.500)
- Pool theo workspace, share giữa thành viên
- Reset vào ngày renewal subscription
Khác với credit / point
Token là số tự nhiên reset hàng tháng. Khác với credit mua thêm (top-up wallet) — credit không reset, dùng đến hết.
Theo dõi
TokenMeter trong topbar hiển thị số dư còn lại theo workspace hiện hành. Click để mở dashboard chi tiết.
Ví dụ trạng thái token:
| Chỉ số | Giá trị | Ghi chú |
|---|---|---|
| Đã dùng | 3.250 token | 65% quota tháng |
| Còn lại | 1.750 token | Đủ ~5 ngày với tốc độ hiện tại |
| Ngày reset | 15/07/2026 | Ngày renewal subscription |

Top-up
Mua thêm token ngoài gói khi sắp hết. Gói top-up không reset hàng tháng — dùng đến hết.
Các gói top-up:
| Gói | Token | Giá | Đơn giá / token |
|---|---|---|---|
| Nhỏ | 1.000 | 99.000 ₫ | 99 ₫ |
| Vừa | 5.000 | 449.000 ₫ | 89 ₫ |
| Lớn | 20.000 | 1.599.000 ₫ | 79 ₫ (tiết kiệm nhất) |
Luồng mua top-up:
Chọn gói → QR SePay → Chuyển khoản → Token cộng vào wallet
Auto top-up
Bật auto top-up trong settings → khi token còn < 200, hệ thống tự mua gói nhỏ. Tránh gián đoạn workflow AI.
Allocation
Workspace OWNER có thể chia quota theo thành viên — chống lạm dụng, track usage per user.
Per-user cap:
- Default: pooled (mọi member share quota workspace)
- Có thể set cap per user (ví dụ: 500 token / member)
- Vượt cap → request block, prompt OWNER nâng cap
- Audit log mỗi consumption — trace ai dùng cho operation gì
Cách cấu hình:
- Vào
/settings/workspace→ tab Token allocation - Bật Per-user cap
- Đặt cap cho từng thành viên
- Lưu — áp dụng ngay lập tức
Lịch sử
Lịch sử consumption granular theo từng AI call. Filter theo: ngày, module, user, operation.
Ví dụ log consumption:
| Thời gian | User | Module | Operation | Token |
|---|---|---|---|---|
| 03/06 14:22 | admin@... | Chat | Trả lời CO form D | 320 |
| 03/06 14:15 | member1@... | Documents | OCR Invoice full | 1.420 |
| 03/06 13:50 | member2@... | HS Code | AI classify ảnh | 680 |
| 03/06 13:30 | admin@... | Declarations | Suggest cost adjustment | 240 |
Thời hạn lưu lịch sử
Lịch sử giữ 90 ngày trên gói Pro, 180 ngày trên Business, vĩnh viễn trên Enterprise.
Chi phí token theo từng thao tác
Mỗi loại AI call tiêu thụ số token khác nhau tuỳ độ phức tạp:
| Thao tác | Token tiêu thụ | Ghi chú |
|---|---|---|
| Trích xuất chứng từ — PDF có text layer | ~300 / trang | PDF digital (không scan) |
| Trích xuất chứng từ — PDF scan / ảnh | ~1.500 / trang | OCR + image analysis |
| Trích xuất chứng từ — XLSX/DOCX | ~200 / file | Structured format |
| Chat trợ lý — câu hỏi thông thường | ~200 / lượt | Input + output |
| Chat trợ lý — phân tích tài liệu dài | ~800–2.000 / lượt | Kèm context document |
| AI phân loại mã HS | ~150 / mặt hàng | RAG top-5 context |
| AI gợi ý chi cục hải quan | ~100 / lần | — |
| AI dịch + HS Code hàng loạt | ~150 × số dòng | Per item |
| AI trích xuất bảng giá (Rate Card) | ~500–1.000 / trang | PDF hãng tàu |
Tiết kiệm token
- Upload PDF có text layer (không scan) giảm 5× token so với scan
- Dùng cache: cùng file không mất token lần 2 (TTL 7 ngày)
- Đặt câu hỏi súc tích trong chat thay vì dài dòng
Cơ chế dual-store (Redis + PostgreSQL)
Token balance được lưu ở 2 nơi đồng thời để đảm bảo tốc độ và độ bền:
| Store | Vai trò | Đặc điểm |
|---|---|---|
| Redis | Đọc/ghi nhanh | INCRBY atomic — hàng nghìn ops/giây |
| PostgreSQL | Ledger bền vững | Audit trail đầy đủ, không mất khi Redis restart |
Charge flow (khi AI call thành công):
AI call hoàn thành → INCRBY Redis -N → INSERT ledger PGCharge chỉ xảy ra sau khi AI call thành công — không bị trừ token cho call thất bại hay timeout.
Reconciliation: Mỗi giờ một cron job so sánh Redis balance với tổng ledger PG. Nếu lệch → cảnh báo admin và tự correction.
Rate limit
Ngoài token balance, hệ thống có rate limit theo tần suất:
| Giới hạn | Giá trị |
|---|---|
| Trích xuất chứng từ | 50 lần / user / ngày |
| Chat AI | 200 tin nhắn / user / ngày |
| HS Code classify | 100 lần / user / ngày |
Rate limit tính per-user, reset lúc 00:00 UTC+7. Khi vượt giới hạn nhận lỗi RATE_LIMIT_EXCEEDED — không tốn thêm token.
FREE tier — token tự động cấp phát
Gói FREE nhận 500 token miễn phí mỗi ngày, tự động reset lúc 00:00:
- Token FREE hết hạn cuối ngày — không tích luỹ sang ngày hôm sau
- Token top-up (mua thêm) không hết hạn — dùng đến hết
- Thứ tự dùng: token subscription quota trước, sau đó top-up, cuối cùng FREE daily