集成与扩展¶
Echo Agent 通过多层扩展体系与外部系统集成,覆盖消息通道、API 网关、技能系统、插件机制及多智能体协议。
架构概览¶
┌─────────────────────────────────────────────────┐
│ Echo Agent Core │
├──────────┬──────────┬──────────┬────────────────┤
│ Channels │ Gateway │ Skills │ Plugins │
│ (14 个) │ HTTP/WS │ (35 个) │ plugin.yaml │
├──────────┴──────────┴──────────┴────────────────┤
│ MCP (工具扩展) │ A2A (入站任务服务) │
└─────────────────────────────────────────────────┘
模块导览¶
| 模块 | 说明 | 文档 |
|---|---|---|
| 消息通道 | 14 个平台适配器,覆盖 IM、邮件、Webhook、CLI | 通道配置与能力矩阵 |
| Gateway | HTTP/WebSocket API 网关,提供认证、限流、会话管理 | 认证模式与反向代理 |
| 技能系统 | 35 个内置技能,按类别组织 | 使用与目录 |
| 插件系统 | 基于 plugin.yaml 的扩展机制 | 使用与开发 |
| MCP | Model Context Protocol 客户端,连接外部工具服务器 | 配置与使用 |
| A2A | Agent-to-Agent 入站协议,接收外部 peer 委派给 Echo Agent 的文本任务 | 协议与集成 |
快速开始¶
启用一个通道¶
在 config.yaml 中开启对应通道:
连接 MCP 工具服务器¶
MCP 服务器配置在 tools.mcp_servers(不是顶层 mcp 节),以服务器名为键:
tools:
mcp:
enabled: true
mcp_servers:
filesystem:
enabled: true
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
启用 A2A 协议¶
a2a 的字段是平铺的,没有 agent_card 嵌套节:
启用后暴露的是入站 /a2a 端点,不会注册出站委派工具。
设计原则¶
- 统一消息总线 — 所有通道通过
MessageBus收发消息,通道间解耦 - 能力自描述 — 每个通道声明自身能力(编辑、表情、文件),上层按能力路由
- 渐进式启用 — 所有集成默认关闭,按需开启,零配置即可运行 CLI 模式
- 安全边界说明 — 通道白名单与 Gateway token 负责入口鉴权;插件权限声明只管理注册准入,Python 插件仍是受信任的进程内代码,不是 OS 沙箱