# Hermes Agent : Guide complet pour la configuration initiale et le déploiement sur VPS

> Guide d'ingénierie étape par étape pour déployer l'agent IA auto-apprenant Hermes sur un VPS : comparaison avec OpenClaw et Paperclip, utilisation de Docker, optimisation des coûts via OpenRouter et création de compétences autonomes.

## 1. Architecture et choix de l'agent : Hermes, OpenClaw ou Paperclip

Dans l'écosystème des agents autonomes de 2026, aucun outil universel ne résout tous les problèmes avec la même efficacité. Les trois systèmes open source leaders — **Hermes**, **OpenClaw** et **Paperclip** — représentent des paradigmes architecturaux fondamentalement différents. Ils n'entrent pas en concurrence directe et sont souvent déployés côte à côte sur un même serveur dans les environnements de production.

```mermaid
flowchart TD
    subgraph Ecosystem ["Три архітектурні парадигми агентів"]
        H["<b>Hermes Agent</b><br>Агент-фахівець, що навчається<br><i>(Накопичує досвід у MEMORY.md та створює власні скіли)</i>"]
        O["<b>OpenClaw</b><br>Шлюз та автономний співробітник<br><i>(50+ месенджерів, статичні SOUL.md інструкції)</i>"]
        P["<b>Paperclip</b><br>Оркестратор цифрової компанії<br><i>(Ієрархія CEO + ролі, ліміти бюджету, координація)</i>"]
    end

    VPS[("Один VPS-сервер (Ubuntu + Docker)")] --> H
    VPS --> O
    VPS --> P
```

### Matrice comparative des plateformes agentiques

| Caractéristique | Hermes Agent | OpenClaw | Paperclip |
| :--- | :--- | :--- | :--- |
| **Rôle principal** | Chercheur et expert auto-apprenant | Collaborateur autonome multicanal | Orchestrateur d'une équipe de 5+ agents |
| **Gestion de la mémoire** | Dynamique : met à jour `MEMORY.md`, `USER.md` et les skills toutes les 10 étapes | Statique : règles figées dans `SOUL.md` | Orientée projet : état partagé des tâches et hiérarchie |
| **Canaux de communication** | 6 canaux clés (CLI, Telegram, Discord, WhatsApp, etc.) | 50+ intégrations (Teams, Slack, iMessage, Signal) | Pilote d'autres agents via des adaptateurs |
| **Capacité d'apprentissage** | **Élevée** : compile automatiquement les workflows en skills | **Absente** : nécessite une mise à jour manuelle des règles | **Indirecte** : délègue l'exécution aux agents externes |
| **Seuil de pertinence** | Efficace dès 1 tâche autonome | Efficace pour la communication omnicanale | Prend tout son sens à partir de 5 agents simultanés |

> [!NOTE]
> Les trois frameworks utilisent des ports réseau isolés et des runtimes distincts. Vous pouvez lancer sans aucun conflit Hermes comme chercheur de données, OpenClaw comme passerelle pour le support client, et Paperclip comme coordinateur sur une seule machine.

---

## 2. Exigences système et préparation de l'infrastructure

Hermes peut fonctionner comme un outil CLI léger, mais pour une autonomie complète (avec automatisation navigateur, passerelles en arrière-plan et stockage de mémoire vectorielle), une base serveur stable est nécessaire.

### Exigences matérielles pour le VPS

