Hermes Agents : référence technique francophone

hermes agents — référence technique

Illustration éditoriale d'un entrepreneur utilisant Hermes Agent comme couche d'orchestration IA

Hermes Agents : référence technique francophone

Cette page fait partie du référence technique francophone consacré à Hermes Agent. Elle répond à l'intention de recherche : référence technique.

Le contenu s'appuie sur la documentation officielle Hermes Agent associée à cette page. L'objectif n'est pas de remplacer la documentation de Nous Research, mais de fournir une lecture claire en français, structurée pour aller vite, avec un maillage logique vers les pages complémentaires du même site.

À retenir

  • Sujet principal : hermes agents.
  • Type de page : home.
  • Cluster : accueil.
  • Source canonique : documentation officielle Hermes Agent.
  • Aucun lien vers l'autre domaine n'est utilisé dans cette page.

Par où commencer

Hermes Agent se découvre en trois étapes : installer l'agent, choisir un provider de modèle, puis activer les outils et plateformes nécessaires à votre usage. Pour un premier test, commencez par l'installation, puis enchaînez avec le quickstart et la configuration.

Le site est organisé pour éviter les pages isolées : chaque guide renvoie vers son hub, vers les prérequis, puis vers l'étape suivante. Vous pouvez donc suivre un parcours progressif ou naviguer par besoin précis.

Base officielle

This page is the top-level map of Hermes Agent internals. Use it to orient yourself in the codebase, then dive into subsystem-specific docs for implementation details.

System Overview

┌─────────────────────────────────────────────────────────────────────┐
│                        Entry Points                                  │
│                                                                      │
│  CLI (cli.py)    Gateway (gateway/run.py)    ACP (acp_adapter/)     │
│  Batch Runner    API Server                  Python Library          │
└──────────┬──────────────┬───────────────────────┬───────────────────┘
           │              │                       │
           ▼              ▼                       ▼
┌─────────────────────────────────────────────────────────────────────┐
│                     AIAgent (run_agent.py)                          │
│                                                                     │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐               │
│  │ Prompt       │  │ Provider     │  │ Tool         │               │
│  │ Builder      │  │ Resolution   │  │ Dispatch     │               │
│  │ (prompt_     │  │ (runtime_    │  │ (model_      │               │
│  │  builder.py) │  │  provider.py)│  │  tools.py)   │               │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘               │
│         │                 │                 │                       │
│  ┌──────┴───────┐  ┌──────┴───────┐  ┌──────┴───────┐               │
│  │ Compression  │  │ 3 API Modes  │  │ Tool Registry│               │
│  │ & Caching    │  │ chat_compl.  │  │ (registry.py)│               │
│  │              │  │ codex_resp.  │  │ 70+ tools    │               │
│  │              │  │ anthropic    │  │ 28 toolsets  │               │
│  └──────────────┘  └──────────────┘  └──────────────┘               │
└─────────┴─────────────────┴─────────────────┴───────────────────────┘
           │                                    │
           ▼                                    ▼
┌───────────────────┐              ┌──────────────────────┐
│ Session Storage   │              │ Tool Backends         │
│ (SQLite + FTS5)   │              │ Terminal (6 backends) │
│ hermes_state.py   │              │ Browser (5 backends)  │
│ gateway/session.py│              │ Web (4 backends)      │
└───────────────────┘              │ MCP (dynamic)         │
                                   │ File, Vision, etc.    │
                                   └──────────────────────┘

Directory Structure

