Cette page t'a-t-elle aidé ?
Cette page t'a-t-elle aidé ?
Guide
Gilbert apprend ta voix à partir de tes 30 derniers Sent Gmail, et drafte ensuite tes réponses dans ce style.
Dernière mise à jour : 10 juillet 2026
Deux profils-types se croisent sur cette feature :
Si tu n'as pas encore configuré le forward-to-Gilbert, commence par cette page : l'entraînement n'a d'intérêt que si tu utilises ensuite la voix apprise.
Trois étapes, déclenchées par un clic. Délai typique end-to-end : 30 à 60 secondes selon le provider LLM de ton workspace.
gilbert-user-style-train (event gilbert.user_style.train) appelle l'API Gmail avec tes tokens OAuth perso et liste tes 30 derniers messages dans SENT. Pas de scan d'Inbox, pas de lecture des mails reçus, uniquement ce que tu as écrit.getLLMClient(supabase, workspaceId, { tier: "smart" }). C'est ton workspace qui paie ces tokens (BYOLLM Anthropic / Google / OpenAI), tracké via logUsage(pipeline: "user_style_train"). Le parse est sécurisé par generateObject + un schéma Zod strict : le profil retourné est structuré, pas du texte libre.gilbert.user_style_profile avec user_id = auth.uid() comme PK. Une seule row par utilisateur, partagée par tous tes workspaces. Chaque ré-entraînement remplace la précédente (pas d'historique persisté côté row, juste un trained_at).Le profil est un JSON structuré, validé par Zod avant insertion. Tu ne le vois pas directement dans l'UI V1 (juste un « profil entraîné » avec la date), mais voici concrètement les champs captés :
| Champ | Ce que ça capte |
|---|---|
| tone | Tonalité dominante (professionnel chaleureux, direct, informel, etc.). |
| formality | Tu/vous par défaut, et patterns de switch (tutoiement avec collègues récurrents, vouvoiement avec prospects). |
| openings | Les ouvertures que tu utilises le plus (« Bonjour Sophie, », « Hello, », « Salut Marc, »). |
| closings | Tes formules de fin (« Bien à toi, », « Belle journée, », « À très vite, »). |
| avg_length_words | Longueur moyenne de tes mails en mots : utilisé comme cible par Gilbert pour ne pas drafter 3 paragraphes quand tu en ferais 2 lignes. |
| signature_phrases | Tics de langage récurrents (« Je reviens vers toi », « Top, on fait comme ça », « N'hésite pas si besoin »). |
| language | Langue dominante détectée (fr / en). V1 = single-language ; V1.5 = multi-langue avec sélection au draft selon la langue du mail entrant. |
Exemple de profil construit pour un compte commercial typique :
{
"tone": "professionnel chaleureux",
"formality": "vouvoiement par défaut, tutoiement avec collègues récurrents",
"openings": ["Bonjour Sophie,", "Hello Marc,", "Bonjour,"],
"closings": ["Bien à toi,", "Belle journée,", "À très vite,"],
"avg_length_words": 65,
"signature_phrases": [
"Je reviens vers toi rapidement.",
"N'hésite pas si besoin.",
"Top, on fait comme ça."
],
"language": "fr",
"trained_at": "2026-05-28T14:32:11Z",
"source_message_count": 30
}C'est l'invariant critique de la feature, et le tableau principal de la page (carte violette) l'affiche en clair :« Visible et utilisé uniquement par toi : aucun autre membre du workspace ne voit ton style ».
gilbert.user_style_profile n'autorise SELECT que si user_id = auth.uid(). Pas d'exception admin, pas de override pour les owners du workspace. Un admin qui dumperait la table en SQL via l'UI ne verra que son propre profil.user_id. Si tu es membre des workspaces acme-direction et acme-support, les deux workspaces draftent dans ta voix avec la mêmerow. C'est voulu : ton style est une propriété de toi, pas d'une org.Le profil ne se ré-entraîne pas tout seul : c'est volontaire, pour éviter de cramer du quota LLM sur des refreshes invisibles. À relancer manuellement dans ces cas :
| Capacité | V1 (aujourd'hui) | V1.5 (prévue) |
|---|---|---|
| Fenêtre d'échantillonnage | 30 derniers Sent | 100 derniers Sent, stratifié récents + variés |
| Détection de langue | Single-language (langue dominante) | Multi-langue, sélection au draft selon le mail entrant |
| Profil par contexte | Un seul profil global per-user | Multi-style per-user (ex : « direction » vs « support ») |
| Source des messages | Gmail uniquement | Outlook / IMAP générique |
| Auto re-entraînement | Manuel | Cron mensuel optionnel (opt-in) |