Intermédiaire 12 minAgents

Hermes Agent avec Ollama : mémoire, outils et limites

Réponse directe

Oui : Hermes Agent de Nous Research se branche sur un Ollama local en déclarant un fournisseur personnalisé avec l'adresse http://127.0.0.1:11434 et une clé d'API vide. Mais l'inférence locale ne rend pas l'agent hors ligne par défaut : recherche web, synthèse vocale et navigateur cloud restent des services tiers tant qu'on ne les désactive pas. Choisissez un modèle annoncé pour l'appel d'outils, sous peine de le voir décrire une action au lieu de l'exécuter.

Hermes Agent est le framework d'agent autonome publié par Nous Research, avec terminal, mémoire persistante et connecteurs de messagerie. Ce guide couvre son branchement à un Ollama local, le choix d'un modèle capable d'appeler des outils, ce que sa mémoire garde réellement, et les limites de sécurité et de fiabilité à connaître avant de l'utiliser au quotidien.

Par Mohamed Meguedmi·Màj 2026-09-28·Testé sur Windows, macOS, Linux

#Ce qu'est Hermes Agent

Hermes Agent (dépôt NousResearch/hermes-agent) est un agent autonome en ligne de commande, doté d'une interface TUI, d'une passerelle de messagerie (Telegram, Discord, Slack, WhatsApp, Signal) et d'un système de compétences qui se créent et s'améliorent avec l'usage. Il ne remplace pas Hermes 4, qui est un modèle de langage : Hermes Agent est le logiciel qui orchestre les appels d'outils, la mémoire et le terminal, quel que soit le modèle branché derrière.

Le dépôt tourne à un rythme soutenu : la version taguée v2026.9.24 (Hermes Agent v0.21.5), publiée le 24 septembre 2026, regroupe plusieurs centaines de correctifs depuis la version précédente. Le projet est publié sous licence MIT par Nous Research, ce qui autorise un usage professionnel sans redevance, y compris pour un déploiement modifié.

L'agent tourne dans un seul processus passerelle capable de servir plusieurs canaux à la fois : terminal local, Telegram, Discord, Slack, WhatsApp et Signal partagent la même mémoire et le même historique de conversation. C'est ce qui permet de démarrer une tâche depuis son poste de travail puis de la suivre depuis un téléphone, sans dupliquer la configuration du modèle ni de la mémoire d'un canal à l'autre.

i
Différence avec Hermes 4
Hermes Agent est un framework d'agent qui accepte n'importe quel modèle en back-end. Hermes 4 est une famille de modèles que vous pouvez précisément faire tourner derrière lui via Ollama. Les deux portent le nom Hermes mais ne se substituent pas l'un à l'autre.

#Brancher Ollama en local

Le kit Agents Locaux

Des agents qui agissent sur ta machine : Cline agentique, MCP, n8n + Ollama, automatisations locales.

  • Espace en ligne à vie
  • PDF + fichiers
  • Mises à jour à vie

Hermes Agent route les fournisseurs OpenAI-compatibles auto-hébergés (Ollama, vLLM, llama.cpp) sous leur propre nom de provider. La documentation officielle est explicite sur le format attendu : un base_url pointant vers le serveur, et une clé d'API vide qui sert de simple espace réservé.

~/.hermes/config.yaml
auxiliary:
  compression:
    provider: ollama
    model: qwen3.6:27b-q4_k_m
    base_url: http://127.0.0.1:11434

Une base_url réduite à un simple host:port (sans /v1) reçoit automatiquement le suffixe attendu par l'API OpenAI-compatible : inutile de l'ajouter à la main. Ce même mécanisme fonctionne pour vLLM et llama.cpp en changeant seulement le nom du provider et le port.

Ce même bloc de configuration peut cibler des rôles différents : le modèle de conversation principal, le modèle de compression de contexte, ou le modèle utilisé pour générer un titre de session. Chacun peut pointer vers un provider distinct — par exemple un modèle Ollama local pour la conversation, et un modèle cloud plus rapide réservé aux tâches auxiliaires — ce qui permet de garder la confidentialité sur l'essentiel des échanges tout en évitant qu'un petit modèle local ne ralentisse les tâches secondaires.

!
Local ne veut pas dire hors ligne
Router le modèle principal vers Ollama ne coupe pas les services annexes. Recherche web, génération d'images, synthèse vocale et navigateur cloud passent par des API externes (Nous Portal ou vos propres clés) tant que vous ne désactivez pas ces outils un par un dans la configuration.

#Quel modèle pour l'appel d'outils

