Guide pratique Hermes Agent : donner une boîte mail sécurisée à votre IA avec Agent Mail


L’e-mail n’est plus vraiment utilisé au quotidien, en dehors des codes de vérification occasionnels. Mais lorsque vous souhaitez donner à un Agent IA sa propre boîte mail pour notifications, rapports ou workflows automatisés, le coût de configuration peut être surprenant. Des outils comme Himalaya fonctionnent, mais leur syntaxe est souvent intimidante.

C’est pourquoi l’équipe QQ Mail de Tencent a créé Agent Mail, un service de messagerie conçu spécifiquement pour les Agents. Il est isolé des boîtes mail personnelles, nativement adapté aux Agents et axé sur la sécurité et l’efficacité. Associé à l’interface conversationnelle de Hermes Agent, l’e-mail devient quasi sans friction pour l’IA.

Ce guide présente le moyen le plus simple de permettre à Hermes d’envoyer et de recevoir des e-mails via Agent Mail.


1. Installer le CLI Agent Mail

La promesse d’Agent Mail est directe :

Agent Mail est un service de boîte mail dédié créé par l’équipe QQ Mail pour les Agents. Il est isolé des comptes e-mail personnels, nativement conçu pour les Agents, et vous aide à utiliser les Agents pour envoyer et recevoir des e-mails en toute sécurité et efficacement.

L’intégration est tout aussi simple. Dites simplement à Hermes :

Veuillez lire la documentation à https://agent.qq.com/doc/cli-setup.md et suivre les étapes pour installer et configurer le Agent Mail CLI pour moi.

Hermes vous guidera ensuite : télécharger agently-cli, connexion OAuth, autorisation des scopes et vérification de la boîte mail. L’ensemble du flux est conversationnel, vous n’avez pas besoin d’éditer manuellement les fichiers de configuration.

Une fois installé, vérifiez votre compte avec :

agently-cli +me

La sortie inclut votre adresse Agent Mail, vos alias et votre quota d’envoi quotidien.


2. Audit de sécurité : où Agent Mail stocke les identifiants

Avant de confier une boîte mail à l’IA, il est utile d’examiner le design de sécurité. Voici une analyse de agently-cli.

2.1 Stockage des identifiants

Élément Détail
Stockage chiffré des tokens Le token OAuth est stocké dans ~/.local/share/agently-cli/bootstrap_token.enc et chiffré avec une clé aléatoire de 32 octets
Clé de chiffrement isolée master.key est stocké séparément avec les permissions -rw------- (propriétaire uniquement)
Répertoire de données isolé Les permissions du répertoire de données sont drwx------ (propriétaire uniquement)
Aucune fuite en clair ~/.agently-cli/config.json ne stocke que app_id, pas le token

2.2 Communication réseau

  • Tout le trafic utilise HTTPS sur le port 443 ; pas de HTTP en clair.
  • Les serveurs API sont des IPs d’infrastructure Tencent (157.148.28.138 / 163.177.6.12).
  • La résolution DNS passe par systemd-resolved local (127.0.0.53:53).
  • Aucun domaine tiers n’a été trouvé dans le binaire en dehors de Tencent.

2.3 Cycle de vie du token

  • Les tokens d’accès expirent après environ une heure, suivis par granted_atexpires_at.
  • Rafraîchissement manuel : agently-cli auth refresh.
  • Le SDK rafraîchit également automatiquement les tokens.
  • Déconnexion à tout moment : agently-cli auth logout efface tous les identifiants locaux.

2.4 Limites de débit

Limite Valeur
Quota d’envoi quotidien 50 e-mails
Requêtes par heure 200
Requêtes par minute 10
Pièces jointes par e-mail 50
Taille maximale d’une pièce jointe 20 Mo

2.5 Sécurité opérationnelle

  • Confirmation en deux étapes : les actions sensibles comme envoyer, répondre, transférer et supprimer nécessitent un aperçu et un token de confirmation ; l’exécution n’a lieu qu’après validation de l’utilisateur.
  • Les tokens de confirmation expirent en 5 minutes : empêche les attaques par rejeu.
  • Isolation des entrées non fiables : le contenu des e-mails n’est pas exécuté comme des instructions, imposé par des règles de sécurité intégrées de haute priorité dans le skill.

