用途:为 Hermes Agent 安装并配置 hermes-a2a 插件,实现基于 Google A2A 协议的智能体间点对点通信。插件来自 GitHub 上的 hermes-a2a(iamagenius00),零外部依赖,纯 Python 标准库实现。
前提条件:Hermes Agent v2026.4.23+(需带 register_command 的插件 API);仅限 CLI 模式,gateway 不加载插件。
安装步骤:克隆仓库并运行 install.sh,将 7 个文件复制到插件目录;执行 hermes plugins enable a2a 显式启用插件;在环境变量中设置 A2A_ENABLED=true 和 A2A_PORT=8081;重启 CLI 会话(插件在会话启动时加载)。
关键限制:插件系统需显式启用,否则插件被识别但不会加载,用户插件为 opt-in,只有内置后端自动加载。Gateway(Telegram/Discord/Feishu)不会启动 A2A 服务,插件钩子仅在 CLI 对话循环中触发。
提供的工具:a2a_discover 检查远程 agent 的 Agent Card;a2a_call 向远程 agent 发送消息;a2a_list 列出已配置的远程 agent。
配置远程 agent:在 config yaml 的 a2a.agents 下添加条目,包含 name、url、description、auth_token 字段。
安全性:Bearer token 认证(无 token 时仅限 localhost);每 IP 每分钟 20 次请求限流;过滤 9 种提示注入模式;出站密钥脱敏;审计日志写入 a2a_audit.jsonl。
架构:远程 agent 向 localhost:8081 发送 A2A JSON-RPC → task_queue.enqueue() → webhook 触发 agent 回合 → pre_llm_call 钩子将消息注入当前会话 → agent 带完整上下文回复 → post_llm_call 捕获响应 → 同步返回响应(120 秒超时)→ 会话记录持久化到 a2a_conversations/。
文件构成:init.py(入口,注册钩子、工具、服务器)、server.py(A2A HTTP 服务器、webhook、任务队列)、tools.py、security.py、persistence.py、schemas.py、plugin.yaml(插件清单)。
路由关键词:A2A、agent 对话、agent 间通信、给别的 agent 发消息。