<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Hermes on Vezpi Lab</title>
        <link>https://blog.vezpi.com/fr/tags/hermes/</link>
        <description>Recent content in Hermes on Vezpi Lab</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>fr</language>
        <lastBuildDate>Wed, 28 Oct 2026 21:42:43 +0000</lastBuildDate><atom:link href="https://blog.vezpi.com/fr/tags/hermes/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>Hermes Agent, l&#39;équipe IA de mon homelab</title>
            <link>https://blog.vezpi.com/fr/post/deploy-hermes-agent-homelab/</link>
            <pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate>
            <guid>https://blog.vezpi.com/fr/post/deploy-hermes-agent-homelab/</guid>
            <description>&lt;img src=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/cover-26-hermes.webp&#34; alt=&#34;Featured image of post Hermes Agent, l&#39;équipe IA de mon homelab&#34; /&gt;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&#xA;&lt;/h2&gt;&lt;p&gt;J&amp;rsquo;entends parler des agents IA autonomes depuis un moment. OpenClaw faisait beaucoup parler de lui, mais je ne voyais pas vraiment ce que j&amp;rsquo;en ferais. Après avoir un peu expérimenté avec les agents IA, j&amp;rsquo;ai commencé à comprendre comment ils pourraient m&amp;rsquo;aider dans mes propres projets.&lt;/p&gt;&#xA;&lt;p&gt;Mon homelab me donne déjà pas mal de matière : du code d&amp;rsquo;infrastructure, des notes de projet et de la documentation technique. Je veux un assistant capable d&amp;rsquo;utiliser ce contexte, plutôt que de devoir lui réexpliquer toute la configuration à chaque conversation.&lt;/p&gt;&#xA;&lt;p&gt;Je veux aussi expérimenter avec plusieurs agents qui travaillent ensemble. Est-ce que je peux leur attribuer des responsabilités distinctes et faire passer le travail de l&amp;rsquo;un à l&amp;rsquo;autre sans devenir celui qui copie les informations entre les chats ? Automatiser le travail pour finir au service copier-coller serait une promotion un peu décevante. 😅&lt;/p&gt;&#xA;&lt;p&gt;🎯 Pour ce projet, je déploie Hermes Agent dans une VM Proxmox dédiée, je le connecte à mon coffre Obsidian et je constitue une petite équipe d&amp;rsquo;agents spécialisés. L&amp;rsquo;installation est la partie facile. Les faire travailler ensemble demande un peu plus de réflexion.&lt;/p&gt;&#xA;&lt;h2 id=&#34;quest-ce-que-hermes-agent-&#34;&gt;Qu&amp;rsquo;est-ce que Hermes Agent ?&#xA;&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://hermes-agent.nousresearch.com/docs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Hermes Agent&lt;/a&gt; est un agent IA open source développé par Nous Research. Il relie un modèle de langage à des outils, une mémoire persistante et des instructions réutilisables appelées skills.&lt;/p&gt;&#xA;&lt;p&gt;Hermes n&amp;rsquo;est pas le modèle lui-même. Le modèle interprète ma demande et décide de la prochaine action. Hermes fournit l&amp;rsquo;environnement dans lequel il peut agir. Selon les outils que j&amp;rsquo;active, cela peut inclure la lecture de fichiers, la modification de Markdown, la recherche sur le web ou l&amp;rsquo;exécution de commandes.&lt;/p&gt;&#xA;&lt;p&gt;Un agent peut donc enchaîner plusieurs étapes avant de me répondre. Il lit les fichiers pertinents, appelle un outil, examine le résultat et continue s&amp;rsquo;il reste du travail. C&amp;rsquo;est la boucle de l&amp;rsquo;agent. Son utilité dépend du contexte, des permissions et des outils dont il dispose, ainsi que du modèle qui le fait fonctionner.&lt;/p&gt;&#xA;&lt;p&gt;Deux fonctionnalités m&amp;rsquo;intéressent particulièrement :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;La mémoire persistante conserve le contexte utile entre les sessions, comme mes préférences et des informations sur mon environnement.&lt;/li&gt;&#xA;&lt;li&gt;Les skills stockent des procédures que l&amp;rsquo;agent peut charger lorsqu&amp;rsquo;une tâche en a besoin. Hermes peut créer et affiner ces skills à partir de son expérience.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;💡 La partie auto-amélioration mérite une petite explication. Enregistrer une procédure n&amp;rsquo;est pas la même chose qu&amp;rsquo;entraîner le modèle sous-jacent. L&amp;rsquo;agent consigne quelque chose de réutilisable, puis le consulte lors d&amp;rsquo;une prochaine session. Je peux examiner ces instructions et les corriger si nécessaire.&lt;/p&gt;&#xA;&lt;p&gt;Hermes propose aussi une application desktop et des passerelles de messagerie. Je peux interagir avec la même installation distante depuis mon portable ou via Telegram sur mon téléphone.&lt;/p&gt;&#xA;&lt;h2 id=&#34;hermes-sur-proxmox&#34;&gt;Hermes sur Proxmox&#xA;&lt;/h2&gt;&lt;p&gt;🚀 Je crée une VM Ubuntu à partir de mon &lt;a class=&#34;link&#34; href=&#34;https://blog.vezpi.com/fr/post/proxmox-cloud-init-vm-template/&#34; &gt;template cloud-init existant&lt;/a&gt;, avec les ressources suivantes :&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Ressource&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Configuration&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Nom d&amp;rsquo;hôte&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;hermes&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;CPU&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2 vCPU&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Mémoire&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;4 GB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Disque&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;30 GB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Réseau&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;VLAN Lab&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;J&amp;rsquo;utilise un utilisateur Linux dédié nommé &lt;code&gt;hermes&lt;/code&gt; pour exécuter l&amp;rsquo;agent. Après avoir installé les prérequis, je passe sur cet utilisateur et lance l&amp;rsquo;installateur :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install git curl xz-utils libatomic1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo -iu hermes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;L&amp;rsquo;assistant de configuration me guide dans le choix du fournisseur de modèles et des outils. J&amp;rsquo;utilise d&amp;rsquo;abord OpenRouter, puis je bascule mes profils vers l&amp;rsquo;intégration de l&amp;rsquo;abonnement OpenAI.&lt;/p&gt;&#xA;&lt;p&gt;ℹ️ J&amp;rsquo;héberge ici l&amp;rsquo;environnement de l&amp;rsquo;agent, pas le modèle de langage. Dans ma configuration, les requêtes au modèle partent toujours vers un fournisseur externe. Exécuter Hermes dans ma propre VM ne signifie pas que le contexte envoyé à ce fournisseur reste dans le homelab.&lt;/p&gt;&#xA;&lt;p&gt;Sur ma Surface, j&amp;rsquo;installe Hermes Desktop et je le connecte à la VM via les paramètres de passerelle distante. L&amp;rsquo;application me sert d&amp;rsquo;interface, tandis que l&amp;rsquo;agent travaille avec les fichiers de la VM.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Hermes Desktop confirme que le backend distant de ma VM est accessible.&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;369px&#34; data-flex-grow=&#34;154&#34; height=&#34;1564&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-remote-gateway-connection-success.png&#34; srcset=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-remote-gateway-connection-success_hu_57bd443372f69586.png 800w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-remote-gateway-connection-success_hu_eb533a16d67f7752.png 1600w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-remote-gateway-connection-success_hu_50adb7e44250f0db.png 2400w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-remote-gateway-connection-success.png 2410w&#34; width=&#34;2410&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;exécute le backend du dashboard comme un service utilisateur &lt;code&gt;systemd&lt;/code&gt; et j&amp;rsquo;active le lingering pour qu&amp;rsquo;il reste disponible après déconnexion.&lt;/p&gt;&#xA;&lt;p&gt;Cela me donne une interface pratique pour discuter, suivre l&amp;rsquo;activité des outils et configurer les agents sans garder un terminal SSH ouvert.&lt;/p&gt;&#xA;&lt;h2 id=&#34;connexion-à-obsidian&#34;&gt;Connexion à Obsidian&#xA;&lt;/h2&gt;&lt;p&gt;Avant de demander à Hermes de m&amp;rsquo;aider avec le lab, je prépare du contexte sur mes objectifs, l&amp;rsquo;infrastructure et ma façon de travailler. Je lui demande ensuite de faire le point sur ce qu&amp;rsquo;il sait et de me poser des questions pour combler les lacunes.&lt;/p&gt;&#xA;&lt;p&gt;🔎 Les questions sont plus pertinentes que prévu, et je prends le temps d&amp;rsquo;y répondre soigneusement. C&amp;rsquo;est aussi un bon moyen de découvrir les parties de ma configuration que je n&amp;rsquo;ai pas bien expliquées.&lt;/p&gt;&#xA;&lt;p&gt;Mon coffre Obsidian est l&amp;rsquo;étape suivante. Il contient les notes de projet et la documentation technique que je veux voir l&amp;rsquo;agent consulter, plutôt que de se limiter à ce que je mentionne au fil d&amp;rsquo;un chat.&lt;/p&gt;&#xA;&lt;p&gt;Je crée un compte Gitea dédié à Hermes et lui donne d&amp;rsquo;abord un accès en lecture au dépôt du coffre. L&amp;rsquo;agent clone le coffre sur la VM. Quand je suis prêt à le laisser pousser des modifications de documentation, je lui accorde l&amp;rsquo;accès en écriture.&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;accès aux fichiers n&amp;rsquo;est qu&amp;rsquo;une partie de la préparation. L&amp;rsquo;agent doit aussi savoir comment les utiliser. J&amp;rsquo;écris donc un Codex qui décrit la structure du coffre et ses règles de fonctionnement. Les journaux de projet lui donnent le contexte de mes expérimentations et de mes décisions.&lt;/p&gt;&#xA;&lt;p&gt;Hermes commence à créer des skills à partir de ce contexte. C&amp;rsquo;est utile, mais je ne veux pas que chaque agent invente sa propre version de mon workflow. À mesure que la configuration évolue, je commence à maintenir les instructions partagées de façon plus délibérée.&lt;/p&gt;&#xA;&lt;h2 id=&#34;rôles-des-agents&#34;&gt;Rôles des agents&#xA;&lt;/h2&gt;&lt;p&gt;🏴‍☠️ Pour une raison qui m&amp;rsquo;échappe, je me fais déjà appeler Captain quand je parle aux assistants IA. Avec Docker et Kubernetes dans le lab, le thème nautique n&amp;rsquo;est pas complètement hors sujet. Je pousse l&amp;rsquo;idée un peu plus loin et crée un équipage pour Vezpi Lab.&lt;/p&gt;&#xA;&lt;p&gt;Derrière les noms et les avatars, chaque membre a une responsabilité définie :&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Agent&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Responsabilité&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Salty&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Architecture, planification, délégation et revue&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Flint&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Recherche et vérification auprès de sources externes&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Patch&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Développement logiciel et infrastructure, tests et investigations en lecture seule&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Ink&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Documentation, maintenance de la base de connaissances et traductions&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;J&amp;rsquo;inclus au départ un autre agent pour l&amp;rsquo;architecture, puis je confie cette responsabilité à Salty. Quatre profils suffisent pour cette expérimentation. Mon homelab a maintenant un organigramme, ce qui est probablement le signe que je suis allé assez loin dans l&amp;rsquo;exercice de nommage. 😄&lt;/p&gt;&#xA;&lt;p&gt;Un &lt;a class=&#34;link&#34; href=&#34;https://hermes-agent.nousresearch.com/docs/user-guide/profiles&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;profil Hermes&lt;/a&gt; possède sa propre configuration, sa mémoire, ses sessions et ses skills. Ce sont des environnements d&amp;rsquo;assistant distincts sur la même machine, pas quatre VM ni quatre modèles entraînés séparément.&lt;/p&gt;&#xA;&lt;p&gt;Cette séparation me permet de donner un rôle plus ciblé à chaque agent. Ink a besoin de mes conventions de rédaction, tandis que Patch a besoin du code et du workflow de vérification. Flint n&amp;rsquo;a pas besoin de tous les outils utilisés pour maintenir le coffre.&lt;/p&gt;&#xA;&lt;p&gt;⚠️ Je définis aussi des limites. Les agents peuvent faire des recherches, préparer du code, lancer des vérifications et documenter les résultats. Je reste responsable des décisions et de l&amp;rsquo;application des changements à l&amp;rsquo;infrastructure du homelab. Une description de rôle n&amp;rsquo;est toutefois pas une sandbox de sécurité. L&amp;rsquo;accès aux outils et les identifiants doivent rester cohérents avec ces responsabilités.&lt;/p&gt;&#xA;&lt;h3 id=&#34;fichiers-de-contexte&#34;&gt;Fichiers de contexte&#xA;&lt;/h3&gt;&lt;p&gt;Je répartis le contexte à plusieurs endroits :&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Fichier ou répertoire&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Rôle dans ma configuration&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;SOUL.md&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Identité, rôle et limites du profil&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;USER.md&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Informations sur moi et mes préférences&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;MEMORY.md&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Informations durables conservées entre les sessions&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Règles partagées pour travailler dans le workspace Vezpi Lab&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;skills/&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Procédures chargées pour des tâches spécifiques&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Les règles partagées du workspace renvoient les agents vers le Codex du coffre. Elles rendent aussi la répartition du travail explicite, pour que chaque profil ne cherche pas à tout faire. Je définis leur répertoire de travail sur le workspace Vezpi Lab.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Le paramètre de workspace donne à chaque profil le même répertoire de départ pour le projet.&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;873px&#34; data-flex-grow=&#34;364&#34; height=&#34;652&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-define-workingdir.png&#34; srcset=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-define-workingdir_hu_770053753856af0c.png 800w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-define-workingdir_hu_4d50b08a318f43d5.png 1600w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-define-workingdir.png 2374w&#34; width=&#34;2374&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je déplace les identités et les skills personnalisés dans un dépôt Git dédié, avec un script de déploiement et une configuration de projet. Ces fichiers commençaient à s&amp;rsquo;éparpiller sur la VM, et je veux suivre leurs modifications comme le reste de ma configuration.&lt;/p&gt;&#xA;&lt;h2 id=&#34;délégation-entre-agents&#34;&gt;Délégation entre agents&#xA;&lt;/h2&gt;&lt;p&gt;Créer les profils me donne des spécialistes, mais pas immédiatement une équipe utile.&lt;/p&gt;&#xA;&lt;p&gt;🧩 Lors d&amp;rsquo;un premier test de délégation, Salty crée un sous-agent temporaire au lieu de contacter le membre de l&amp;rsquo;équipage auquel je pensais. Les deux approches peuvent être utiles, mais elles sont différentes. Donner à chacun un nom et un avatar ne suffit malheureusement pas à régler la délégation.&lt;/p&gt;&#xA;&lt;p&gt;Un sous-agent temporaire démarre une nouvelle conversation pour une tâche délimitée. Mes profils nommés conservent leurs propres instructions et leur mémoire. Si je veux que Flint fasse la recherche selon son rôle, lancer un agent enfant générique n&amp;rsquo;est pas forcément la passation que je recherche.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;expérimente avec Bot Mode et j&amp;rsquo;arrive à faire échanger les agents nommés dans l&amp;rsquo;application desktop.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Un premier échange dans Bot Mode, avant que je confie le rôle d’architecture de Moon à Salty.&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;434px&#34; data-flex-grow=&#34;180&#34; height=&#34;1420&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-bot-to-bot.png&#34; srcset=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-bot-to-bot_hu_b62bf114d83ed66.png 800w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-bot-to-bot_hu_9b719b87bd4b2036.png 1600w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-bot-to-bot_hu_f5c8505204b665d3.png 2400w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-bot-to-bot.png 2570w&#34; width=&#34;2570&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;📱 Je configure aussi Telegram pour chaque profil, ce qui me permet de parler à l&amp;rsquo;équipage depuis mon téléphone.&lt;/p&gt;&#xA;&lt;p&gt;La passerelle tourne comme un service utilisateur. Après un redémarrage de la VM, je confirme qu&amp;rsquo;elle repart et que je peux de nouveau joindre les bots.&lt;/p&gt;&#xA;&lt;p&gt;Malgré tout, maintenir plusieurs profils ajoute de la friction. J&amp;rsquo;envisage même de revenir à un seul assistant. Il me faut un moyen d&amp;rsquo;attribuer le travail et d&amp;rsquo;en conserver le résultat sans transférer moi-même le contexte d&amp;rsquo;une conversation à l&amp;rsquo;autre.&lt;/p&gt;&#xA;&lt;h2 id=&#34;coordination-avec-kanban&#34;&gt;Coordination avec Kanban&#xA;&lt;/h2&gt;&lt;p&gt;Le tableau Kanban est ce qui me convainc de conserver la configuration multi-agent.&lt;/p&gt;&#xA;&lt;p&gt;Dans Hermes, c&amp;rsquo;est une file de travail partagée. Une carte a un agent assigné, une description du travail attendu et un résultat consigné. Les dépendances permettent à une tâche d&amp;rsquo;en attendre une autre, et le dispatcher démarre les tâches éligibles avec le profil assigné.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;active le plugin Kanban dans Hermes Desktop :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Le plugin Kanban dans le menu Capabilities, avant son activation.&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;504px&#34; data-flex-grow=&#34;210&#34; height=&#34;1048&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-plugin-enable-kanban.png&#34; srcset=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-plugin-enable-kanban_hu_4eddbb22199384ee.png 800w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-plugin-enable-kanban_hu_71ac29692e01e27e.png 1600w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-plugin-enable-kanban.png 2202w&#34; width=&#34;2202&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;🔧 Je vérifie ensuite que les outils Kanban sont activés pour les quatre profils. Activer le plugin ne suffit pas si le worker prévu ne peut pas utiliser ses outils.&lt;/p&gt;&#xA;&lt;p&gt;Pour le premier test, je demande à Salty de créer une petite tâche pour Flint, suivie d&amp;rsquo;une tâche pour Ink. Flint laisse un commentaire et prépare la passation. Ink vérifie ensuite le résultat de la tâche parente et le confirme.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;La tâche de Flint est en cours, tandis que la tâche dépendante d’Ink attend dans Todo.&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;471px&#34; data-flex-grow=&#34;196&#34; height=&#34;1140&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-kanban-smoke-test-task-chain.png&#34; srcset=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-kanban-smoke-test-task-chain_hu_76ec617489cbfa43.png 800w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-kanban-smoke-test-task-chain_hu_8138269a72fac6cd.png 1600w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-kanban-smoke-test-task-chain.png 2240w&#34; width=&#34;2240&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;La dépendance est visible sur le tableau. La tâche d&amp;rsquo;Ink attend que Flint termine, au lieu de compter sur moi pour remarquer un message et le transférer. Je peux ouvrir les cartes pour consulter leurs instructions, commentaires et résultats.&lt;/p&gt;&#xA;&lt;p&gt;✅ Les deux tâches se terminent, et Salty me rapporte le résultat. Ce n&amp;rsquo;est qu&amp;rsquo;un petit smoke test, mais il vérifie ce qui me manquait : le travail peut passer d&amp;rsquo;un profil nommé à l&amp;rsquo;autre via une file partagée.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;La tâche terminée d’Ink conserve le commentaire et le résumé qui confirment la passation de Flint.&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;369px&#34; data-flex-grow=&#34;153&#34; height=&#34;1384&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-kanban-task-info.png&#34; srcset=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-kanban-task-info_hu_8e6a39df46c1a92b.png 800w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-kanban-task-info_hu_a4f6e3d48bdead5.png 1600w, https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-kanban-task-info.png 2130w&#34; width=&#34;2130&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pour rendre les mêmes outils Kanban disponibles via Telegram, je les active pour cette plateforme sur chaque profil :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hermes tools enable kanban --platform telegram&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hermes -p patch tools enable kanban --platform telegram&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hermes -p ink tools enable kanban --platform telegram&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hermes -p flint tools enable kanban --platform telegram&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cela donne aux agents un mécanisme de suivi du travail en complément du chat. Cela ne prouve pas que n&amp;rsquo;importe quel projet complexe peut tourner sans surveillance, et ne me dispense pas de relire les résultats. En revanche, je peux voir ce qui a été demandé, qui s&amp;rsquo;en est chargé et ce qui a été produit.&lt;/p&gt;&#xA;&lt;h2 id=&#34;abonnement-openai&#34;&gt;Abonnement OpenAI&#xA;&lt;/h2&gt;&lt;p&gt;💸 Après quelques sessions, la consommation de tokens est plus élevée que prévu. Ajouter des profils implique aussi de maintenir leur contexte et de décider des outils et des skills dont chacun a besoin.&lt;/p&gt;&#xA;&lt;p&gt;Je désactive les skills inutilisés selon le rôle de chaque agent, sans les restreindre au point de ne plus pouvoir découvrir ce dont ils ont besoin en pratique. Les skills sont chargés à la demande, mais sélectionner ceux qui sont pertinents aide tout de même à garder une configuration ciblée.&lt;/p&gt;&#xA;&lt;p&gt;Une requête via OpenRouter me coûte environ 5 $ pendant mon test. Le résultat me plaît, mais cela suffit à me faire reconsidérer la façon dont je paie les modèles. L&amp;rsquo;équipage est peut-être virtuel, mais la facture est bien réelle. 😅&lt;/p&gt;&#xA;&lt;p&gt;Avec une facturation par clé API, chaque échange supplémentaire augmente la consommation que je paie. Cela me fait hésiter à poursuivre la conversation, même pour dire à un agent qu&amp;rsquo;il a fait du bon travail ou lui expliquer ce qu&amp;rsquo;il doit améliorer. Payer pour dire &amp;ldquo;bon travail&amp;rdquo;, c&amp;rsquo;est donner un prix à la politesse, au sens propre.&lt;/p&gt;&#xA;&lt;p&gt;Cette hésitation freine la boucle d&amp;rsquo;auto-amélioration que je voulais essayer. Les retours donnent à l&amp;rsquo;agent du contexte utile sur ce qui a fonctionné et ce qui doit changer. Les corrections peuvent ensuite devenir des instructions dans un skill réutilisable, plutôt que quelque chose que je dois réexpliquer la fois suivante.&lt;/p&gt;&#xA;&lt;p&gt;Je bascule les profils vers l&amp;rsquo;intégration de l&amp;rsquo;abonnement OpenAI via Hermes Desktop et teste les requêtes texte ainsi que la génération d&amp;rsquo;images.&lt;/p&gt;&#xA;&lt;p&gt;🔁 Depuis ce changement, je ne retiens plus mes retours à cause du coût de chaque requête. Je dis aux agents quand leur travail est bon, et je prends le temps d&amp;rsquo;expliquer ce qui doit être amélioré. J&amp;rsquo;hésite moins à itérer, ce qui me permet de mieux profiter de la boucle d&amp;rsquo;auto-amélioration d&amp;rsquo;Hermes.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;installe aussi un plugin provider-usage pour voir la consommation dans l&amp;rsquo;interface plutôt que de consulter sans cesse le site du fournisseur.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Le plugin provider-usage affiche la consommation de l’abonnement et les chiffres d’OpenRouter directement dans la barre d’état.&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;669px&#34; data-flex-grow=&#34;278&#34; height=&#34;238&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://blog.vezpi.com/en/post/deploy-hermes-agent-homelab/images/hermes-desktop-codex-usage-status-bar.png&#34; width=&#34;664&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Cela change ma façon d&amp;rsquo;accéder aux modèles, mais ne rend pas leur utilisation illimitée ou gratuite. Je dois toujours surveiller la consommation et choisir un modèle adapté à chaque tâche.&lt;/p&gt;&#xA;&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&#xA;&lt;/h2&gt;&lt;p&gt;🎉 Hermes tourne maintenant dans une VM Proxmox, connecté à mon coffre Obsidian et accessible depuis mon portable et mon téléphone. Les agents ont des rôles distincts, et leurs instructions partagées ainsi que leurs skills personnalisés sont suivis dans Git.&lt;/p&gt;&#xA;&lt;p&gt;La découverte la plus utile est la passation via Kanban. Au départ, les profils distincts ajoutent assez de friction pour que je remette leur intérêt en question. Une fois que les agents peuvent attribuer du travail, attendre les dépendances et consigner les résultats sur des cartes, cette organisation prend davantage de sens.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;expérimente encore pour trouver le bon niveau de spécialisation. Pour l&amp;rsquo;instant, je garde les quatre agents : Salty coordonne, Flint fait les recherches, Patch s&amp;rsquo;occupe de l&amp;rsquo;ingénierie et Ink documente. Je reste responsable des décisions et des changements d&amp;rsquo;infrastructure, avec une trace plus claire du travail que les agents préparent pour moi.&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
