Skip to content

Plugin-System

源码版本v2026.7.20

Verantwortung

Plugins sind das Erweiterungsskelett von Hermes: Provider-Profile, Plattform-Adapter, Context-Engine, Cron-Provider, Memory-Backends, Browser, Bild-/Video-Generierung – alles wird über den Plugin-Mechanismus angebunden. plugins/ stellt PluginContext (Registrierungseinstieg) + Hilfsfunktionen; jedes Plugin-Unterverzeichnis ist domänen-lokal gekapselt. Es arbeitet mit ToolRegistry/PlatformRegistry zusammen: Das Plugin «deklariert und registriert» nur, die Registry ist zuständig für «Lookup und Dispatch».

Schlüsseldateien

Datenfluss

  1. Beim Start löst init_agent (agent/agent_init.py:276) die Plugin-Discovery aus.
  2. Jedes Plugin-Unterverzeichnis wird importiert; der modulweite Code ruft die Registrierungsmethoden von PluginContext auf:
  3. Die Registrys (Singletons) werden zur Abfrage-Wahrheit; Hauptschleife und Gateway lesen nur aus ihnen und hängen nicht direkt an konkreten Plugins.
  4. Plugins sind hot-swapable: Entfernen läuft über unregister; die Registry behandelt Priorität und Überschreibung.

Zusammenfassung

Plugin = «Unterverzeichnis + Registrierung». Alle querschnittlichen Fähigkeiten (Provider, Plattform, Werkzeug, Memory, Cron, Multimodal) laufen über dasselbe Registrierungsskelett, wodurch die Kernschleife stabil bleibt. Eine neue Fähigkeit = neues Plugin-Unterverzeichnis plus Registrierung, ohne Eingriff in den Agent-Stamm.

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