Hermes Agent expose plus de 40 outils (terminal, fichiers, navigateur, mémoire, cron) que le modèle doit invoquer via des appels structurés, pas par une simple description en texte. Un modèle Ollama qui n'a pas été entraîné pour le tool-calling — ou une quantification trop agressive du même modèle — répond souvent par une explication au lieu de déclencher l'appel.

Modèle de conversation principal
Privilégiez une variante Ollama explicitement listée comme compatible outils (balise tools sur ollama.com/library) plutôt qu'un modèle générique de chat.
Modèle auxiliaire (titres, compression)
Peut rester léger : Hermes Agent l'appelle après la réponse du tour principal sur un provider local à un seul emplacement, pas en parallèle, pour éviter qu'un serveur mono-slot ne mélange les deux requêtes.
Format d'identifiant
Un provider nommé peut préfixer le modèle, par ex. ollama-local/qwen3.6:27b-q4_k_m ; ce préfixe s'applique aussi quand seule la requête brute (sans préfixe) arrive au serveur.

Un fait à surveiller de près : sur un provider local personnalisé, l'appel du modèle de titre est envoyé après l'arrivée de la réponse du tour, pas en même temps qu'elle. Sur un serveur local à un seul créneau de traitement, cela évite qu'une requête de titre en JSON structuré ne vienne interrompre la génération de la réponse elle-même — un détail d'ordonnancement rarement documenté ailleurs.

#Mémoire : ce qui persiste vraiment

La mémoire de Hermes Agent repose sur des fichiers texte simples, lisibles et modifiables directement : MEMORY.md et USER.md dans le répertoire de profil. Le modèle décide, via un outil dédié, ce qu'il vaut la peine d'y écrire — préférences, faits durables, procédures apprises.

Terminal
cat ~/.hermes/memories/MEMORY.md
cat ~/.hermes/memories/USER.md

Le point faible documenté par le projet lui-même : un petit modèle local peut annoncer « c'est enregistré » sans avoir réellement appelé l'outil d'écriture. La documentation officielle recommande, pour un modèle local de moins d'environ 30 milliards de paramètres ou à l'appel d'outils peu fiable, de demander explicitement l'usage de l'outil mémoire puis de vérifier le fichier — plutôt que de multiplier les instructions dans le prompt.

→
Vérifier plutôt que croire
Après une demande de mémorisation, ouvrez le fichier MEMORY.md ou USER.md pour confirmer que l'entrée y figure réellement. Si l'écriture est activée avec validation humaine (write_approval), elle reste en attente tant qu'elle n'est pas approuvée explicitement.

#Sécurité : huit couches, pas un mur

Nous Research documente un modèle de sécurité à huit couches : autorisation des utilisateurs, approbation humaine des commandes dangereuses, garde-fous sur l'écriture de fichiers, isolation par conteneur (Docker, Singularity, Modal), filtrage des identifiants transmis aux serveurs MCP, détection d'injection de prompt dans les fichiers de contexte, isolation entre sessions et validation des chemins de travail des outils terminal.

L'approbation des commandes dangereuses se règle via approvals.mode dans le fichier de configuration, avec trois régimes disponibles : automatique, manuel ou intelligent (le mode par défaut recommandé, qui approuve les actions à faible risque et bloque les autres pour validation).

!
L'isolation par conteneur n'est pas automatique
Ces huit couches existent dans le logiciel, mais l'isolation Docker/Singularity/Modal doit être choisie comme terminal backend au moment de la configuration. Un agent lancé en backend local exécute les commandes directement sur votre machine, sans la sandbox conteneur.

#Limites d'un petit modèle local pour cet agent

Un agent aussi riche en outils que Hermes Agent sollicite fortement la capacité de suivi d'instructions du modèle : mémoire, planification, appels d'outils enchaînés, et parfois sous-agents parallèles. Sur un modèle de 7 à 14 milliards de paramètres en quantification Q4_K_M, attendez-vous à des appels d'outils manqués, des confirmations sans exécution réelle, et une compression de contexte plus fréquente sur les longues sessions.

Ce qui se dégrade en premier avec un petit modèle local
FonctionSymptôme typique
Mémoire (outil dédié)Confirmation verbale sans écriture réelle du fichier
Enchaînement d'outilsLe modèle décrit l'étape suivante au lieu de l'exécuter
Sous-agents parallèlesInstructions mal transmises, résultats à recouper manuellement
Sessions longuesCompression de contexte plus fréquente, pertes de détails anciens

