要实现Hermes Agent自动调用插件,需确保插件激活、具备自动调度能力并集成至执行生命周期:一、通过交互式界面启用自动注册;二、用Python SDK注入工具列表并由LLM自动匹配;三、启用REST API插件扫描;四、通过ACP协议实现Socket直连自动调用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望 Hermes Agent 在运行过程中自动调用已注册的插件,而非依赖人工触发或显式工具调用指令,则需确保插件处于激活状态、具备自动调度能力,并被正确集成至 agent 的执行生命周期中。以下是实现此目标的多种可行路径:
一、启用插件自动注册与初始化
该方式通过 Hermes Agent 的交互式插件配置界面,强制触发插件的注册与初始化流程,使其在 agent 启动时即加载并可被自动识别和调用。
1、在项目根目录下执行命令 hermes tools 进入交互式插件配置界面。
2、使用方向键导航至 browser_automation 选项,按空格键勾选启用。
3、按回车确认提交,等待终端显示 Plugin browser_automation loaded successfully 提示。
4、执行 hermes config get tools.browser_automation.enabled 验证返回值为 true。
二、通过 Python SDK 实现插件自动注入与调度
该方式在脚本中直接实例化 AIAgent 并传入预定义插件集合,使插件函数在 run_conversation 执行时由 LLM 工具调用机制自动匹配并触发。
1、确保已安装 Hermes Agent 及其 Python 包:pip install hermes-agent。
2、在 Python 脚本中导入核心类并初始化 agent,同时传入含插件能力的工具列表。
3、构建工具列表时,将插件函数以符合 ToolSpec 格式的方式注册,标注 @tool 装饰器并声明参数类型与 description。
4、调用 run_conversation 方法,传入含自然语言意图的消息(如“打开百度首页”),LLM 将自动解析并调度对应插件。
5、捕获返回结果中的 tool_result 字段,确认插件已执行并返回有效输出。
三、启用 REST API 插件扫描与自动加载
该方式将 Hermes Agent 启动为 HTTP 服务,并在启动时启用插件自动发现机制,使放置于指定目录下的插件模块在服务初始化阶段被自动加载。
1、将本地插件脚本(如 file_tools.py)置于 ~/.hermes/tools/ 目录下。
2、在该脚本中定义函数,使用 @tool 装饰器标注,并确保参数类型与 description 字段完整。
3、启动 API 服务时启用插件扫描:hermes api serve --host 0.0.0.0 --port 8000 --enable-plugins。
4、使用 requests 发送 POST 请求至 /v1/chat/completions,body 中 messages 包含触发插件意图的自然语言指令。
5、检查响应 JSON 中是否包含 "tool_calls" 字段,确认插件已被 runtime_provider 自动识别并调度。
四、通过 ACP 协议实现插件自动绑定与调用
该方式面向本地高性能集成场景,在 Hermes Agent 进程启动时即完成插件模块加载,并通过 Unix Domain Socket 实现零延迟自动调用。
1、确认 Hermes Agent 正在运行且启用了 ACP 支持:hermes run --mode acp。
2、查看日志中输出的 socket 路径,通常为 /tmp/hermes-acp.sock。
3、在客户端代码中连接该 socket,并发送含插件调用意图的 ACP 消息帧。
4、Hermes Agent 接收后自动匹配已注册插件,无需额外路由逻辑或手动 dispatch。
5、响应消息中携带 tool_id 与 result 字段,表明插件已自动执行完毕。


