2.6 Scope OAuth

Les scopes demandés sont minimaux :

  • alias:read — lire les alias de la boîte mail
  • mail:read — lire les e-mails
  • mail:send — envoyer des e-mails
  • mail:delete — supprimer des e-mails

2.7 Risques

  • Le binaire est propriétaire (compilé Go), donc un audit complet du code source n’est pas possible ; seul le comportement observable peut être examiné.
  • Les vérifications de mise à jour contactent les serveurs Tencent pour les informations de version, enregistrées dans update-state.json.

3. Référence complète des commandes

Après installation et connexion, voici les commandes courantes de agently-cli.

Fonction Commande Description
Voir le profil agently-cli +me Adresse e-mail, alias, quotas
Lister les messages agently-cli message +list Prend en charge inbox / sent / trash / spam, pagination, filtres non lus / pièces jointes / plage de dates
Lire un message agentially-cli message +read --id msg_xxx Corps complet + liste des pièces jointes
Rechercher des messages agently-cli message +search --q "mot-clé" Recherche en texte intégral avec filtres expéditeur, destinataire, date, pièces jointes
Surveiller les nouveaux e-mails agently-cli message +watch Long-polling, notifications de nouveaux e-mails en temps réel
Envoyer un e-mail agently-cli message +send Plusieurs destinataires, CC / CCI, corps HTML, pièces jointes (confirmation en deux étapes)
Répondre agently-cli message +reply --id msg_xxx Prend en charge répondre à tous, CC / CCI, pièces jointes supplémentaires
Transférer agently-cli message +forward --id msg_xxx Conserve les pièces jointes originales, permet d’ajouter de nouvelles
Déplacer vers la corbeille agently-cli message +trash --id msg_xxx Suppression logique ; suppression définitive après 30 jours
Téléverser une pièce jointe agently-cli attachment +upload --file ./xxx Téléverse un fichier à utiliser comme pièce jointe
Télécharger une pièce jointe agently-cli attachment +download --msg msg_xxx --att att_xxx Les pièces jointes normales sont enregistrées localement ; les pièces jointes surdimensionnées retournent une URL
Gestion de l’authentification agently-cli auth login / logout / status / refresh Gestion complète du cycle de vie OAuth

En pratique, vous n’avez pas besoin de mémoriser ces commandes. Dites à Hermes ce que vous voulez, par exemple « vérifie mon dernier e-mail » ou « envoie un rapport hebdomadaire à [email protected] », et Hermes invoquera la bonne commande et vous rapportera le résultat.


4. Cas d’usage typiques

  1. Codes de vérification et notifications Enregistrez des services avec Agent Mail et laissez Hermes lire les e-mails de vérification automatiquement.

  2. Rapports planifiés Combinez avec Hermes Cron pour générer des rapports quotidiens et les envoyer avec message +send.

  3. Workflows déclenchés par e-mail Utilisez message +watch pour surveiller les e-mails entrants et déclencher des actions en fonction de l’objet ou de l’expéditeur.

  4. Transferts de fichiers Utilisez attachment +upload et attachment +download pour déplacer des fichiers entre le stockage local et l’e-mail. Les pièces jointes volumineuses retournent une URL pour faciliter le partage.


5. Résumé

Agent Mail rend l’attribution d’une boîte mail à un Agent IA étonnamment simple. Vous n’avez plus besoin de retenir des protocoles de messagerie complexes, des paramètres IMAP/SMTP, ni de craindre de mélanger votre e-mail personnel avec l’accès de l’Agent. Avec agently-cli et l’interface conversationnelle de Hermes, vous pouvez installer, autoriser et envoyer votre premier e-mail en quelques minutes.

Le design de sécurité est solide pour un outil CLI : identifiants chiffrés, HTTPS complet, confirmation en deux étapes pour éviter les erreurs, limites de débit pour prévenir les abus et scopes OAuth minimaux. Le principal risque est que le binaire est propriétaire, donc un audit approfondi du code source n’est pas possible, mais le comportement observable ne montre aucune connexion inattendue à des tiers.

Si votre Agent doit recevoir des codes de vérification, envoyer des notifications ou gérer des workflows basés sur l’e-mail, Agent Mail mérite d’être essayé en premier.

agently-cli +me
agently-cli message +list
agently-cli message +send