Rien de tout cela n'est propre à Hermes Agent : c'est la limite connue des petits modèles quantifiés face à des formats de sortie structurés. La réponse documentée par le projet n'est pas d'ajouter des instructions, mais d'utiliser un modèle plus solide au moins pour la phase de configuration initiale, une fois les entrées en mémoire posées, un modèle plus léger peut ensuite les relire sans problème puisqu'elles arrivent directement dans le prompt système.

Les sous-agents et les scripts Python qui appellent les outils par RPC — deux fonctions mises en avant par le projet pour paralléliser des tâches — reposent sur la même capacité de suivi d'instructions que l'appel d'outil simple. Un modèle qui peine déjà sur un appel isolé aura d'autant plus de mal à orchestrer plusieurs sous-agents sans mélanger leurs contextes respectifs : mieux vaut valider le comportement de base avant d'activer ces fonctionnalités avancées.

#Serveurs MCP : catalogue et permissions

Hermes Agent embarque un catalogue de serveurs MCP revus et fusionnés par l'équipe Nous Research (Linear, GitHub, Figma, Asana notamment), mais chaque serveur reste désactivé par défaut : il faut l'installer explicitement avant qu'il ne devienne accessible à l'agent. Une fois les identifiants renseignés, Hermes Agent interroge le serveur pour lister les outils qu'il expose et affiche une liste à cocher, ce qui évite d'activer d'un bloc toutes les capacités d'un serveur tiers encore mal connu.

Détail que peu de tutoriels mentionnent : pour les serveurs MCP en mode stdio, Hermes Agent ne transmet pas l'environnement shell complet du poste au sous-processus. Seules les variables explicitement déclarées dans la configuration du serveur, plus un socle minimal (PATH, HOME, USER, LANG, TERM, SHELL notamment), sont passées ; les autres variables d'environnement, y compris les clés d'API et jetons, sont filtrées. C'est ce mécanisme qui réduit le risque qu'un serveur MCP tiers mal audité aspire un secret présent dans le shell.

#Sous-agents : ce que la délégation permet

L'outil delegate_task permet à Hermes Agent de confier une tâche à un agent enfant : chaque sous-agent démarre sa propre conversation, avec sa propre session de terminal, et n'hérite que des outils déjà activés pour l'agent parent — il ne peut pas s'octroyer une capacité supplémentaire que le parent n'a pas lui-même. Seul le résumé final du sous-agent remonte dans le contexte de l'agent principal ; les appels d'outils intermédiaires n'y entrent jamais, ce qui limite la consommation de contexte sur les tâches longues et évite de polluer la conversation principale de détails d'exécution.

Par défaut, jusqu'à dix sous-agents peuvent tourner en parallèle — une limite configurable, sans plafond matériel imposé par le logiciel — mais la profondeur de délégation par défaut reste fixée à 1 : un sous-agent ne peut pas à son tour créer d'autres sous-agents tant que ce comportement n'est pas activé explicitement dans la configuration. Sur un modèle local de 7 à 14B, mieux vaut garder cette profondeur à 1 : chaque niveau supplémentaire de délégation multiplie le nombre d'appels d'outils à enchaîner correctement, exactement le point faible identifié plus haut pour les petits modèles quantifiés.

#Dépannage : symptômes, cause, correction

La plupart des blocages avec un endpoint Ollama local se résument à quatre familles de symptômes, chacune avec une cause identifiable dans la documentation officielle plutôt qu'une hypothèse à tâtons.

Symptômes fréquents avec un endpoint Ollama local
SymptômeCause probableCorrection
Coupures de flux ou timeout sur un contexte longLe délai de lecture par défaut ne couvre pas la latence d'un modèle local volumineuxAugmenter HERMES_STREAM_READ_TIMEOUT (ex. 1800 secondes) dans la configuration
Le modèle décrit l'action au lieu de l'exécuterModèle non annoncé compatible tool-calling, ou quantification trop agressive du même modèleChoisir une variante listée « tools » sur la fiche ollama.com/library du modèle
Confirmation de mémorisation sans écriture du fichierModèle local sous environ 30B avec appel d'outils peu fiableVérifier MEMORY.md/USER.md après chaque demande ; au besoin, repasser temporairement sur un modèle plus capable
Un serveur MCP tiers ne voit pas une variable attendueFiltrage d'environnement : seules les variables déclarées et le socle minimal sont transmis au sous-processusDéclarer explicitement la variable dans la configuration de ce serveur MCP

Hermes Agent détecte automatiquement les endpoints locaux et assouplit ses délais de lecture en conséquence, mais un contexte volumineux sur un modèle Ollama lent peut encore dépasser ce délai par défaut ; la documentation officielle recommande d'ajuster la variable HERMES_STREAM_READ_TIMEOUT plutôt que de réduire arbitrairement le contexte envoyé au modèle.