hermes-agent/
├── run_agent.py              # AIAgent — core conversation loop (large file)
├── cli.py                    # HermesCLI — interactive terminal UI (large file)
├── model_tools.py            # Tool discovery, schema collection, dispatch
├── toolsets.py               # Tool groupings and platform presets
├── hermes_state.py           # SQLite session/state database with FTS5
├── hermes_constants.py       # HERMES_HOME, profile-aware paths
├── batch_runner.py           # Batch trajectory generation
│
├── agent/                    # Agent internals
│   ├── prompt_builder.py     # System prompt assembly
│   ├── context_engine.py     # ContextEngine ABC (pluggable)
│   ├── context_compressor.py # Default engine — lossy summarization
│   ├── prompt_caching.py     # Anthropic prompt caching
│   ├── auxiliary_client.py   # Auxiliary LLM for side tasks (vision, summarization)
│   ├── model_metadata.py     # Model context lengths, token estimation
│   ├── models_dev.py         # models.dev registry integration
│   ├── anthropic_adapter.py  # Anthropic Messages API format conversion
│   ├── display.py            # KawaiiSpinner, tool preview formatting
│   ├── skill_commands.py     # Skill slash commands
│   ├── memory_manager.py    # Memory manager orchestration
│   ├── memory_provider.py   # Memory provider ABC
│   └── trajectory.py         # Trajectory saving helpers
│
├── hermes_cli/               # CLI subcommands and setup
│   ├── main.py               # Entry point — all `hermes` subcommands (large file)
│   ├── config.py             # DEFAULT_CONFIG, OPTIONAL_ENV_VARS, migration
│   ├── commands.py           # COMMAND_REGISTRY — central slash command definitions
│   ├── auth.py               # PROVIDER_REGISTRY, credential resolution
│   ├── runtime_provider.py   # Provider → api_mode + credentials
│   ├── models.py             # Model catalog, provider model lists
│   ├── model_switch.py       # /model command logic (CLI + gateway shared)
│   ├── setup.py              # Interactive setup wizard (large file)
│   ├── skin_engine.py        # CLI theming engine
│   ├── skills_config.py      # hermes skills — enable/disable per platform
│   ├── skills_hub.py         # /skills slash command
│   ├── tools_config.py       # hermes tools — enable/disable per platform
│   ├── plugins.py            # PluginManager — discovery, loading, hooks
│   ├── callbacks.py          # Terminal callbacks (clarify, sudo, approval)
│   └── gateway.py            # hermes gateway start/stop
│
├── tools/                    # Tool implementations (one file per tool)
│   ├── registry.py           # Central tool registry
│   ├── approval.py           # Dangerous command detection
│   ├── terminal_tool.py      # Terminal orchestration
│   ├── process_registry.py   # Background process management
│   ├── file_tools.py         # read_file, write_file, patch, search_files
│   ├── web_tools.py          # web_search, web_extract
│   ├── browser_tool.py       # 10 browser automation tools
│   ├── code_execution_tool.py # execute_code sandbox
│   ├── delegate_tool.py      # Subagent delegation
│   ├── mcp_tool.py           # MCP client (large file)
│   ├── credential_files.py   # File-based credential passthrough
│   ├── env_passthrough.py    # Env var passthrough for sandboxes
│   ├── ansi_strip.py         # ANSI escape stripping
│   └── environments/         # Terminal backends (local, docker, ssh, modal, daytona, singularity)
│
├── gateway/                  # Messaging platform gateway
│   ├── run.py                # GatewayRunner — message dispatch (large file)
│   ├── session.py            # SessionStore — conversation persistence
│   ├── delivery.py           # Outbound message delivery
│   ├── pairing.py            # DM pairing authorization
│   ├── hooks.py              # Hook discovery and lifecycle events
│   ├── mirror.py             # Cross-session message mirroring
│   ├── status.py             # Token locks, profile-scoped process tracking
│   ├── builtin_hooks/        # Extension point for always-registered hooks (none shipped)
│   └── platforms/            # 20 adapters: telegram, discord, slack, whatsapp,
│                             #   signal, matrix, mattermost, email, sms,
│                             #   dingtalk, feishu, wecom, wecom_callback, weixin,
│                             #   bluebubbles, qqbot, homeassistant, webhook, api_server,
│                             #   yuanbao
│
├── acp_adapter/              # ACP server (VS Code / Zed / JetBrains)
├── cron/                     # Scheduler (jobs.py, scheduler.py)
├── plugins/memory/           # Memory provider plugins
├── plugins/context_engine/   # Context engine plugins
├── skills/                   # Bundled skills (always available)
├── optional-skills/          # Official optional skills (install explicitly)
├── website/                  # Docusaurus documentation site
└── tests/                    # Pytest suite (~25,000 tests across ~1,250 files)

Data Flow

CLI Session

User input → HermesCLI.process_input()
  → AIAgent.run_conversation()
    → prompt_builder.build_system_prompt()
    → runtime_provider.resolve_runtime_provider()
    → API call (chat_completions / codex_responses / anthropic_messages)
    → tool_calls? → model_tools.handle_function_call() → loop
    → final response → display → save to SessionDB

