# hermes_agent Installe et configure l'agent Hermes sur storage-01 : binaire, profils, skills, dashboard, gateway HTTP. ## Ce que fait le rôle - Dépendances + installation du binaire via le script officiel (`curl | bash`) — **seulement si absent** - `HERMES_HOME=/srv/data/hermes` (données NVMe), code dans `/opt/hermes` - `.env` : `LM_BASE_URL` → LiteLLM `:4000`, `LM_API_KEY=lm-studio` - `config.yaml` (profils), services systemd `hermes-agent` (gateway `:8080`) et `hermes-dashboard` (`:9119`) - Wrapper global `/usr/local/bin/hermes` - Ouvre le port gateway dans nftables ## Variables principales | Variable | Défaut | |---|---| | `hermes_home` | `/opt/hermes` (code) | | `hermes_data_dir` | `/srv/data/hermes` (profils/données) | | `hermes_lm_base_url` | `http://127.0.0.1:4000/v1` | | `hermes_model` | `hermes-default` | | `hermes_gateway_port` | 8080 | | `hermes_dashboard_port` / `hermes_dashboard_allowed_ip` | 9119 / 192.168.1.10 | ## ⚠️ Caveat premier déploiement — deux runs L'installation du binaire et sa configuration sont dans le même rôle, mais la config est conditionnelle à `hermes_binary.stat.exists` **évalué avant l'installation**. Sur un hôte vierge : ```bash ansible-playbook -i inventory.yml playbooks/storage-01.yml --tags hermes_agent # run 1 : installe ansible-playbook -i inventory.yml playbooks/storage-01.yml --tags hermes_agent # run 2 : configure ``` ## Pièges connus (voir aussi memory feedback_hermes_litellm) - `LM_API_KEY=lm-studio` obligatoire dans `.env` — sans elle, Hermes boucle en erreurs d'auth - Lancer `hermes -z` depuis `/srv/data/hermes` (HERMES_HOME), pas depuis `/opt/hermes`