#Installer en pratique

  1. 01
    Installer Hermes Agent
    Sur Linux, macOS ou WSL2 : curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash, puis recharger le shell et lancer hermes.
  2. 02
    Préparer le modèle Ollama
    Vérifier qu'Ollama tourne sur le port 11434 et que le modèle choisi est annoncé compatible tool-calling avant de le déclarer comme provider.
  3. 03
    Déclarer le provider local
    Utiliser hermes config set pour renseigner provider: ollama, le nom du modèle et le base_url http://127.0.0.1:11434, avec une clé d'API vide.
  4. 04
    Tester un appel d'outil simple
    Demander une action vérifiable (lister un dossier, lire un fichier) et confirmer dans le terminal que l'outil s'est bien exécuté, pas seulement décrit.
  5. 05
    Contrôler la mémoire
    Demander explicitement une mémorisation puis ouvrir MEMORY.md pour vérifier que l'entrée y figure avant de faire confiance à l'agent sur ce point.
Questions fréquentes
Hermes Agent fonctionne-t-il sans connexion internet une fois branché sur Ollama ?+
Pas par défaut. Le modèle de conversation principal tourne bien en local une fois le provider Ollama déclaré, mais la recherche web, la synthèse vocale, la génération d'images et le navigateur cloud restent des services externes tant que vous ne les désactivez pas explicitement dans la configuration des outils. Pour un usage réellement hors ligne, il faut couper ces outils un par un plutôt que de se fier au seul routage du modèle principal.
Quel modèle Ollama choisir pour Hermes Agent ?+
Choisissez un modèle explicitement annoncé compatible tool-calling sur sa fiche ollama.com/library, comme qwen3.6:27b-q4_k_m cité dans la documentation officielle. Un modèle générique de chat, même volumineux, répond souvent en langage naturel au lieu de déclencher l'appel d'outil structuré attendu par le framework, ce qui bloque des fonctions entières comme la mémoire, le terminal ou les serveurs MCP installés.
Hermes Agent est-il la même chose que le modèle Hermes 4 ?+
Non. Hermes Agent est le logiciel d'orchestration : terminal, mémoire, appel d'outils, serveurs MCP et délégation à des sous-agents. Hermes 4 est un modèle de langage que vous pouvez faire tourner derrière lui, via Ollama ou un autre provider, au même titre que n'importe quel autre modèle compatible tool-calling. Les deux portent le même nom mais ne remplissent pas le même rôle.
Comment vérifier que la mémoire de Hermes Agent fonctionne réellement ?+
Demandez explicitement une mémorisation, puis ouvrez ~/.hermes/memories/MEMORY.md ou USER.md pour confirmer que l'entrée y figure réellement sur le disque. Avec un petit modèle local de moins d'environ 30 milliards de paramètres, une confirmation verbale sans écriture réelle du fichier est un scénario que la documentation du projet reconnaît elle-même comme fréquent, d'où l'intérêt de vérifier plutôt que de faire confiance à la réponse de l'agent.
L'isolation par conteneur est-elle activée automatiquement ?+
Non. Le sandboxing par conteneur (Docker, Singularity, Modal) est un choix de terminal backend fait explicitement à la configuration, parmi sept backends disponibles dont l'exécution locale. Un agent lancé avec le backend local par défaut exécute les commandes directement sur la machine hôte, sans cette isolation ; il faut sélectionner un backend conteneurisé pour en bénéficier réellement.
Comment activer un serveur MCP dans Hermes Agent ?+
Les serveurs MCP du catalogue Nous Research sont désactivés par défaut : il faut les installer un par un dans la configuration avant qu'ils ne soient accessibles à l'agent. Une fois les identifiants renseignés, Hermes Agent interroge le serveur pour lister les outils qu'il expose et affiche une liste à cocher, ce qui évite d'activer d'un coup toutes les capacités d'un serveur tiers mal connu.
Combien de sous-agents Hermes Agent peut-il lancer en parallèle ?+
Par défaut, jusqu'à dix sous-agents peuvent tourner simultanément via l'outil delegate_task, une limite configurable sans plafond imposé par le logiciel. La profondeur de délégation reste toutefois fixée à 1 par défaut : un sous-agent ne peut pas en créer d'autres tant que ce comportement n'est pas activé explicitement, ce qui évite une explosion incontrôlée du nombre d'agents et de la consommation de jetons.

Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.