Fonctionnement
Le flux réel d'une requête derrière un message de chat et un téléversement de fichier — control plane et execution plane, quota, et le ledger.
Sur cette page
MasterOS sépare un control plane (auth, organisation, facturation/ledger, catalogue de modèles, admin) d'un execution plane (chat, passerelle de modèles, retrieval, et — plus tard — les runtimes agent/workflow). Cette séparation existe pour que les frontières de sécurité et de mise à l'échelle restent nettes, même si, aujourd'hui, les deux plans tournent dans un seul service API.
Envoi d'un message de chat
- Le serveur résout le plan actif de votre organisation et vérifie que le niveau de modèle demandé figure dans sa liste autorisée — ceci est appliqué côté serveur, pas seulement masqué dans l'interface.
- Si le message poursuit une conversation existante, la propriété est vérifiée avant toute autre chose — un identifiant de conversation invalide ou appartenant à un autre utilisateur est rejeté avant que le moindre quota ne soit touché.
- Une clé d'idempotence (envoyée avec chaque requête de chat) est réservée. Une requête retentée avec la même clé ne facture jamais deux fois ni ne rappelle jamais le prestataire de modèle ; une requête dupliquée déjà en cours est rejetée d'emblée.
- Le coût estimé est réservé sur votre quota quotidien avant même que le modèle ne soit appelé.
- Le message de l'utilisateur est enregistré, le modèle diffuse sa réponse token par token, et la réponse est enregistrée avec ses comptes de tokens réels et son coût réel — comme une seule transaction atomique en base de données, afin qu'un plantage ne puisse jamais laisser un message facturé sans écriture de ledger correspondante (ou l'inverse).
- La réservation de quota est régularisée au coût réel (ou entièrement libérée, si rien n'a réellement été facturé), et le ledger est débité de ce même montant.
La facturation est un ledger — une séquence d'écritures de crédit/débit — jamais un simple solde unique qui se décrémente directement. C'est ce qui permet de raisonner correctement sur une requête qui échoue à mi-chemin, sur un remboursement, ou sur le rapprochement exact de ce pour quoi un utilisateur a été facturé.
Téléversement d'un fichier
Upload → validate type/size → malware scan → store → extract text → available for citation in chat
Un fichier qui échoue au scan anti-malware ou à l'extraction de texte est marqué comme échoué et n'est pas utilisable dans le chat. Le filtrage des permissions (les fichiers que vous êtes autorisé à voir) a lieu avant que le moindre contenu n'atteigne un modèle — une frontière de sécurité, pas seulement un filtre de recherche.