A2A-Lite:轻量级 AI 代理通信 - Openclaw Skills
作者:互联网
2026-04-18
什么是 A2A-Lite:代理间通信协议?
A2A-Lite 是一个精简的代理间通信框架,灵感来自 Google A2A 设计,但针对 Clawdbot 和 Openclaw Skills 生态系统进行了优化。它专注于自然语言优先,允许代理交换能力并管理任务,而无需专用 HTTP 服务器的开销。通过在标准消息通道中使用结构化标签,它为多代理编排创建了一个强大的层。
该协议建立在渐进式采用的原则之上;如果对等代理不支持 A2A-Lite,通信会自然降级为标准对话。这使其成为构建复杂 AI 工作流的开发者的灵活选择,在这些工作流中,不同的代理必须专注于特定的技能(如研究、起草或系统操作),同时保持互操作性。
下载入口:https://github.com/openclaw/skills/tree/main/skills/xiwan/a2a-lite
安装与下载
1. ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install a2a-lite
2. 手动安装
将技能文件夹复制到以下位置之一
全局模式~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置
3. 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 a2a-lite。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
A2A-Lite:代理间通信协议 应用场景
- 发现网络中其他代理的具体技能和输出模式。
- 将专业任务(如生成研究报告或播客脚本)委托给对等代理。
- 使用结构化状态更新实时跟踪跨代理任务的进度。
- 在 Openclaw Skills 环境中构建已知代理及其能力的目录。
- 发现:代理发送发现请求以识别对等代理的能力。
- 能力交换:对等代理响应包含其唯一 ID、支持的技能和通信通道的代理卡。
- 任务启动:主代理发布带有唯一任务 ID 和特定参数的结构化任务请求。
- 状态跟踪:工作代理提供定期状态更新(如已接受、正在进行或需要输入)以通知请求者。
- 结果交付:完成后,工作代理发送包含输出数据或文件附件的最终结果消息。
A2A-Lite:代理间通信协议 配置指南
要在您的 Openclaw Skills 设置中实现此技能,您需要配置您的代理身份文件并利用提供的实用程序脚本。
在指定路径创建您的代理卡:
# 初始化目录和卡片文件
mkdir -p skills/a2a-lite/
touch skills/a2a-lite/agent-card.json
您可以使用内置的 bash 脚本来自动处理消息:
# 将传入的 A2A 消息解析为 JSON 格式
./scripts/parse_message.sh "[A2A:task id=123]..."
# 格式化新的协议消息以进行发送
./scripts/format_message.sh status task=123 state=working
A2A-Lite:代理间通信协议 数据架构与分类体系
该协议依赖于标准化的 JSON 模式进行代理识别,并依赖于扁平文件系统来缓存对等信息。
| 数据组件 | 位置 | 描述 |
|---|---|---|
| 代理卡 | skills/a2a-lite/agent-card.json |
存储代理的元数据、版本、技能和通道 ID。 |
| 已知代理 | skills/a2a-lite/known-agents/*.json |
其他对等代理发现的代理卡缓存。 |
| 协议规范 | references/protocol-spec.md |
所有消息类型和任务状态的详细模式。 |
name: a2a-lite
description: Agent-to-Agent 轻量通信协议。仿 Google A2A 设计,但适配 Clawdbot/OpenClaw 生态。用于:(1) Agent 能力发现 (2) 跨 agent 任务协作 (3) 结构化的 agent 间消息交换。触发词:a2a、agent协议、agent通信、agent card、能力发现。
A2A-Lite: Agent-to-Agent 轻量通信协议
基于 Google A2A 协议精简设计,适配 Clawdbot/OpenClaw 生态的 agent 间自然语言通信标准。
设计原则
- 自然语言优先 — 协议消息是增强型自然语言,而非纯 JSON RPC
- 渐进式采用 — 即使对方不支持协议,基本通信也能工作
- 轻量级 — 不需要 HTTP 服务器,基于现有消息通道
- 人类可读 — 所有协议消息人类也能理解
核心概念
Agent Card(能力卡片)
每个 agent 维护一个 agent-card.json,描述自身能力:
{
"protocol": "a2a-lite/1.0",
"agent": {
"id": "jiajia",
"name": "佳佳",
"framework": "clawdbot",
"version": "0.x"
},
"skills": [
{
"id": "research",
"name": "调研助手",
"description": "收集和分析特定主题的资料",
"inputModes": ["text"],
"outputModes": ["text", "file"]
},
{
"id": "podcast-script",
"name": "播客脚本",
"description": "创作播客口播稿",
"inputModes": ["text", "file"],
"outputModes": ["text", "file"]
}
],
"capabilities": {
"streaming": false,
"fileTransfer": true,
"asyncTasks": false
},
"channels": ["discord:jiajia"]
}
消息类型
1. 能力查询 (discover)
[A2A:discover]
请告诉我你能做什么?
响应:
[A2A:card]
我是佳佳,运行在 Clawdbot 上。
我的主要能力:
- 调研助手:收集和分析特定主题的资料
- 播客脚本:创作播客口播稿
支持文件传输,不支持流式输出。
2. 任务请求 (task)
[A2A:task id=research-001]
帮我调研一下 "AI Agent 生态的最新进展",时间范围过去一周。
预计需要的输出:markdown 报告文件。
3. 任务状态更新 (status)
[A2A:status task=research-001 state=working]
正在收集资料,预计还需要 10 分钟。
状态值:
accepted— 任务已接受working— 处理中input-required— 需要更多输入completed— 已完成failed— 失败cancelled— 已取消
4. 任务结果 (result)
[A2A:result task=research-001 state=completed]
调研报告已完成,见附件。
[附件: ai-agent-research-2026-02.md]
5. 普通消息 (无标记)
不需要协议包装的日常交流正常发送,保持自然。
使用流程
发起协作
- 检查本地 card — 读取
skills/a2a-lite/agent-card.json - 发送 discover — 了解对方能力(如果不确定)
- 发送 task — 用结构化格式描述任务
- 跟踪状态 — 通过 status 更新了解进度
- 接收结果 — 处理 result 消息和附件
响应协作请求
- 识别协议消息 — 检查
[A2A:...]标记 - 解析请求 — 提取任务 ID 和内容
- 评估能力 — 检查是否在自己的 skills 范围内
- 响应或拒绝 — 用 status 回应
- 执行并报告 — 完成后用 result 回应
协议消息格式
[A2A: ]
<自然语言消息体>
[可选附件]
参数格式:key=value,多个用空格分隔
示例:
[A2A:discover][A2A:task id=task-123 skill=research][A2A:status task=task-123 state=working progress=50%][A2A:result task=task-123 state=completed]
Agent Card 管理
创建/更新自己的 card
# Card 位置
skills/a2a-lite/agent-card.json
必填字段:
protocol— 协议版本agent.id— 唯一标识agent.name— 显示名称agent.framework— 运行框架 (clawdbot/openclaw/other)skills[]— 能力列表channels[]— 可达通道
可选字段:
capabilities— 支持的特性limits— 资源限制(如最大文件大小)
读取对方的 card
收到 [A2A:card] 响应时,可选择缓存到:
skills/a2a-lite/known-agents/.json
与现有机制的关系
与 cross-agent-collab 的区别
- cross-agent-collab — 行为规范(怎么做)
- a2a-lite — 通信格式(怎么说)
两者互补,a2a-lite 消息应遵循 cross-agent-collab 的原则。
与 sessions_send 的关系
A2A-Lite 消息通过现有通道发送:
- Discord 频道:正常发消息
- 跨 session:用
sessions_send
协议标记 [A2A:...] 是语义增强,不改变传输方式。
错误处理
对方不支持协议
如果对方未用协议格式回应,降级为普通自然语言交流。
任务无法完成
[A2A:status task=research-001 state=failed]
无法完成此任务:缺少访问 X 数据源的权限。
建议:请联系鲁伊科斯塔授权。
能力不匹配
[A2A:status task=video-edit-001 state=failed]
此任务超出我的能力范围。我的 skills 不包含视频编辑。
安全注意
- 不传输凭据 — Agent card 和消息中不含 API key
- 文件用附件 — 不假设对方能访问本地路径
- 不跨系统操作 — 仅协调,不代执行对方系统命令
示例:完整协作流程
佳佳 → Mexico:
[A2A:discover]
你好!我想了解一下你的能力,看看我们能不能协作完成一个任务。
Mexico → 佳佳:
[A2A:card]
我是 Mexico,运行在 OpenClaw 上。
我的能力:
- 邮件发送:通过 SMTP 发送邮件和附件
- 日程管理:Google Calendar 操作
支持文件接收。
佳佳 → Mexico:
[A2A:task id=email-001 skill=email]
帮我把这份调研报告发给鲁伊科斯塔。
收件人:5155280@qq.com
主题:AI Agent 调研报告
正文:请查收附件中的调研报告。
[附件: ai-agent-research.md]
Mexico → 佳佳:
[A2A:status task=email-001 state=accepted]
收到,正在发送邮件。
Mexico → 佳佳:
[A2A:result task=email-001 state=completed]
邮件已成功发送到 5155280@qq.com。
参考资料
- 协议规范详情: references/protocol-spec.md — 完整的消息类型、状态值、Schema 定义
- 辅助脚本:
scripts/parse_message.sh— 解析协议消息为 JSONscripts/format_message.sh— 生成协议消息
版本: 1.0 | 创建: 2026-02-09 | 作者: 佳佳 灵感来源: Google A2A Protocol (a2aproject/A2A)
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
cfshare: 通过 Cloudflare 安全共享本地端口和文件 - Openclaw Skills
Webhook 路由器:安全自动化 Webhook 管理 - Openclaw Skills
代发货导师 Nick:电子商务策略与增长 - Openclaw Skills
巨鲸追踪器:链上聪明钱分析 - Openclaw Skills
TikTok 爆款标题生成器:利用 Openclaw Skills 提升参与度
收益监测器:跟踪下载量与收益 - Openclaw Skills
链上项目安全审计:风险评估工具 - Openclaw Skills
ClawdHub CLI: 管理并发布 Openclaw 技能 - AI 智能体注册表
Auto-Updater:Openclaw 插件的自动化维护工具
weread: 导出微信读书笔记和划线 - Openclaw Skills
AI精选
