Skip to content

Einstieg und Startfluss

源码版本v2026.7.20

Verantwortung

Aus «einem hermes-Befehl / einer Gateway-Nachricht» wird «ein im Speicher laufender Agent». Die Einstiegsschicht ist bewusst dünn gehalten – run_agent.py tut nur Weiterleiten und CLI-Zusammenbau; die echte Dependency-Injection steckt in agent_init.py. So teilen sich Gateway, TUI, CLI, ACP und cron denselben Initialisierungspfad.

Schlüsseldateien

Datenfluss

  1. Der Nutzer führt hermes (CLI) aus oder das Gateway startet mit main() (run_agent.py:22965).
  2. Der Prozess durchläuft hermes_bootstrap.py für Pfad-/Umgebungskorrekturen und tritt in den CLI-Main:6434 oder die Gateway-Schleife ein.
  3. Es wird eine AIAgent:400-Instanz erzeugt; deren __init__ leitet an init_agent:276 weiter.
  4. init_agent löst Provider, Toolsets, Kompressionsschwellen, Custom-Provider-extra_body usw. auf und baut ein lauffähiges Agent-Objekt zusammen.
  5. Das Gateway hält diesen Agenten in GatewayRunner (gateway/run.py) und füttert jede eingehende Nachricht an run_conversation:588.

Zusammenfassung

Die Einstiegsschicht ist «Weiterleiten + Zusammenbauen» und trägt keine Geschäftslogik. AIAgent ist eine dünne Hülle, init_agent ist das eigentliche Assembly-Zentrum. Wenn diese Kette verstanden ist, beantwortet die Hauptschleife des Agenten die Frage «was passiert, nachdem eine Nachricht gefüttert wurde».

Inoffizielle Community-Lernseite. Basiert auf dem MIT-lizenzierten NousResearch/hermes-agent-Quellcode.