Wangjipeng977/a2a-protocol

Habilidade do protocolo A2A (Agente-para-Agente) para OpenClaw — permite que agentes de IA descubram pares, enviem tarefas e troquem dados estruturados através do protocolo Google A2A

O que é a2a-protocol?

Esta habilidade implementa o protocolo A2A (Agente-para-Agente) do Google para a plataforma OpenClaw, permitindo que agentes de IA se descubram mutuamente, enviem tarefas e troquem dados estruturados de forma padronizada. Ela é especialmente útil para cenários onde múltiplos agentes precisam colaborar em tarefas complexas, como automação de fluxos de trabalho, coordenação de pesquisas ou execução de tarefas assíncronas. Baseada na especificação oficial do Google A2A, a habilidade oferece suporte a descoberta de agentes via registro, envio de tarefas com estados (pendente, em execução, concluída, falha) e troca de payloads JSON. Projetada para ser extensível e leve, ela funciona com qualquer agente compatível com OpenClaw, seja em ambientes locais ou remotos, e pode ser integrada a sistemas de orquestração maiores. A documentação inclui exemplos de uso, endpoints REST e como configurar a comunicação entre agentes.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add Wangjipeng977/a2a-protocol

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que a2a-protocol faz?

Habilidade do protocolo A2A (Agente-para-Agente) para OpenClaw — permite que agentes de IA descubram pares, enviem tarefas e troquem dados estruturados através do protocolo Google A2A

Visão Geral

Esta habilidade fornece uma implementação do protocolo Google A2A para a plataforma OpenClaw. Ela permite que agentes de IA se descubram, enviem tarefas e troquem dados estruturados de forma padronizada.

Funcionalidades

  • Descoberta de Agentes: Enumere e descubra agentes disponíveis no mesmo registro.
  • Envio de Tarefas: Envie tarefas para agentes remotos com estados definidos (pendente, em execução, concluída, falha).
  • Troca de Dados: Troque payloads JSON entre agentes de forma segura.
  • Integração Assíncrona: Suporte a tarefas assíncronas com polling de resultados.

Como Usar

Configuração

Adicione a habilidade ao seu projeto OpenClaw:

openclaw install wangjipeng977/a2a-protocol

Ou inclua no seu arquivo de configuração:

skills:
  - wangjipeng977/a2a-protocol

Descoberta de Agentes

from a2a_protocol import discover_peers

peers = discover_peers()
for peer in peers:
    print(f"Agente encontrado: {peer.name} em {peer.endpoint}")

Envio de Tarefas

from a2a_protocol import send_task

task = send_task(
    agent_id="agente-exemplo",
    task_type="pesquisar",
    payload={"query": "últimas notícias de IA"}
)
print(f"Tarefa criada: {task.id} com status {task.status}")

Endpoints REST

MétodoRotaDescrição
GET/peersLista todos os agentes disponíveis
POST/tasksCria uma nova tarefa
GET/tasks/{id}Obtém o status de uma tarefa
POST/tasks/{id}/cancelCancela uma tarefa em andamento

Especificação Técnica

A habilidade segue a especificação oficial do Google A2A, que define:

  • Registro de Agentes: Um registro central (ou descentralizado) onde agentes se anunciam.
  • Modelo de Tarefas: Cada tarefa possui um ID único, tipo, payload e status.
  • Formato de Dados: Trocas são feitas via JSON com schema definido.
  • Segurança: Autenticação opcional via tokens ou chaves API.

Exemplo Completo

Veja abaixo um exemplo de fluxo completo:

from a2a_protocol import discover_peers, send_task, get_task_status

# 1. Descobrir agentes
agentes = discover_peers()
if not agentes:
    print("Nenhum agente disponível")
    exit()

# 2. Enviar tarefa para o primeiro agente
task = send_task(agentes[0].id, "processar", {"dados": [1, 2, 3]})

# 3. Aguardar conclusão (polling)
while task.status not in ("completed", "failed"):
    task = get_task_status(task.id)
    time.sleep(1)

print(f"Tarefa concluída! Resultado: {task.result}")

Compatibilidade

  • OpenClaw CLI
  • OpenClaw SDK
  • Cursor (em breve)
  • Claude Code (em breve)

Contribuindo

Contribuições são bem-vindas! Siga as diretrizes de contribuição do repositório.

Licença

MIT — veja o arquivo LICENSE para mais detalhes.

Habilidades Relacionadas