Skip to content

プラグインシステム

源码版本v2026.7.20

職務

プラグインは Hermes の拡張骨格:provider profile、プラットフォームアダプタ、context engine、cron provider、記憶バックエンド、ブラウザ、画像/動画生成……すべてがプラグイン機構で接入される。plugins/PluginContext(登録入口)+ ユーティリティ関数を提供し、各プラグインのサブディレクトリはドメイン別に自己完結する。ToolRegistry/PlatformRegistry と協調し、プラグインは「宣言して登録する」だけ、レジストリが「照合とスケジュール」を担う。

主要ファイル

データフロー

  1. 起動期 init_agent(agent/agent_init.py:276) がプラグイン発見をトリガーする。
  2. 各プラグインのサブディレクトリがインポートされ、モジュールレベルのコードが PluginContext の登録メソッドを呼ぶ:
  3. レジストリ(シングルトン)が照合の真実の情報源となり、主ループとゲートウェイはレジストリだけを読み、個別プラグインに直接依存しない。
  4. プラグインはホットプラグ可能:外すには unregister だけで、レジストリが優先度と上書きを処理する。

まとめ

プラグイン = 「サブディレクトリ + 登録」。provider、プラットフォーム、ツール、記憶、cron、マルチモーダルといったすべての横断能力が同じ登録骨格を通るので、コアループは安定を保てる。新機能の追加 = プラグインサブディレクトリを一つ作って登録するだけで、agent 主幹には触れない。

非公式コミュニティ学習サイト。MIT ライセンスの NousResearch/hermes-agent ソースに基づく。