Aller au contenu

Trace install tas - Hermes Agent

De Loic Wiki
Version datée du 13 juillet 2026 à 10:57 par Daneel (discussion | contributions) (Publication de la page Trace install tas - Hermes Agent)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)

Trace install tas - Hermes Agent

Rôle

Agent IA outillé exposé via sa gateway de messagerie, avec état persistant sur disque dédié.

Statut opérationnel

Dernière mise à jour documentaire : 13 juillet 2026.

Capacités actuellement actives et vérifiées :

  • [x] gateway Telegram dédiée via `@LoicHermesBot`
  • [x] modèle local Ollama via `gemma4:e4b-it-q8_0_128k`
  • [x] outils fichiers / terminal / mémoire / délégation
  • [x] browser local embarqué
  • [x] STT local et TTS Edge
  • [x] `web_search` via backend `ddgs` sans clé API

Capacités encore bloquées ou partielles :

  • [ ] `web_extract` avec backend dédié
  • [ ] `image_generate`
  • [ ] `browser_cdp` et `browser_dialog`
  • [ ] `read_terminal` et `close_terminal` hors application desktop Hermes
  • [ ] `computer_use` dans ce gateway Telegram sans contexte desktop/X11

Accès

  • Local service : `127.0.0.1:8642`
  • Public HTTP : aucun par défaut
  • Messagerie prévue : Telegram via un second bot dédié à créer

Ports

  • `8642` local uniquement

Exécution / runtime

Quadlet systemd user : `hermes.container` ; unité générée : `hermes.service`.

Commande de démarrage :

  • `gateway run`

Image :

  • `docker.io/nousresearch/hermes-agent:latest`

Chemins de configuration

  • `/home/loic/.config/containers/systemd/hermes.container`
  • `/home/loic/hermes-config/hermes.env`
  • `/media/loic/nem/hermes/config.yaml`

Sources de vérité :

  • le quadlet gère le runtime Podman rootless
  • `hermes.env` porte les secrets / variables Telegram
  • `config.yaml` porte la configuration non secrète Hermes

Volumes / persistance

  • `/media/loic/nem/hermes:/opt/data`

Contenu notable dans la persistance :

  • `config.yaml`
  • historiques / sessions Hermes
  • mémoire et skills synchronisés par Hermes

Dépendances

  • Podman rootless
  • Ollama local via `http://host.containers.internal:11434/v1`
  • second bot Telegram dédié avec token distinct de l'instance OpenClaw existante
  • package Python `ddgs` installé via `hermes tools post-setup ddgs` le `13 juillet 2026`

Modèle LLM principal

Configuration Hermes actuellement retenue :

Outils et backends activés

Activation explicite actuellement retenue dans `config.yaml` :

  • `web.search_backend: ddgs`

Conséquences :

  • `web_search` devient disponible sans clé API
  • `web_extract` n'a pas encore de backend dédié, donc la recherche web est activée mais l'extraction avancée reste à compléter

Backends non activés à ce stade :

  • aucun backend `image_gen`
  • aucun `browser.cdp_url`

Intégration Telegram préparée

Configuration locale maintenant active :

  • fichier dédié : `/home/loic/hermes-config/hermes.env`
  • allowlist utilisateur configurée sur l'identifiant Telegram de Loïc : `5910858583`
  • canal home Telegram préparé sur `5910858583`
  • bot dédié configuré : `@LoicHermesBot`

Important :

  • le token du bot dédié est maintenant renseigné dans `hermes.env`
  • il faut un bot distinct de `@LoicBoBBot` pour éviter le conflit `getUpdates` avec OpenClaw

Variables prévues dans `hermes.env` :

  • `TELEGRAM_ALLOWED_USERS=5910858583`
  • `TELEGRAM_HOME_CHANNEL=5910858583`
  • `TELEGRAM_BOT_TOKEN=...` configuré pour `@LoicHermesBot`

Procédure pour finaliser le second bot

Bot dédié déjà créé et validé :

  • nom : `Hermes`
  • username : `@LoicHermesBot`

Pour refaire la procédure sur une autre instance :

  • créer un bot dédié via `@BotFather`
  • renseigner `TELEGRAM_BOT_TOKEN` dans `/home/loic/hermes-config/hermes.env`
  • `systemctl --user daemon-reload`
  • `systemctl --user restart hermes.service`
  • vérifier `journalctl --user -u hermes.service -n 100 --no-pager`

Procédure de relance / diagnostic

Commandes utiles :

  • `systemctl --user status hermes.service --no-pager -l`
  • `systemctl --user restart hermes.service`
  • `journalctl --user -u hermes.service -n 100 --no-pager`
  • `ss -ltn | rg 8642`
  • `podman exec hermes /opt/hermes/.venv/bin/python -c "from tools.web_tools import check_web_api_key; print(check_web_api_key())"`

Interprétation rapide :

  • si le service tourne mais logue `No messaging platforms enabled`, le token Telegram n'est pas encore actif
  • si le service refuse de démarrer après ajout du token, vérifier d'abord le format du token et l'unicité du bot
  • si un conflit de token apparaît, s'assurer que le bot Hermes n'est pas le même que celui d'OpenClaw
  • si Telegram est bien pris en compte, les logs montrent une phase de connexion du type `Connecting to Telegram`
  • si `check_web_api_key()` renvoie `True` avec `search_provider=ddgs`, la recherche web est activée même sans clé API

Plan d'activation des potentiels

Checklist de suivi :

  • [x] sécuriser le runtime rootless + backups de config
  • [x] activer Telegram dédié
  • [x] basculer sur le modèle local `gemma4:e4b-it-q8_0_128k`
  • [x] activer `web_search` gratuit via `ddgs`
  • [ ] choisir et brancher un backend `web_extract`
  • [ ] choisir et brancher un backend `image_generate`
  • [ ] fournir un endpoint CDP persistant si l'on veut `browser_cdp`
  • [ ] décider si un contexte desktop dédié doit être exposé à Hermes

Intervention attendue de Loïc pour débloquer la suite :

  • `web_extract` : fournir un choix de provider et sa config (`TAVILY_API_KEY`, `FIRECRAWL_API_KEY`, `EXA_API_KEY`, ou une URL `SEARXNG_URL` si une instance maison existe)
  • `image_generate` : fournir un provider et un secret ou une auth exploitable dans le conteneur (`OPENAI_API_KEY`, `FAL_KEY`, ou auth Codex dans Hermes)
  • `browser_cdp` : fournir une cible CDP réelle et durable (`browser.cdp_url`)

Données / emplacements à sauvegarder

  • `/home/loic/.config/containers/systemd/hermes.container`
  • `/home/loic/hermes-config/hermes.env`
  • `/media/loic/nem/hermes`

Sauvegarde

Avant modification de la config critique :

  • sauvegarder le quadlet Hermes
  • sauvegarder `hermes.env`
  • sauvegarder la persistance `/media/loic/nem/hermes`

Restauration

  • restaurer `hermes.container`
  • restaurer `hermes.env`
  • restaurer `/media/loic/nem/hermes`
  • recharger systemd user
  • relancer `hermes.service`

Rollback

Si l'intégration Telegram du second bot casse Hermes :

  • recommenter `TELEGRAM_BOT_TOKEN` dans `/home/loic/hermes-config/hermes.env`
  • redémarrer `hermes.service`
  • revenir au backup du quadlet si nécessaire

Maintenance documentaire

Lors d'un changement d'image, de provider LLM, de chemin de persistance, de port local, de bot Telegram ou de stratégie d'allowlist, mettre à jour cette page et la trace centrale.

Trace documentaire

Cette page fait partie de Trace install tas.