Hermes Agent est un agent IA open source de Nous Research qui combine un modèle de langage, des outils, une mémoire persistante et des canaux de messagerie dans un runtime que vous contrôlez. Il remplace le va-et-vient entre un chatbot, un terminal, des scripts planifiés et plusieurs bots lorsque la même tâche doit lire, agir, retenir une préférence et revenir avec un résultat.
Ce que fait Hermes Agent, concrètement
Hermes Agent exécute des tâches en plusieurs étapes au lieu de produire seulement une réponse. Le modèle choisit un outil, observe son résultat et adapte la suite jusqu'à une réponse ou un livrable.
Le dépôt officiel de Hermes Agent est publié par Nous Research sous licence MIT. Le projet se présente comme un agent qui s'améliore avec l'expérience. Il ne réentraîne pas le modèle chez vous : il conserve surtout des mémoires courtes, crée des skills et recherche ses anciennes sessions.
Hermes s'exécute sur Linux, macOS, WSL2, Termux et Windows natif. Cette compatibilité ne garantit pas que chaque outil dispose du même backend sur chaque hôte. Si votre tâche dépend du navigateur, du son ou d'un terminal particulier, validez cet outil sur la plateforme retenue avant d'ouvrir un accès distant.
- Recherche : l'agent peut chercher des pages, en extraire le contenu puis écrire une synthèse. Ce flux reste mauvais si les sources ne sont pas vérifiables.
- Fichiers : il peut lire un dossier, retrouver une configuration et proposer un patch. Relisez ses changements dès que les données ont une valeur métier.
- Planification :
hermes cronpeut déclencher un agent, lui attacher un skill et livrer le résultat. Il ne remplace pas un calcul qui exige toujours le même chemin. - Événement :
hermes webhookpeut activer l'agent sur une souscription. Le déclencheur ne garantit pas la qualité de la décision prise ensuite.
Cette vidéo suit un cas complet : la gestion d'une boutique en ligne confiée à Hermes, avec les outils et les tâches récurrentes qui la tiennent.
Les outils sont regroupés en toolsets comme web, terminal, file, browser, memory, cronjob ou delegation. hermes tools règle les ensembles actifs par plateforme. Une réponse cohérente confirme le modèle, tandis qu'un fichier créé ou une page extraite confirme aussi les outils. Vous pouvez confronter un livrable SEO aux outils gratuits de FEU plutôt que demander au même agent de se noter.
L'architecture : agent, outils, mémoire, Gateway
Hermes sépare l'orchestration, l'inférence, les actions et les points d'entrée. Vous pouvez donc changer de modèle ou de canal sans reconstruire toute la logique de l'agent.
- L'agent vit sur la machine qui exécute Hermes. Il assemble le prompt, sélectionne le fournisseur, distribue les outils et enregistre la session.
- Le modèle vit chez un fournisseur distant ou derrière votre endpoint. Il choisit les outils, mais ne lit pas spontanément le disque.
- Les outils réalisent les actions. Certains opèrent sur l'hôte, comme les fichiers, tandis que d'autres appellent un service externe.
- La mémoire utilise des fichiers sous
~/.hermes/et une base SQLite pour les sessions. Elle ne réside pas seulement dans le contexte du modèle. - Le Gateway autorise l'expéditeur, retrouve sa session, transmet son message au même coeur agentique puis renvoie la réponse vers la plateforme.
Un message entre par le terminal ou un adaptateur. Hermes construit le contexte, transmet la demande au modèle, exécute ses appels d'outils puis lui renvoie les observations. La réponse finale et la session sont ensuite persistées.
Cette vidéo suit le message jusqu'au modèle, aux outils et au stockage. Elle montre pourquoi le Gateway est une porte vers la boucle agentique, pas un second agent.
Modèle distant ou modèle local : le seul arbitrage qui compte
Un modèle distant allège la machine qui héberge Hermes, tandis qu'un modèle local déplace le calcul, le coût et la maintenance chez vous. Ce choix détermine le matériel avant le nombre de skills ou le canal de messagerie.
hermes model sélectionne le fournisseur et le modèle, puis gère les clés d'API, OAuth et les endpoints personnalisés. Nous Portal, OpenRouter, OpenAI et un endpoint exploité par vos soins sont documentés. Dans une conversation, /model bascule seulement entre les fournisseurs déjà configurés.
| Critère | Modèle distant | Modèle local ou auto-hébergé |
|---|---|---|
| Calcul | Le fournisseur réalise l'inférence. Le serveur Hermes orchestre les sessions et outils. | Votre serveur porte la charge. Les besoins dépendent du modèle, de sa quantification et du contexte. |
| Coût | Facturation à l'usage, crédits ou abonnement selon le fournisseur. | Matériel, électricité et exploitation remplacent le tarif par appel du modèle. |
| Données | Le prompt transmis part vers le fournisseur choisi. | L'inférence peut rester chez vous, mais les outils cloud envoient encore des données ailleurs. |
| Disponibilité | Elle dépend du réseau, du compte et du service externe. | Elle dépend de votre machine et de votre capacité à la maintenir. |
| Bon choix si | Vous voulez un hôte léger et des modèles gérés. | Vous acceptez l'exploitation du modèle pour contrôler son inférence. |
Nous Research indique que le runtime peut aller d'un VPS à 5 dollars à une infrastructure serverless. Cela décrit l'orchestration, pas le coût total. Un petit VPS convient si l'inférence part vers une API, mais il ne peut pas exécuter n'importe quel modèle local.
La mémoire : ce que l'agent retient vraiment
La mémoire native de Hermes est un aide-mémoire borné, pas une base de connaissances. Deux fichiers gardent les faits prioritaires, tandis qu'une recherche séparée retrouve les conversations passées.
La documentation officielle de la mémoire sépare les notes de l'agent du profil utilisateur. Les plafonds sont exprimés en caractères, ce qui impose des entrées courtes.
| Support | Contenu | Plafond ou comportement |
|---|---|---|
~/.hermes/memories/MEMORY.md | Environnement, conventions, décisions et leçons utiles à l'agent. | 2 200 caractères. |
~/.hermes/memories/USER.md | Préférences, profil, style de communication et attentes. | 1 375 caractères. |
~/.hermes/sessions/ | Sessions du terminal et des messageries, indexées en plein texte. | Consultées à la demande par session_search, sans injection complète dans le prompt. |
Au début d'une session, MEMORY.md et USER.md sont injectés dans le prompt système sous forme d'instantané figé. Une préférence ajoutée pendant l'échange est écrite aussitôt sur le disque. Elle n'entre pourtant dans le contexte système qu'à la session suivante.
L'outil memory propose add, replace et remove, mais pas read puisque le contenu est déjà dans le contexte. Une écriture trop longue renvoie une erreur avec l'état courant. Rien n'est supprimé en silence : l'agent doit consolider ou retirer une entrée, puis réessayer.
session_search interroge l'index plein texte des sessions et renvoie les messages trouvés. Hermes peut retrouver un échange ancien sans le garder dans les 3 575 caractères des fichiers. Cette recherche couvre les conversations enregistrées, pas une documentation qui n'a jamais été placée dans une session ou un skill.
Ces réglages vivent dans ~/.hermes/config.yaml, sous la clé memory. memory_enabled active la mémoire, write_approval met les écritures en attente d'une validation, et memory_char_limit et user_char_limit fixent les deux plafonds. Passer en approbation rend les changements visibles, mais ne transforme pas une supposition du modèle en fait validé.
Réservez la mémoire aux éléments qui doivent influencer plusieurs sessions : chemin d'un projet, convention de nommage, format de réponse ou préférence durable. Un journal complet, une documentation longue et un secret d'accès n'y ont pas leur place. Quand le plafond approche, fusionnez les entrées redondantes au lieu de supprimer une contrainte encore active.
Les skills : ce qui transforme un chatbot en agent
Un skill donne à Hermes une méthode, des références et parfois des scripts adaptés à une tâche. Il évite de répéter votre procédure, sans garantir une exécution identique à chaque session.
Tous les skills convergent vers ~/.hermes/skills/, la source de vérité du profil. Leur structure suit le standard ouvert Agent Skills, présenté dans le guide sur les Agent Skills. Le format facilite la portabilité, mais une extension propre à Hermes peut demander une adaptation ailleurs.
Le chargement est progressif. La liste des noms, descriptions et catégories représente environ 3 000 tokens dans le catalogue documenté. Le corps d'un skill est chargé à son activation, puis ses références seulement à la demande.
Un skill devient une commande slash comme /plan. Vous pouvez en chaîner jusqu'à cinq. /learn en crée depuis un dossier, une URL, une procédure décrite ou un PDF. Les skills du hub sont scannés contre l'exfiltration, l'injection de prompt, les commandes destructrices et les risques de chaîne d'approvisionnement. --force ne contourne jamais un verdict dangerous.
Le Gateway : parler à son agent depuis Telegram, Discord ou Slack
Le Gateway relie un même agent aux messageries configurées et maintient leurs sessions. Un seul processus dessert plus de 25 plateformes et adaptateurs documentés, dont Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Microsoft Teams, LINE, ntfy et iMessage via BlueBubbles.
La documentation officielle du Gateway montre que texte, fichiers, voix et fils de discussion varient selon le canal. Choisissez la plateforme selon l'échange attendu, pas seulement selon l'application déjà ouverte.
| Plateforme | Prérequis distinctif | Limite à prévoir |
|---|---|---|
| Telegram | Un token de bot fourni par BotFather. | Le mode de confidentialité change ce que le bot voit dans un groupe. |
| Discord | Une application, un token et l'intention Message Content. | Sans cette intention, le texte du message reste vide. |
| Slack | Une application personnalisée, Socket Mode, des tokens et des permissions. | Les scopes doivent suivre les fonctions utilisées. |
| Un QR code pour associer le bridge comme appareil lié. | Les identifiants de session enregistrés donnent accès au compte. |
Le QR code de WhatsApp relie le compte au bridge. Le code texte d'appairage sert, lui, à autoriser un expéditeur inconnu. L'administrateur peut valider hermes pairing approve telegram XKGH5N7P. Une liste comme TELEGRAM_ALLOWED_USERS=123456789,987654321 restreint l'accès.
hermes send peut livrer un message ponctuel sur plusieurs plateformes déjà configurées sans lancer une boucle d'agent. Certains adaptateurs persistants exigent toutefois un Gateway actif. Vous pouvez ainsi envoyer un rapport existant sans confier une nouvelle décision au modèle.
Cette vidéo montre le trajet complet depuis Telegram : une demande envoyée dans la messagerie, un travail exécuté par l'agent, puis le résultat renvoyé dans le même fil.
Hermes Agent, ChatGPT ou n8n : lequel pour quoi
Choisissez Hermes pour un runtime agentique que vous exploitez, ChatGPT pour une expérience hébergée prête à l'emploi, et n8n pour un workflow explicite représenté par un graphe. Ils se chevauchent, mais ne placent ni le contrôle ni la répétabilité au même endroit.
| Hermes Agent | ChatGPT | n8n |
|---|---|---|
| Besoin : confier un objectif variable à un agent qui choisit parmi vos outils. | Besoin : travailler dans un service hébergé avec les fonctions de l'offre active. | Besoin : faire circuler des données dans des déclencheurs et noeuds visibles. |
| Exécution : sur votre hôte, avec un fournisseur de modèle interchangeable. | Exécution : dans l'environnement géré par le service. | Exécution : sur n8n Cloud ou une instance exploitée par vos soins. |
| Répétabilité : le modèle, la mémoire et le contexte influencent le chemin. | Répétabilité : adaptée au travail interactif, selon les fonctions du produit. | Répétabilité : le graphe expose le chemin, les branches et les reprises. |
| Méthode : mémoire, recherche de sessions et skills du profil Hermes. | Méthode : mécanismes administrés par le service selon vos réglages. | Méthode : données stockées dans les composants reliés par le workflow. |
| Limite : vous gérez l'hébergement, les permissions et les mises à jour. | Limite : vous contrôlez moins le runtime sous-jacent. | Limite : le graphe devient lourd si chaque étape exige une interprétation libre. |
Si une facture doit toujours passer par les mêmes contrôles, n8n offre une structure plus explicite. Le guide pour installer n8n couvre ce choix. Si la consigne est « analyse ce dossier, demande ce qui manque et choisis les outils », Hermes correspond mieux. ChatGPT reste cohérent si vous préférez déléguer l'exploitation.
Hermes peut aussi traiter l'étape ambiguë d'un workflow n8n, tandis que n8n garde les déclencheurs, validations et écritures déterministes. Cette combinaison ajoute deux systèmes à surveiller. Elle vaut le coût seulement si leur frontière est nette.
Pour décider, décrivez un exemple avec son entrée, son résultat attendu et la validation humaine disponible. Si vous connaissez déjà chaque étape, privilégiez le graphe. Si l'objectif demande de choisir une méthode selon le contexte, testez Hermes. Si vous ne voulez pas exploiter de runtime, gardez l'expérience hébergée.
Ce que Hermes Agent ne fait pas bien
Hermes ne rend pas une tâche fiable par le seul ajout d'outils et de mémoire. Ses limites apparaissent lorsque vous attendez une connaissance exhaustive, une exécution identique ou un accès large sans surveillance.
- Mémoire courte : les deux fichiers totalisent 3 575 caractères. Une documentation volumineuse doit passer par
session_searchou un skill. - Correction différée : le disque change aussitôt, mais l'instantané courant reste figé jusqu'à la session suivante.
- Résultat variable : deux modèles ou deux contextes peuvent choisir un autre outil. Un processus réglementé demande des validations externes.
- Accès risqué : terminal, fichiers et credentials élargissent la surface d'attaque. Appairage, listes blanches et approbations ne suppriment pas ce risque.
- Modèle local inégal : son contexte ou son suivi des appels d'outils peut décevoir. Testez-le sur des actions, pas seulement en conversation.
- Projet mouvant : adaptateurs, commandes et installateurs évoluent. Une procédure ancienne peut devenir fausse d'une version à l'autre.
Commencez avec un périmètre réversible : lecture avant écriture, dossier de test avant production, utilisateur appairé avant canal ouvert. Ajoutez un outil lorsque vous savez quel résultat permettra de contrôler son action.
Par où commencer
Prenez trois décisions avant de choisir une commande d'installation. Vous éviterez de rendre une instance disponible sans savoir quel modèle, quelles permissions et quel canal elle doit servir.
- Choisissez l'inférence. Une API distante garde l'hôte léger. Un endpoint local vous laisse le matériel, la maintenance et les limites de tool calling.
- Définissez une tâche et ses outils minimaux. Lire trois sources et produire un fichier n'exige pas forcément
terminal, la messagerie et la génération d'images. Écrivez aussi le critère d'échec. - Choisissez l'accès. Le terminal suffit pour un usage ponctuel. Le Gateway sert les sessions distantes, planifications et livraisons. Commencez avec une liste blanche.
Votre premier essai doit vérifier trois comportements séparés. Demandez une réponse factuelle, puis une action qui produit un artefact observable, puis une préférence à retrouver dans une nouvelle session. Vous saurez ainsi si l'échec vient du modèle, des outils ou de la mémoire, au lieu de modifier toute la configuration à la fois.
Une fois ces choix arrêtés, le guide d'installation de Hermes Agent sur VPS traite les commandes, le service, le durcissement et le dépannage sans les dupliquer ici. hermes doctor diagnostique ensuite la configuration, pas la qualité métier d'une réponse.
Cette vidéo relie ces décisions à un assistant disponible en continu. Elle distingue le serveur Hermes, le fournisseur de modèle, les outils et le canal de restitution.
Qu'est-ce que Hermes Agent ?
Hermes Agent est-il gratuit ?
Hermes Agent peut-il fonctionner sans clé API ?
Quelle est la différence entre Hermes Agent et ChatGPT ?
Que retient la mémoire de Hermes Agent ?
MEMORY.md garde 2 200 caractères de notes et USER.md 1 375 caractères sur vos préférences. Leur instantané est chargé au début de la session. session_search retrouve séparément les conversations stockées dans SQLite.

