2026-05-29 Hermes Agent Serverless : Modal/Daytona en veille + réveil Telegram (HK / JP / KR / SG / US)
Un VM cloud 24/7 pour un agent IA coûte souvent 5–20 €/mois avant le premier token LLM. Hermes Agent (MIT, Nous Research) cible cette douleur avec des backends terminal serverless : des sandboxes Modal et Daytona qui hibernent à l’idle et s’activent quand Hermes doit exécuter des outils shell—pendant que vous discutez depuis Telegram sur votre téléphone.
Le problème des coûts d’exploitation
Les fondateurs sensibles au budget et les passionnés d’automatisation voient trois postes :
| Poste | Fourchette typique | Ce qui le drive |
|---|---|---|
| VM compute | 5–50 €/mois | VPS/RDS toujours actif pour passerelle + outils |
| API LLM | 5–500+ €/mois | Choix du modèle × boucles d’outils |
| Egress / stockage | 0–20 €/mois | Logs, artefacts, disque Modal |
Hermes n’élimine pas la dépense LLM. Il peut réduire le compute idle entre les bursts en routant l’exécution terminal vers Modal/Daytona plutôt qu’une grosse machine toujours allumée qui exécute bash 24/7.
Si vous faites déjà tourner Hermes sur un Mac mini M4 loué pour des builds iOS, consultez notre guide passerelle Telegram sur M4—cet article vise à minimiser le compute cloud, pas à maximiser la colocation Xcode.
Architecture : passerelle vs backend terminal
Résumé technique citable : La passerelle Hermes (hermes gateway) gère la messagerie ; le backend terminal (terminal.backend dans ~/.hermes/config.yaml) décide où s’exécutent bash, les outils fichiers et les scripts.
| Couche | Hiberne à l’idle ? | Hôte typique |
|---|---|---|
| Passerelle Telegram (long polling) | Non — les polls sortants exigent un processus actif | VPS ~5 €/mois, Mac domestique ou Mac loué |
| Backend terminal : Modal | Oui — sandbox endormie entre bursts d’outils | Cloud Modal |
| Backend terminal : Daytona | Oui — sandbox endormie entre bursts d’outils | Cloud Daytona |
| Fournisseur LLM | N/A (paiement au token) | OpenRouter, Nous Portal, etc. |
Chemin de réveil souhaité :
- Vous envoyez un message Telegram à votre bot.
- La passerelle (sur un hôte léger) reçoit la mise à jour.
- La boucle agent Hermes appelle des outils → Modal/Daytona se réveille, exécute, renvoie la sortie.
- La sandbox hiberne à nouveau ; la passerelle peut rester active (peu de RAM).
Pour un déploiement où tout dort, la doc Telegram amont décrit le mode webhook (ingress HTTPS) sur Fly.io/Railway—plus difficile sur une location Mac SSH-only. Le long polling par défaut est plus simple mais exige un processus passerelle toujours actif.
Références officielles : Terminal backends, Configuration Telegram, GitHub README.
Matrice de décision coûts (4 lignes)
| Modèle | Compute idle mensuel | Idéal pour | Compromis |
|---|---|---|---|
| Gros VPS 24/7 | ~5–12 € (1 vCPU) | Modèle mental le plus simple | Paye pendant que vous dormez |
| Passerelle VPS légère + outils Modal/Daytona | ~5 € passerelle + sandboxes idle quasi 0 € | Telegram + automatisation par bursts | Deux fournisseurs à surveiller |
| Passerelle Mac / laptop domestique | Électricité seulement | Tests solo dev | Doit rester en ligne |
| Mac mini M4 loué (classe MacXCode) | Frais de location (mensuel régional) | Xcode + agent sur un hôte Apple Silicon | Pas le bot chat le moins cher |
Modal facture au CPU-seconde et GB-seconde quand les sandboxes tournent ; les périodes hibernées idle évitent ces charges. Daytona propose un comportement sleep-when-idle similaire—vérifiez la tarification actuelle sur chaque tableau de bord avant la production.
Les spécifications Mac mini Apple ne comptent que si vous colocalisez passerelle et builds—pas requis pour le routage terminal serverless.
Backend terminal Modal
Quand Modal convient
- Travail shell par bursts (scripts,
pip install, pulls de données) avec minutes entre messages Telegram. - Classes GPU optionnelles pour tâches ML (payé uniquement pendant les runs).
- Persistance filesystem via snapshots Modal quand
container_persistent: true.
Configurer ~/.hermes/config.yaml
terminal:
backend: modal
modal_image: "nikolaik/python-nodejs:python3.11-nodejs20"
container_cpu: 1
container_memory: 5120
container_disk: 51200
container_persistent: true
Prérequis (amont) :
pip install modal
modal token new
hermes doctor
Quand Modal est inadapté : éditions fichiers locales sub-seconde sur un énorme monorepo—latence cold start + pull d’image. Utilisez le backend local ou SSH sur une machine qui a déjà le dépôt.
Backend terminal Daytona
Daytona route l’exécution d’outils vers des sandboxes cloud qui hibernent à l’idle (doc Hermes). Définir :
terminal:
backend: daytona
Exporter la clé API avant de démarrer la passerelle :
export DAYTONA_API_KEY="your_key"
# persist in ~/.hermes/.env for launchd
Quand Daytona convient : vous voulez la persistance serverless sans gérer Docker sur un VPS—le README Hermes place Daytona aux côtés de Modal pour « coût quasi nul entre sessions ».
Quand Daytona est inadapté : exigences strictes de résidence des données on-prem uniquement—les sandboxes cloud sortent du périmètre compliance.
Telegram : réveiller l’agent sans gros serveur
Brancher Telegram une fois (étapes complètes dans notre guide passerelle Telegram) :
hermes gateway setup
Hôtes passerelle low-cost :
- VPS ~5 €/mois (1 Go RAM) exécutant uniquement
hermes gateway+~/.hermes/.env - Oracle Cloud free tier (si disponible dans votre région—vérifiez les limites compte)
- Mac domestique toujours actif pour les expérimentations
Pointez terminal.backend vers modal ou daytona sur la même machine—la passerelle reste légère ; le travail lourd réveille les sandboxes serverless.
Sécurité : TELEGRAM_ALLOWED_USERS numériques uniquement—n’exposez jamais le bot sans liste blanche (@userinfobot pour votre ID).
Comparez les frameworks agent dans notre matrice Hermes vs OpenClaw vs OpenHuman—OpenClaw excelle sur les leases headless launchd ; Hermes sur le learning loop + offload Modal/Daytona.
Runbook en 8 étapes : stack compute quasi idle
- Installer Hermes —
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash - Auth modèle —
hermes setup(clés BYO ; modèles budget sur OpenRouter pour maîtriser les coûts). - Choisir le backend serverless — Modal (
modal token new) ou Daytona (DAYTONA_API_KEY). - Écrire
~/.hermes/config.yaml— définirterminal.backend: modaloudaytonaavec les limites de ressources ci-dessus. - Telegram —
hermes gateway setup; confirmer~/.hermes/.env. - Hôte passerelle léger — déployer
hermes gateway install && hermes gateway startsur VPS (pas sur une machine GPU coûteuse). - Test fumée — message au bot : « exécute
uname -aet rapporte »—surveillez le tableau Modal/Daytona pour start/stop sandbox. - Garde-fous coûts — plafonds de dépense fournisseur ; planifier
hermes gateway stopen vacances si la passerelle n’est pas nécessaire.
Dépannage
Le bot répond « hello » mais les outils échouent avec erreurs auth Modal
| Symptôme | Correctif |
|---|---|
modal token manquant | Exécuter modal token new sous l’utilisateur de l’hôte passerelle |
| Mauvais env Python | hermes doctor ; installer modal dans le venv Hermes |
| Sandbox obsolète | Basculer container_persistent ou vider les logs app Modal |
La sandbox tourne mais Telegram reste silencieux
- Passerelle inactive :
hermes gateway status - Vérifier
~/.hermes/logs/gateway.logpour erreurs token Telegram - Un seul processus peut poller un token bot (
Conflict: terminated by other getUpdates)
Coûts plus élevés que prévu
- Les tokens LLM dominent—changer de modèle, raccourcir les boucles d’outils, utiliser
/compressen chat selon la doc CLI amont - Les snapshots disque persistant Modal facturent encore le stockage—réduire
container_disk - VPS passerelle laissé en palier 4 Go RAM—descendre à 1 Go si polling seulement
Les pièces jointes MEDIA: échouent depuis le backend Modal
La passerelle envoie les fichiers depuis des chemins hôte—dans Modal, écrire vers un chemin volume monté hôte documenté dans la section Telegram + Docker de la doc amont.
FAQ
hermes doctor après configuration.Automation budget sans gros VM
Quand Telegram + outils par bursts suffisent, une passerelle légère + veille Modal/Daytona coûte moins qu'un shell 24/7—ne louez un M4 que si la colocation Xcode est nécessaire.