Skip to content

Entrée et flux de démarrage

源码版本v2026.7.20

Responsabilité

Transformer « une commande hermes / un message de la passerelle » en « un agent qui tourne en mémoire ». La couche d'entrée est délibérément fine — run_agent.py ne fait que transférer et assembler le CLI, la véritable injection de dépendances a lieu dans agent_init.py. Ainsi la passerelle, le TUI, le CLI, ACP et cron partagent le même chemin d'initialisation.

Fichiers clés

Flux de données

  1. L'utilisateur lance hermes (CLI) ou la passerelle démarre via main() (run_agent.py:22965).
  2. Le processus passe par hermes_bootstrap.py pour corriger chemins et environnement, puis entre dans CLI main:6434 ou la boucle de la passerelle.
  3. Construction d'une instance AIAgent:400, dont __init__ forward vers init_agent:276.
  4. init_agent résout provider, toolsets, seuils de compression, extra_body des providers personnalisés, etc., et assemble un objet agent exécutable.
  5. La passerelle, dans GatewayRunner (gateway/run.py), détient cet agent et alimente chaque message entrant à run_conversation:588.

Résumé

La couche d'entrée est « transfert + assemblage », sans logique métier. AIAgent est une coquille fine, init_agent est le véritable centre d'assemblage. Une fois cette chaîne comprise, la boucle principale de l'agent est simplement « ce qui se passe quand on alimente un message ».

Site d'apprentissage communautaire non officiel. Basé sur le code source de NousResearch/hermes-agent (licence MIT).