Gateway Message

Platform event → Adapter.on_message() → MessageEvent
  → GatewayRunner._handle_message()
    → authorize user
    → resolve session key
    → create AIAgent with session history
    → AIAgent.run_conversation()
    → deliver response back through adapter

Cron Job

Scheduler tick → load due jobs from jobs.json
  → create fresh AIAgent (no history)
  → inject attached skills as context
  → run job prompt
  → deliver response to target platform
  → update job state and next_run

Recommended Reading Order

If you are new to the codebase:

  1. This page — orient yourself
  2. Agent Loop Internals — how AIAgent works
  3. Prompt Assembly — system prompt construction
  4. Provider Runtime Resolution — how providers are selected
  5. Adding Providers — practical guide to adding a new provider
  6. **[Tools Runtime](./tools-runtime.m

Points de vigilance

  • Vérifiez toujours la version active de Hermes Agent avant d'appliquer une commande ou une configuration.
  • Ne collez pas de clé API dans un chat public ou dans une page visible.
  • Gardez les secrets dans les fichiers ou gestionnaires prévus pour cela.
  • Si une fonctionnalité dépend d'un provider, d'un plugin ou d'une plateforme de messagerie, vérifiez que le composant est bien activé dans votre profil.
  • Pour une installation de production, testez d'abord le flux complet sur une machine ou un profil isolé.

Exemple de parcours logique

  1. Lire la page courante pour comprendre hermes agents.
  2. Ouvrir le hub parent du cluster accueil.
  3. Passer ensuite aux pages complémentaires proposées dans « À lire ensuite ».
  4. Revenir à la documentation officielle si vous avez besoin du détail exact ou d'une commande récemment modifiée.

FAQ rapide

Cette page remplace-t-elle la documentation officielle ?

Non. Elle sert de guide francophone structuré. Le lien vers la source officielle est disponible en bas de page.

Les commandes sont-elles garanties à jour ?

Elles sont basées sur la documentation officielle récupérée au moment de la génération. Pour un usage critique, vérifiez toujours la page officielle liée en bas.

Pourquoi autant de liens internes ?

Hermes Agent est un système modulaire. L'installation, les providers, les outils, la mémoire, les skills, la sécurité et les plateformes se répondent. Le maillage interne aide à suivre ce chemin sans tomber sur des pages orphelines.

Comment lire cette page efficacement

Commencez par identifier votre situation : installation locale, usage serveur, configuration d'un provider, connexion à une plateforme, automatisation ou usage développeur. Hermes Agent est modulaire : une fonctionnalité dépend souvent d'un autre bloc. Par exemple, une automatisation cron devient réellement utile quand le modèle, les outils et le canal de livraison sont déjà configurés.

Pour éviter les erreurs, avancez toujours dans cet ordre : vérifier le prérequis, appliquer la commande ou la configuration, relancer une session si nécessaire, puis tester avec une action simple. Si le résultat ne correspond pas à ce qui est attendu, revenez à la page officielle liée en bas et comparez la version de votre installation avec la documentation actuelle.

Bonnes pratiques

  • Garder une configuration minimale tant que le premier test n'est pas validé.
  • Ajouter les outils et plateformes progressivement.
  • Séparer les profils si plusieurs usages doivent cohabiter.
  • Documenter les procédures répétées dans des skills plutôt que dans de longs prompts.
  • Vérifier les droits, tokens et scopes avant d'accuser le modèle ou Hermes Agent.
  • Relancer la session après un changement de configuration important.

Erreurs fréquentes

La première erreur consiste à activer trop de choses trop tôt. Plus la configuration initiale est large, plus le diagnostic devient difficile. La deuxième erreur consiste à confondre un problème de provider avec un problème Hermes : si le modèle ne répond pas, vérifiez d'abord l'authentification, la clé API, le nom du modèle et le provider sélectionné. La troisième erreur consiste à oublier que certains changements ne s'appliquent qu'à une nouvelle session ou après redémarrage du gateway.

Suite recommandée

Après cette page, ouvrez les liens internes proposés dans la section « À lire ensuite ». Ils ont été choisis pour suivre une progression logique dans le même site, sans envoyer vers l'autre domaine.

Approfondissement (1)

Hermes Agent est conçu pour évoluer. Les commandes et configurations présentées ici peuvent changer avec les versions. Pour rester à jour, consultez régulièrement la documentation officielle liée en bas de page, et testez chaque mise à jour dans un environnement isolé avant de la déployer en production.

Les compétences avancées — orchestration multi-agents, skills personnalisées, intégrations MCP, automatisation cron — s'ajoutent progressivement. Ne tentez pas de tout configurer en une seule session. Construisez votre configuration brique par brique, en validant chaque étape.

Si vous rencontrez un comportement inattendu, vérifiez d'abord les points les plus simples : version installée, provider sélectionné, clés API valides, profil actif. La majorité des problèmes viennent d'un de ces quatre points. Seulement après les avoir éliminés, explorez les logs, les skills et la configuration avancée.

Pour aller plus loin, explorez les sections voisines du site. Chaque page est conçue pour répondre à une intention précise, et le maillage interne permet de construire une compréhension complète sans sauter d'étape. La documentation officielle reste la référence pour les détails techniques exacts, les signatures de commande et les valeurs de configuration.

Bonnes pratiques complémentaires : gardez un profil de test distinct du profil de production, sauvegardez vos configurations avant chaque changement majeur, et notez les commandes qui fonctionnent dans un fichier de référence local. Ces réflexes simples évitent la plupart des situations de blocage.

Approfondissement (2)

Hermes Agent est conçu pour évoluer. Les commandes et configurations présentées ici peuvent changer avec les versions. Pour rester à jour, consultez régulièrement la documentation officielle liée en bas de page, et testez chaque mise à jour dans un environnement isolé avant de la déployer en production.

Les compétences avancées — orchestration multi-agents, skills personnalisées, intégrations MCP, automatisation cron — s'ajoutent progressivement. Ne tentez pas de tout configurer en une seule session. Construisez votre configuration brique par brique, en validant chaque étape.

Si vous rencontrez un comportement inattendu, vérifiez d'abord les points les plus simples : version installée, provider sélectionné, clés API valides, profil actif. La majorité des problèmes viennent d'un de ces quatre points. Seulement après les avoir éliminés, explorez les logs, les skills et la configuration avancée.

Pour aller plus loin, explorez les sections voisines du site. Chaque page est conçue pour répondre à une intention précise, et le maillage interne permet de construire une compréhension complète sans sauter d'étape. La documentation officielle reste la référence pour les détails techniques exacts, les signatures de commande et les valeurs de configuration.

Bonnes pratiques complémentaires : gardez un profil de test distinct du profil de production, sauvegardez vos configurations avant chaque changement majeur, et notez les commandes qui fonctionnent dans un fichier de référence local. Ces réflexes simples évitent la plupart des situations de blocage.

Approfondissement (3)

Hermes Agent est conçu pour évoluer. Les commandes et configurations présentées ici peuvent changer avec les versions. Pour rester à jour, consultez régulièrement la documentation officielle liée en bas de page, et testez chaque mise à jour dans un environnement isolé avant de la déployer en production.

Les compétences avancées — orchestration multi-agents, skills personnalisées, intégrations MCP, automatisation cron — s'ajoutent progressivement. Ne tentez pas de tout configurer en une seule session. Construisez votre configuration brique par brique, en validant chaque étape.

Si vous rencontrez un comportement inattendu, vérifiez d'abord les points les plus simples : version installée, provider sélectionné, clés API valides, profil actif. La majorité des problèmes viennent d'un de ces quatre points. Seulement après les avoir éliminés, explorez les logs, les skills et la configuration avancée.

Pour aller plus loin, explorez les sections voisines du site. Chaque page est conçue pour répondre à une intention précise, et le maillage interne permet de construire une compréhension complète sans sauter d'étape. La documentation officielle reste la référence pour les détails techniques exacts, les signatures de commande et les valeurs de configuration.

Bonnes pratiques complémentaires : gardez un profil de test distinct du profil de production, sauvegardez vos configurations avant chaque changement majeur, et notez les commandes qui fonctionnent dans un fichier de référence local. Ces réflexes simples évitent la plupart des situations de blocage.

Référence Hermes Agent

accéder aux références

Mémoire et skills dans Hermes Agent

comprendre mémoire et skills

Outils web, MCP et médias dans Hermes Agent

comprendre les outils

Sécurité et infrastructure Hermes Agent

sécuriser Hermes