Cách hoạt động
Luồng request thực sự đứng sau một tin nhắn chat và một lượt tải file lên — control plane so với execution plane, quota, và ledger.
Trong trang này
MasterOS tách một control plane (mặt phẳng điều khiển: auth, tổ chức, billing/ledger, model catalog, admin) khỏi một execution plane (mặt phẳng thực thi: chat, model gateway, retrieval, và — sau này — agent/workflow runtime). Sự tách biệt này tồn tại để ranh giới bảo mật và mở rộng luôn rõ ràng, dù hôm nay cả hai mặt phẳng đang chạy trong cùng một API service.
Gửi một tin nhắn chat
- Server phân giải gói đang hoạt động của tổ chức bạn và kiểm tra hạng mô hình được yêu cầu có nằm trong danh sách cho phép của gói đó không — điều này được thực thi ở phía server, không chỉ ẩn đi ở giao diện.
- Nếu tin nhắn tiếp tục một cuộc trò chuyện có sẵn, quyền sở hữu được kiểm tra trước khi bất cứ điều gì khác xảy ra — một conversation id không hợp lệ hoặc thuộc về người dùng khác bị từ chối trước khi bất kỳ quota nào bị động tới.
- Một idempotency key (được gửi kèm mọi request chat) được giữ trước (reserve). Một request được gửi lại với cùng key đó sẽ không bao giờ bị tính phí lại hoặc gọi lại model provider; một request trùng lặp đang xử lý bị từ chối thẳng.
- Chi phí ước tính được giữ trước (reserve) vào bucket quota hằng ngày của bạn trước khi model được gọi.
- Tin nhắn của người dùng được lưu, model stream câu trả lời về từng token một, và câu trả lời được lưu cùng với số token thực và chi phí thực — như một transaction database nguyên tử duy nhất, để một sự cố crash không bao giờ có thể để lại một tin nhắn đã tính phí mà không có bút toán ledger tương ứng (hoặc ngược lại).
- Khoản giữ trước quota được tất toán (settle) về đúng chi phí thực (hoặc được giải phóng hoàn toàn, nếu không có gì thực sự được tính phí), và ledger bị trừ đúng số tiền đó.
Billing là một ledger — một chuỗi các bút toán ghi có/ghi nợ — không bao giờ là một con số số dư duy nhất bị trừ trực tiếp. Đó là điều giúp việc suy luận đúng đắn về một request thất bại giữa chừng, một khoản hoàn tiền, hoặc đối soát chính xác những gì một người dùng đã bị tính phí trở nên khả thi.
Tải một file lên
Upload → validate type/size → malware scan → store → extract text → available for citation in chat
Một file thất bại ở bước quét malware hoặc trích xuất văn bản được đánh dấu thất bại và không dùng được trong chat. Việc lọc quyền truy cập (bạn được phép xem file nào) xảy ra trước khi bất kỳ nội dung nào tới được một model — đây là một ranh giới bảo mật, không chỉ là một bộ lọc tìm kiếm.