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 原始碼為依據。