Auto-héberger Hermes Agent sur un VPS
Déployez Hermes Agent de Nous Research sur votre propre VPS. Créez un utilisateur dédié, installez en une commande, choisissez votre fournisseur LLM, connectez Telegram et lancez le tout en service systemd.
Hermes Agent est un projet qui avance vite. Depuis son lancement en février 2026, Nous Research a publié neuf versions en sept semaines. La v0.9.0 est sortie le 13 avril et c'est une tout autre bête : un tableau de bord web local pour gérer les paramètres et les sessions depuis votre navigateur, 16 plateformes de messagerie (dont iMessage et WeChat), le support natif Android/Termux, des commandes intégrées de sauvegarde et d'import, un mode rapide pour l'inférence à faible latence et un moteur de contexte extensible. Le projet est passé d'« expérience intéressante » à « agent personnel prêt pour la production » en moins de deux mois.
Le faire tourner sur votre laptop suffit pour des tests rapides. Mais un agent qui s'arrête quand vous fermez l'écran, accessible uniquement depuis votre clavier et qui oublie son espace de travail au redémarrage n'est pas très utile à long terme. Un VPS corrige ces trois problèmes : l'agent reste en ligne 24h/24, vous y accédez depuis n'importe laquelle de ces 16 plateformes sur votre téléphone, et ses mémoires et compétences persistent entre les sessions.
La mise en place est directe. Lancez une VM, créez un utilisateur non-root pour l'isolation, installez Hermes, choisissez votre modèle et votre passerelle, et encapsulez le tout dans un service systemd. C'est toute la procédure.
Auto-héberger des agents IA sur un VPS
Pourquoi auto-héberger maintenant ? La leçon du verrouillage fournisseur
Le 4 avril 2026, Anthropic a coupé l'accès des agents IA tiers aux abonnements Claude Pro et Max. Jusqu'à ce jour, des outils comme OpenClaw permettaient de lancer des charges de travail agentiques lourdes pour un forfait mensuel fixe. Du jour au lendemain, ces utilisateurs ont reçu une erreur 400 et un avis de migration. Les seules options restantes : passer à la facturation par token via l'API (potentiellement 10 fois plus cher pour les gros utilisateurs), acheter des packs d'utilisation entreprise, ou migrer vers Claude Code Channels d'Anthropic, un concurrent direct d'OpenClaw lancé le même mois.
Le schéma est clair. Construisez votre workflow sur la plateforme d'un seul fournisseur, et un changement de politique peut tout casser. Les agents auto-hébergés comme Hermes évitent ce piège. Hermes est agnostique en matière de fournisseur : il supporte plus de 15 backends d'inférence nativement, d'OpenRouter à Nous Portal en passant par un serveur Ollama local. Si un fournisseur change ses conditions ou ses tarifs, vous le remplacez en une commande et continuez à travailler. Vos mémoires, compétences et sessions restent sur votre serveur, quel que soit le LLM derrière.
Qu'est-ce que Hermes Agent et pourquoi l'auto-héberger ?
Hermes Agent est un agent IA open-source (licence MIT) développé par Nous Research. Il se connecte à des fournisseurs de LLM, exécute des commandes dans le terminal, navigue sur le web et mémorise ce qu'il apprend entre les sessions. Il construit des compétences réutilisables à partir des tâches qu'il accomplit et supporte 16 passerelles de messagerie : Telegram, Discord, Slack, WhatsApp, Signal, Matrix, iMessage, WeChat, WeCom, Email, SMS, DingTalk, Feishu, Mattermost, Home Assistant et Webhooks.
L'auto-hébergement signifie que vos prompts et données restent sur votre serveur. Aucune plateforme d'agent tierce ne voit vos conversations. L'agent tourne en continu, construit du contexte au fil du temps, et ne coûte que l'hébergement VPS plus les appels API LLM que vous effectuez.
De quoi Hermes Agent a-t-il besoin pour tourner sur un VPS ?
Un serveur Linux avec Git installé. C'est le seul prérequis. L'installeur récupère automatiquement Python 3.11+, Node.js v22, ripgrep et ffmpeg. Côté matériel : 2 Go de RAM et 10 Go de disque constituent le minimum. 4 Go de RAM sont préférables si vous prévoyez de lancer plusieurs sessions de passerelle ou d'utiliser le tableau de bord web en parallèle de l'agent.
| Exigence | Minimum | Recommandé |
|---|---|---|
| OS | Ubuntu 22.04 / Debian 12 | Ubuntu 24.04 |
| RAM | 2 Go | 4 Go+ |
| Disque | 10 Go libres | 20 Go+ |
| CPU | 1 vCPU | 2+ vCPU |
Prérequis
Avant d'installer Hermes Agent, configurez un utilisateur non-root et un pare-feu de base. Si votre VPS est déjà sécurisé, passez directement à la section installation.
Créer un utilisateur dédié
Connectez-vous en SSH à votre serveur en tant que root et créez un utilisateur pour Hermes :
adduser hermes --disabled-password --gecos ""
usermod -aG sudo hermes
Donnez-lui le sudo sans mot de passe (nécessaire pour la gestion du service) :
echo "hermes ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/hermes
chmod 440 /etc/sudoers.d/hermes
Copiez votre clé SSH pour pouvoir vous connecter avec cet utilisateur :
mkdir -p /home/hermes/.ssh
cp ~/.ssh/authorized_keys /home/hermes/.ssh/
chown -R hermes:hermes /home/hermes/.ssh
chmod 700 /home/hermes/.ssh
chmod 600 /home/hermes/.ssh/authorized_keys
À partir de maintenant, travaillez en tant qu'utilisateur hermes :
su - hermes
Configurer le pare-feu
Installez UFW et n'autorisez que SSH :
sudo apt-get install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw --force enable
Vérifiez les règles actives :
sudo ufw status verbose
La sortie devrait montrer SSH autorisé et tout le reste du trafic entrant refusé. La passerelle Hermes établit des connexions sortantes vers l'API Telegram, donc aucun port entrant n'a besoin d'être ouvert pour la messagerie.
Comment installer Hermes Agent sur Ubuntu ?
Une seule commande. Lancez-la en tant qu'utilisateur hermes, pas root.
Installation en un clic
Virtua.Cloud maintient un script d'installation clé en main qui configure Hermes Agent avec la persistance systemd en une seule étape :
curl -fsSL https://virtua.sh/i/hermes-ssh | bash
Le script gère tout ce qui est couvert dans les sections suivantes : l'installation de Hermes et la création du service systemd. Une fois terminé, passez directement à la configuration de votre fournisseur LLM.
Installation manuelle
Si vous préférez installer étape par étape, téléchargez l'installeur officiel et examinez-le avant de le lancer :
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh -o /tmp/hermes-install.sh
less /tmp/hermes-install.sh
Le script installe Python 3.11+ via uv, Node.js v22, ripgrep, ffmpeg et la CLI hermes. Quand vous êtes satisfait :
bash /tmp/hermes-install.sh
Rechargez votre shell pour que la nouvelle commande hermes soit disponible :
source ~/.bashrc
Vérifiez la version installée :
hermes --version
Sortie attendue :
Hermes Agent v0.9.0 (2026.4.13)
Project: /home/hermes/.hermes/hermes-agent
Python: 3.11.15
...
Lancez l'outil de diagnostic pour vérifier les dépendances manquantes :
hermes doctor
Cherchez les coches vertes. Les avertissements sur les clés API non configurées sont normaux à ce stade. Les éléments en rouge concernant Python ou Git doivent être corrigés avant de continuer.
Comment configurer le fournisseur LLM ?
Hermes Agent n'inclut pas de modèle. Vous le connectez à l'API d'un fournisseur et payez au token. Le moyen le plus rapide de tout configurer est l'assistant de configuration :
hermes setup
Cet assistant vous guide dans le choix d'un fournisseur, la saisie de votre clé API, l'activation des outils et la configuration de votre passerelle en une seule session interactive. Si vous préférez configurer chaque élément manuellement, lisez la suite. Vous pouvez aussi changer de fournisseur à tout moment avec hermes model.
Option 1 : OpenRouter (recommandé pour débuter)
Créez un compte sur openrouter.ai et générez une clé API.
L'installeur a créé ~/.hermes/.env avec un template complet. Verrouillez d'abord les permissions :
chmod 600 ~/.hermes/.env
Ouvrez le fichier et renseignez votre clé API sur la ligne OPENROUTER_API_KEY= :
nano ~/.hermes/.env
Trouvez la ligne OPENROUTER_API_KEY= et ajoutez votre clé après le signe =. Sauvegardez et quittez (Ctrl+X, puis Y, puis Entrée).
Définissez le modèle par défaut :
hermes config set model.provider openrouter
hermes config set model.default anthropic/claude-sonnet-4
Confirmez que le fichier n'est pas lisible par les autres utilisateurs :
ls -la ~/.hermes/.env
Les permissions devraient afficher -rw------- (600). Seul l'utilisateur hermes peut lire ce fichier.
Option 2 : Nous Portal
Nous Research gère son propre portail d'inférence avec plus de 400 modèles. Si vous voulez rester dans l'écosystème Nous :
hermes config set model.provider nous
La commande hermes model vous guide dans l'authentification.
Option 3 : Endpoint OpenAI-compatible personnalisé
Si vous faites tourner votre propre serveur d'inférence (Ollama, vLLM, llama.cpp) ou utilisez un autre fournisseur :
echo 'OPENAI_BASE_URL=http://localhost:11434/v1' >> ~/.hermes/.env
echo 'OPENAI_API_KEY=ollama' >> ~/.hermes/.env
echo 'LLM_MODEL=llama3.1:70b' >> ~/.hermes/.env
Comparaison des fournisseurs LLM
| Fournisseur | Variable d'env | Modèle tarifaire | Notes |
|---|---|---|---|
| OpenRouter | OPENROUTER_API_KEY |
Par token, varie selon le modèle (voir les tarifs) | 200+ modèles, une seule clé |
| Nous Portal | via hermes model |
Par token (voir les tarifs) | 400+ modèles, intégration native |
| Anthropic | ANTHROPIC_API_KEY |
Par token (voir les tarifs) | Accès direct à Claude |
| Google AI Studio | GOOGLE_API_KEY |
Par token (voir les tarifs) | Modèles Gemini, natif depuis la v0.8.0 |
| xAI (Grok) | XAI_API_KEY |
Par token (voir les tarifs) | Modèles Grok, natif depuis la v0.9.0 |
| Hugging Face | HF_TOKEN |
Par token (voir les tarifs) | Suite complète de modèles |
| Ollama (local) | OPENAI_BASE_URL + OPENAI_API_KEY |
Gratuit (auto-hébergé) | Nécessite un VPS GPU pour de bonnes performances |
| vLLM | OPENAI_BASE_URL + OPENAI_API_KEY |
Gratuit (auto-hébergé) | GPU requis |
Le failover entre fournisseurs est intégré depuis la v0.6.0. Vous pouvez définir une chaîne ordonnée de fournisseurs pour que l'agent bascule automatiquement sur le suivant en cas de panne.
Testez que la connexion LLM fonctionne :
hermes -m "What is 2+2? Reply with just the number."
Si vous obtenez une réponse, le fournisseur est configuré. Si vous voyez une erreur d'authentification, vérifiez votre clé API dans ~/.hermes/.env.
Comment configurer le mode approbation ?
Hermes Agent dispose d'un système d'approbation intégré qui demande confirmation avant d'exécuter des commandes potentiellement dangereuses. Sur un serveur, gardez-le activé :
hermes config set approval_mode ask
Les trois modes :
- ask : demande confirmation avant toute commande qui modifie des fichiers, installe des paquets ou accède au réseau. Utilisez celui-ci. Depuis la v0.8.0, Telegram et Slack affichent des boutons d'approbation natifs au lieu de vous demander de taper une réponse.
- smart : un modèle IA évalue le risque et ne demande confirmation que pour les commandes réellement dangereuses. Plus rapide, mais repose sur le jugement de l'IA.
- off : aucune vérification. Chaque commande s'exécute immédiatement. Ne l'utilisez pas sur un serveur.
Comment connecter Hermes Agent à Telegram ?
La passerelle de messagerie vous permet de discuter avec Hermes depuis votre téléphone. Telegram est la configuration la plus courante. La passerelle établit des connexions sortantes vers l'API Telegram, donc aucun port entrant n'a besoin d'être ouvert.
Étape 1 : Créer un bot Telegram
Ouvrez Telegram et envoyez un message à @BotFather. Envoyez ces commandes :
/newbot- Entrez un nom pour votre bot (par ex. "My Hermes Agent")
- Entrez un nom d'utilisateur (doit finir par
bot, par ex.myhermes_agent_bot)
BotFather répond avec un token de bot. Il ressemble à 7123456789:AAHx.... Copiez-le.
Étape 2 : Obtenir votre ID utilisateur Telegram
Envoyez un message à @userinfobot sur Telegram. Il répond avec votre ID utilisateur numérique. Notez ce nombre.
Étape 3 : Configurer la passerelle
Ajoutez le token du bot et votre ID utilisateur au fichier d'environnement :
echo 'TELEGRAM_BOT_TOKEN=7123456789:AAHxYourTokenHere' >> ~/.hermes/.env
echo 'TELEGRAM_ALLOWED_USERS=your_numeric_user_id' >> ~/.hermes/.env
La variable TELEGRAM_ALLOWED_USERS est un contrôle de sécurité. Seuls les ID utilisateurs listés ici peuvent interagir avec votre bot. Sans cette restriction, n'importe qui trouvant votre bot peut lui envoyer des commandes. Séparez les ID multiples par des virgules.
Étape 4 : Tester la passerelle
Lancez la passerelle en premier plan :
hermes gateway
Envoyez un message à votre bot dans Telegram. Votre message apparaît dans le terminal et une réponse revient. Appuyez sur Ctrl+C pour arrêter une fois que vous avez confirmé le fonctionnement.
Si le bot ne répond pas, vérifiez :
- Le token du bot est correct dans
~/.hermes/.env - Votre ID utilisateur est dans
TELEGRAM_ALLOWED_USERS - Le VPS peut atteindre
api.telegram.orgsur le port 443 (HTTPS sortant)
Hermes supporte désormais 16 plateformes. Au-delà de Telegram : Discord, Slack, WhatsApp, Signal, Matrix, iMessage (via BlueBubbles), WeChat, WeCom, Email, SMS, DingTalk, Feishu/Lark, Mattermost, Home Assistant et Webhooks. Lancez hermes gateway setup pour un assistant interactif qui configure n'importe laquelle d'entre elles.
Comment lancer Hermes Agent en service systemd ?
Lancer hermes gateway dans une session terminal signifie qu'il s'arrête quand vous vous déconnectez. Un service utilisateur systemd maintient la passerelle en fonctionnement après la déconnexion et la redémarre automatiquement en cas de crash ou de reboot du serveur.
Installer le service
Hermes fournit une commande intégrée :
hermes gateway install
Cela crée un fichier de service à ~/.config/systemd/user/hermes-gateway.service et active le lingering automatiquement. Le lingering maintient les services utilisateur en fonctionnement après votre déconnexion SSH.
Démarrez le service et activez-le au boot :
systemctl --user enable --now hermes-gateway
Vérifiez le statut du service :
systemctl --user status hermes-gateway
Cherchez Active: active (running) dans la sortie. S'il indique failed, consultez les logs.
Consulter les logs
Affichez les logs de la passerelle en temps réel :
journalctl --user -u hermes-gateway -f
Appuyez sur Ctrl+C pour arrêter le suivi. Les logs de la passerelle montrent chaque message entrant, appel LLM et exécution d'outil.
Définir le répertoire de travail
Par défaut, la passerelle utilise le répertoire home comme espace de travail. Définissez un répertoire projet dédié :
echo 'MESSAGING_CWD=/home/hermes/projects' >> ~/.hermes/.env
mkdir -p /home/hermes/projects
Redémarrez le service pour appliquer :
systemctl --user restart hermes-gateway
Gérer depuis votre navigateur
Depuis la v0.9.0, Hermes intègre un tableau de bord web local. Une fois la passerelle en fonctionnement, ouvrez-le avec :
hermes dashboard
Cela lance une interface dans le navigateur où vous pouvez gérer les paramètres, parcourir les sessions et compétences, et configurer les passerelles sans toucher au terminal. Sur un VPS, vous pouvez tunneliser le port du tableau de bord via SSH pour y accéder depuis votre machine locale.
Comment sauvegarder les données de Hermes Agent ?
Hermes stocke tout son état dans ~/.hermes/ : mémoires, compétences apprises, historique de sessions, configuration, tâches planifiées et persona de l'agent. Le perdre signifie que l'agent oublie tout.
Depuis la v0.9.0, Hermes dispose de commandes intégrées de sauvegarde et restauration :
hermes backup
Cela crée un instantané horodaté de l'intégralité de votre répertoire ~/.hermes/. Pour restaurer sur le même serveur ou migrer vers un nouveau :
hermes import /path/to/backup.tar.gz
Pour des sauvegardes quotidiennes automatiques, planifiez-le avec cron :
(crontab -l 2>/dev/null; echo "0 3 * * * /home/hermes/.local/bin/hermes backup") | crontab -
Pour des sauvegardes hors serveur, synchronisez le répertoire de sauvegarde vers une autre machine ou un stockage objet avec rsync. Garder les sauvegardes uniquement sur le même VPS ne protège pas contre une défaillance de disque.
Comment mettre à jour Hermes Agent ?
Hermes Agent inclut une commande de mise à jour intégrée. Sauvegardez d'abord, puis mettez à jour :
hermes backup
hermes update
Vérifiez la nouvelle version :
hermes --version
Vérifiez si des changements de configuration sont nécessaires après la mise à jour :
hermes config migrate
hermes doctor
config migrate ajoute les nouvelles options de configuration avec leurs valeurs par défaut. hermes doctor vérifie que tout fonctionne encore.
Redémarrez le service de passerelle pour exécuter la nouvelle version :
systemctl --user restart hermes-gateway
systemctl --user status hermes-gateway
Si quelque chose casse après une mise à jour, restaurez depuis la sauvegarde :
systemctl --user stop hermes-gateway
hermes import /path/to/backup.tar.gz
systemctl --user start hermes-gateway
Checklist de sécurisation
Un agent IA hébergé sur un VPS qui exécute des commandes terminal nécessite une attention particulière à la sécurité. Voici un résumé de ce que ce guide a configuré et quelques étapes supplémentaires.
Déjà configuré dans ce guide :
- Utilisateur non-root (
hermes) avec répertoire home dédié - Pare-feu UFW refusant tout le trafic entrant sauf SSH
- Clés API dans
~/.hermes/.envavec permissions600 TELEGRAM_ALLOWED_USERSrestreignant l'accès du bot à votre ID utilisateurapproval_mode: askexigeant une confirmation pour les commandes dangereuses
Sécurisation supplémentaire :
Passez en revue les compétences apprises par l'agent périodiquement :
ls -la ~/.hermes/skills/
Les compétences sont des scripts que l'agent écrit et réutilise. Auditez-les comme vous le feriez pour tout code exécuté sur votre serveur.
Surveillez les logs de la passerelle pour détecter des utilisateurs inattendus ou une activité inhabituelle :
journalctl --user -u hermes-gateway --since "1 hour ago" --no-pager
Hermes a renforcé sa posture de sécurité à chaque version : blocage de l'exfiltration de secrets depuis la v0.7.0, MCP OAuth 2.1 avec PKCE et protections SSRF dans la v0.8.0, et prévention du path traversal, neutralisation de l'injection shell et validation des webhooks Twilio dans la v0.9.0. Gardez votre installation à jour pour bénéficier de ces protections.
Dépannage
Depuis la v0.9.0, vous pouvez lancer /debug dans n'importe quelle session de chat ou hermes debug share depuis le terminal pour générer un rapport de diagnostic. C'est le moyen le plus rapide d'identifier les problèmes.
La passerelle ne démarre pas :
journalctl --user -u hermes-gateway -n 50 --no-pager
Causes fréquentes : token de bot invalide, clé API manquante ou problèmes réseau.
Le bot Telegram ne répond pas :
Vérifiez le token du bot et les utilisateurs autorisés :
grep TELEGRAM ~/.hermes/.env
Testez la connectivité sortante :
curl -s https://api.telegram.org/bot<YOUR_TOKEN>/getMe
Une réponse valide avec les informations de votre bot confirme que le token et le réseau fonctionnent.
Commande hermes introuvable après l'installation :
source ~/.bashrc
Si toujours absente, vérifiez que ~/.local/bin est dans votre PATH :
echo $PATH | tr ':' '\n' | grep local
Utilisation mémoire élevée :
Vérifiez ce qui consomme les ressources :
top -bn1 | head -20
Si l'agent lance des processus de longue durée, réduisez la charge de travail ou mettez à niveau votre VPS.
Combien ça coûte ?
Auto-héberger Hermes Agent sur un VPS coûte le serveur plus l'utilisation de l'API LLM. Les deux composantes de coût sont :
- Hébergement VPS : un VPS avec 2+ vCPU et 4 Go de RAM. Consultez les offres VPS Virtua.Cloud pour les tarifs actuels.
- Appels API LLM : tous les fournisseurs supportés facturent au token. Votre coût mensuel dépend du modèle choisi et de la fréquence d'utilisation de l'agent. Consultez la page de tarification de votre fournisseur pour les tarifs en vigueur.
Les vraies économies ne sont pas uniquement financières. Vous possédez les données de votre agent, choisissez le fournisseur que vous voulez, et aucun changement de politique ne peut vous couper l'accès du jour au lendemain.
Exécuter Claude Code sur un VPS
Copyright 2026 Virtua.Cloud. Tous droits réservés. Ce contenu est une création originale de l'équipe Virtua.Cloud. Toute reproduction, republication ou redistribution sans autorisation écrite est interdite.
Prêt à essayer ?
Executez des agents IA sur votre propre VPS. →