- **Processeur :** Minimum 2 vCPU (recommandé pour le parsing parallèle et les embeddings).
- **Mémoire vive :** 8 Go de RAM (assure une marge lors de l'utilisation du navigateur Playwright et du démon Docker).
- **Espace disque :** 100 Go SSD NVMe (pour la mise en cache des modèles, des logs et des captures web).
- **Système d'exploitation :** Ubuntu 24.04 LTS ou Debian 12 avec Docker Engine préinstallé.

### Services tiers requis

1. **Hébergement compatible Docker :** Hetzner, DigitalOcean, Vultr ou tout autre VPS KVM.
2. **Passerelle API unique (OpenRouter) :** Au lieu de gérer des clés séparées pour Anthropic, OpenAI et Moonshot, utilisez OpenRouter. Cela donne accès à plus de 200 modèles via un solde unique et permet de changer instantanément les rôles des agents sans redémarrer le service.

---

## 3. Déploiement étape par étape de Hermes sur VPS via Docker

La méthode la plus fiable pour déployer Hermes consiste à utiliser l'image Docker officielle de Nous Research. Cela élimine les conflits de versions Python et de bibliothèques système.

```mermaid
flowchart LR
    A["1. Створення VPS<br>(Ubuntu + Docker)"] --> B["2. SSH-підключення<br>до сервера"]
    B --> C["3. Перевірка контейнера<br>(docker ps)"]
    C --> D["4. Запуск майстра<br>(hermes setup)"]
    D --> E["5. Тестовий прогін<br>(hermes CLI)"]
```

### Étape 1. Connexion au serveur via SSH

Une fois le serveur créé, ouvrez votre terminal et connectez-vous en tant que superutilisateur :

```bash
ssh root@YOUR_VPS_IP
```

### Étape 2. Vérification du conteneur Docker

Assurez-vous que le conteneur Hermes a été correctement initialisé :

```bash
docker ps
```

L'image `nousresearch/hermes-agent:latest` doit apparaître dans la liste des processus actifs. Accédez au répertoire de configuration et entrez dans le shell du conteneur :

```bash
cd /docker/hermes-agent-*
docker compose exec -it hermes-agent /bin/bash
```

### Étape 3. Initialisation interactive via l'assistant de configuration

À l'intérieur du conteneur, lancez l'assistant de configuration initiale :

```bash
hermes setup
```

L'assistant vous guidera à travers quatre étapes séquentielles :
1. **Choix du fournisseur LLM :** Sélectionnez `OpenRouter`.
2. **Authentification :** Entrez votre clé API OpenRouter (`sk-or-v1-...`).
3. **Choix du modèle de base :** Sélectionnez un modèle de démarrage temporaire (nous configurerons une chaîne multimodèle optimisée dans la section suivante).
4. **Canaux de communication :** Connexion optionnelle à Telegram ou Discord (peut être ignorée lors de la première phase).

### Étape 4. Premier test du CLI

Vérifiez le fonctionnement de l'environnement agentique :

```bash
hermes
```

Après l'affichage de la bannière de bienvenue, envoyez une commande de test pour vérifier l'accès au système de fichiers :

```text
What files are in my current directory?
```

Si Hermes renvoie la liste des fichiers du répertoire, la couche d'outils (Tool Calling) fonctionne correctement. En cas d'erreur, lancez un diagnostic système :

```bash
hermes doctor
```

---

## 4. Configuration des modèles et optimisation du budget via OpenRouter

Par défaut, Hermes est configuré pour interroger les modèles phares premium (par exemple, Claude Opus). Cela génère une charge financière excessive :

> [!WARNING]
> **Piège de la configuration mono-modèle :** Utiliser un seul modèle de niveau Opus pour toutes les phases de la session (planification, appels utilitaires, parsing de sortie) engendre des coûts de $0.50–$2.00 par session. Pour 90 sessions mensuelles, cela représente **$45–$180** uniquement pour l'API.

### Architecture de répartition des rôles

Pour réduire les coûts à **$12–$22 par mois** sans perte de qualité, nous répartissons les responsabilités entre des modèles spécialisés.

![Comparaison des prix et caractéristiques des modèles pour Hermes Agent](/api/guides-media/ai_agents/hermes-agent-initial-setup-guide/images/hermes-agent-initial-setup-guide-extra-02.webp)

![Modèles rapides pour les appels d'outils massifs](/api/guides-media/ai_agents/hermes-agent-initial-setup-guide/images/hermes-agent-initial-setup-guide-extra-03.webp)

### Matrice des modèles recommandés

| Rôle dans l'agent | Modèle recommandé | Identifiant OpenRouter | Prix entrée ($/1M) | Usage principal |
| :--- | :--- | :--- | :--- | :--- |
| **Planner & Backbone** | MiniMax M2.7 | `minimax/minimax-m2.7` | $0.30 | Orchestration, planification quotidienne, logique de session |
| **Reviewer & Reasoning** | Kimi K2.6 | `moonshotai/kimi-k2.6` | $0.60 | Raisonnement profond, code review, vérification |
| **Fast Executor** | DeepSeek V4 Flash | `deepseek/deepseek-v4-flash` | $0.14 | Appels bash/tools massifs, collecte de données brutes |
| **Vision Subsystem** | Gemma 4 26B IT | `google/gemma-4-26b-a4b-it:free` | Gratuit | Analyse de captures d'écran et d'éléments visuels |

### Fichier de configuration du routeur multimodèle

Ouvrez le fichier de configuration pour édition :

```bash
hermes config edit
```

Remplacez le bloc de définition des modèles par le YAML structuré ci-dessous :

```yaml
model:
  provider: openrouter
  default: minimax/minimax-m2.7
  roles:
    planner: minimax/minimax-m2.7
    executor: deepseek/deepseek-v4-flash
    reviewer: moonshotai/kimi-k2.6
    vision: google/gemma-4-26b-a4b-it:free
  fallback:
    - deepseek/deepseek-v4-flash
    - google/gemma-3-12b-it:free
  compression:
    enabled: true
    threshold: 0.50
```

Si la clé OpenRouter n'a pas été saisie précédemment, définissez-la via la commande :

```bash
hermes config set OPENROUTER_API_KEY sk-or-v1-your-key-here
```

> [!TIP]
> **Contrôle des coûts :** Configurez impérativement une limite mensuelle stricte dans le tableau de bord OpenRouter (`Settings` → `Credits` → `Monthly limit`). Pour démarrer, il est recommandé de fixer un seuil à **$15/mois**, ce qui protège contre les boucles infinies en cas d'erreur dans les scripts d'automatisation.

---

## 5. Sécurité et connexion des passerelles de messagerie

Hermes permet de piloter les processus via des messageries, transformant le serveur en assistant personnel sur Telegram ou Discord.

> [!IMPORTANT]
> **Exigence critique de sécurité :** Tout utilisateur envoyant une commande au bot via une messagerie obtient un **accès complet au terminal du serveur** avec les droits du processus lancé. Ne jamais exposer un bot public sans une liste blanche d'IDs !

### Configuration de la passerelle Telegram

:::tabs
@tab 1. Création du bot
1. Ouvrez `@BotFather` sur Telegram.
2. Créez un nouveau bot via la commande `/newbot`.
3. Sauvegardez le token obtenu (format `123456789:ABCdef...`).
@tab 2. Obtention de l'User ID
1. Envoyez un message au bot `@userinfobot` sur Telegram.
2. Copiez votre identifiant numérique (ex. : `987654321`).
@tab 3. Configuration de l'environnement
Ajoutez les variables dans le fichier de configuration `.env` :
```bash
TELEGRAM_BOT_TOKEN="123456789:ABCdef..."
TELEGRAM_ALLOWED_USERS="987654321"
```
:::

Lancez et vérifiez le statut de la passerelle en arrière-plan :

```bash
# Перевірка статусу шлюзу
hermes gateway status

# Перегляд логів взаємодії в реальному часі
tail -f ~/.hermes/logs/gateway.log
```

---

## 6. Workflow pratique : auto-apprentissage et génération de skills réutilisables

L'avantage majeur de Hermes par rapport aux simples appels LLM réside dans le **compoundage des connaissances**. L'agent analyse automatiquement les actions multi-étapes réussies et les enregistre dans le répertoire de skills `~/.hermes/skills/`.

```mermaid
sequenceDiagram
    autonumber
    actor User as Інженер
    participant H as Hermes Agent
    participant Web as Reddit API / Веб
    participant Disk as ~/.hermes/skills/

    User->>H: Надіслати промпт дослідження
    H->>Web: Пошук трендових фреймворків у r/LocalLLaMA
    Web-->>H: Сирі обговорення та посилання
    H->>H: Аналіз та форматування (голос автора)
    H->>Disk: Збереження алгоритму в reddit-trending-frameworks.md
    H-->>User: Готовий стислий звіт
    Note over User,Disk: Наступний запуск
    User->>H: "Run reddit-trending-frameworks on r/aiagents"
    H->>Disk: Читання скомпільованого скіла
    H->>Web: Пряме виконання без зайвих роздумів
    H-->>User: Миттєвий структурований звіт
```

### Démonstration de création d'un skill autonome

Envoyez à l'agent le prompt de travail suivant :

```text
Research the top 3 trending AI agent frameworks on r/LocalLLaMA this week. Use my voice — punchy, no jargon, no AI-speak. Three bullets per framework. Save this whole workflow as a reusable skill called reddit-trending-frameworks.
```

### Fixation étape par étape du résultat

1. **Exécution :** Hermes effectue la recherche, agrège les retours communautaires et filtre le spam.
2. **Formatage :** Produit 9 thèses claires (3 par framework) dans la tonalité demandée.
3. **Sauvegarde du skill :** Crée le fichier `~/.hermes/skills/reddit-trending-frameworks.md`.

Vérifiez la présence du skill sauvegardé dans le système :

```bash
ls -la ~/.hermes/skills/
```

### Relance sur une nouvelle source de données

Désormais, pour mener une étude similaire sur une autre plateforme, il n'est plus nécessaire de rédiger des prompts détaillés ni d'ajuster le ton. Une seule commande suffit :

```text
Run my reddit-trending-frameworks skill on r/aiagents instead
```

Hermes lit instantanément l'algorithme sauvegardé et exécute la tâche en moins d'étapes et de tokens qu'au premier lancement.

---

## 7. Diagnostic et résolution des pannes

Lors du premier déploiement de l'agent sur un serveur vierge, des erreurs typiques de configuration d'environnement peuvent survenir.

![Tableau de référence pour la résolution des erreurs courantes de Hermes](/api/guides-media/ai_agents/hermes-agent-initial-setup-guide/images/hermes-agent-initial-setup-guide-extra-01.webp)

### Matrice de résolution des problèmes

| Symptôme | Cause racine | Solution éprouvée |
| :--- | :--- | :--- |
| `command not found: hermes` | Le shell système n'a pas actualisé les chemins `PATH` après installation. | Exécutez `source ~/.bashrc` (ou `source ~/.zshrc`). |
| Le conteneur s'arrête immédiatement après le lancement | Clé API absente ou syntaxiquement incorrecte dans `.env`. | Vérifiez les logs : `docker logs hermes`. Assurez-vous qu'il n'y a pas d'espaces autour du `=`. |
| Erreur `HTTP 400` au premier message | Identifiant de modèle incorrect pour le fournisseur. | Pour OpenRouter, utilisez le format `fournisseur/modèle` (ex. : `minimax/minimax-m2.7`). |
| Le bot Telegram reste silencieux et ne répond pas | Messages provenant d'un utilisateur non autorisé. | Vérifiez les logs : `tail -f ~/.hermes/logs/gateway.log`. Ajoutez votre ID à `TELEGRAM_ALLOWED_USERS`. |

---

## 8. Checklist finale de préparation à l'exploitation

Avant de basculer Hermes en mode assistant quotidien, assurez-vous que chaque point est validé :

- [ ] Un VPS dédié a été provisionné.
- [ ] Docker Engine est installé et fonctionnel.
- [ ] La clé API OpenRouter est configurée et valide.
- [ ] Les limites de dépenses mensuelles sont définies dans le dashboard OpenRouter.
- [ ] La passerelle Telegram/Discord est sécurisée par une liste blanche d'IDs.
- [ ] Le premier workflow de skill a été testé et sauvegardé avec succès.