360 Secure SkillHub
360 安全技能中心

A2a Protocol

实现 Agent2Agent(A2A)协议客户端:借助 Agent Card 发现远程 Agent,注册本机 Agent,发送消息,提交任务并查询状态与结果,支持 SSE 流式传输及 API Key/Bearer 认证。依赖 Python 3.8+、requests 和 sseclient-py,文档示例以 a2a.ps1 脚本调用。

nantes
nantes
热度 81.86
最近更新 2026-05-11 17:26:48
分类:开发依赖:代码执行 / 第三方 API应用场景:API 集成 / 工作流 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add a2a-protocol
Metadata
name
a2a-protocol
version
1.0.0
description
Agent2Agent (A2A) Protocol implementation - communicate with other AI agents
metadata
{"openclaw":{"emoji":"🤝","category":"communication","requires":{"bins":["python"],"pip":["requests"]},"homepage":"https://a2a-protocol.org"}}

A2A Protocol Skill

Implementation of the Agent2Agent (A2A) Protocol for inter-agent communication.

What it does

  • Agent Discovery via Agent Cards
  • Send Messages to remote agents
  • Task Management (submit, check status, get results)
  • Streaming via Server-Sent Events (SSE)
  • Authentication support (API keys, Bearer tokens)

Installation

# Install Python dependencies
pip install requests sseclient-py

Usage

Register Your Agent

.\a2a.ps1 -Action register -Name "MyAgent" -Description "Research agent" -Capabilities "research,analysis" -Endpoint "https://my-agent.com/a2a"

Get Agent Card

.\a2a.ps1 -Action card -AgentId "uuid-of-agent"

Send Message

.\a2a.ps1 -Action send -ToAgent "target-agent-uuid" -Content "Hello agent!"

Submit Task

.\a2a.ps1 -Action task -ToAgent "target-agent-uuid" -Task "Research quantum computing"

Check Task Status

.\a2a.ps1 -Action status -TaskId "task-uuid"

List Remote Agents

.\a2a.ps1 -Action list -RegistryUrl "https://registry.agentlink.io"

A2A Concepts

  • Agent Card: JSON describing agent capabilities (name, endpoint, methods)
  • Client Agent: Agent that sends tasks
  • Remote Agent: Agent that receives and processes tasks
  • Task: Work request with ID, status, and result
  • Message: Direct communication between agents

API Reference

POST /a2a/agents/register - Register agent
GET  /a2a/agents/{id}    - Get agent info
GET  /a2a/agents/{id}/card - Get Agent Card
POST /a2a/messages       - Send message
POST /a2a/tasks          - Submit task
GET  /a2a/tasks/{id}     - Get task status
GET  /a2a/tasks/{id}/result - Get task result

Examples

Python Usage

from a2a import A2AClient

client = A2AClient("https://remote-agent.com/a2a", api_key="your-key")

# Send message
client.send_message("target-agent-id", "Hello!")

# Submit task
task_id = client.submit_task("target-agent-id", "Do X")
result = client.get_result(task_id)

Requirements

  • Python 3.8+
  • requests library
  • sseclient-py (for streaming)

License

MIT