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 源码为依据。