Skip to main content
a2abridge — cover

Izabrani projekti

a2abridge

Otvoren A2A 1.0 mesh za AI coding agente — Claude Code, Codex CLI, Cursor, Cline, Continue, Gemini CLI i Antigravity CLI — na zvaničnom a2a-go SDK-u (v4.0.1).

  • Go
  • A2A 1.0
  • a2a-go
  • JSON-RPC
  • HTTP+JSON
  • SSE
  • MCP

Problem

U istom repozitorijumu istovremeno rade više coding agenata — Claude Code, Codex CLI, Cursor, Cline, Continue, Gemini CLI, Antigravity CLI. Žive u istom kodu, ali ne pričaju. Svaka breaking promena ugovora otkriva se ponovo, sporo, od svakog agenta.

a2abridge pretvara svakog agenta u standardni A2A 1.0 peer, da bi proaktivno slali poruke jedni drugima.

Arhitektura

  • Lokalni directory servis na 127.0.0.1:7777, instaliran kao korisnički sistemski servis (launchd, systemd —user ili Windows Service).
  • Bridge po agentu: istovremeno MCP server za IDE i A2A peer sa sopstvenom Agent Card.
  • Svaki agent ima self-label stabilan tokom sesije, oblika <basename-cwd>-<4hex>, pa peers znaju ko govori.
  • Inbox hook ubacuje nepročitane peer poruke na početak sledećeg prompta agenta.
  • Opciono: mDNS / DNS-SD discovery u lokalnoj mreži i federacija između mašina preko mTLS-a sa ed25519 sertifikatima.

Verzija 4.0 (4.0.0–4.0.2, 2026-09-15 – 2026-09-21)

  • A2A 1.0 kroz zvanični Go SDK. Ručno pisani protokolni sloj iz 3.x zamenjen je sa a2a-go v2.5.0. Bridge-evi služe JSON-RPC i HTTP+JSON binding-e sa SSE streaming-om i push notifikacijama.
  • Breaking promena. Bridge-evi 3.x i 4.x nisu kompatibilni na nivou protokola, pa se svi bridge-evi u mesh-u ažuriraju zajedno. Nestandardni /v1/ REST API i legacy imena metoda su uklonjeni. Putanja Go modula je sada github.com/vbcherepanov/a2abridge/v4.
  • Dodato: podrška za Antigravity CLI, multi-arch Docker image na ghcr.io (linux/amd64 i linux/arm64) i build koji pokreće HTTP stack bridge-a kroz scenarije zvaničnog A2A TCK-a.
  • 4.0.1 ispravlja verziju koju prijavljuju binarni fajlovi instalirani preko go install.
  • 4.0.2 (2026-09-21): instalacija jednom komandom sada prepoznaje sveže instalirane Codex CLI i Cursor, koji prave svoj direktorijum pre bilo kog konfiguracionog fajla.
  • Usklađenost sa specifikacijom: izmereno na v4.0.1 zvaničnim A2A TCK-om (JSON-RPC i HTTP+JSON): 157 prošlo, 6 palo — svih šest zbog a2a-go SDK-a — i 95 preskočeno, uglavnom gRPC provere, koje bridge ne služi. Referentna Python implementacija TCK-a na istom TCK commit-u postiže 198 prošlo, 9 palo. Radi sa zvaničnim Python a2a-sdk 1.1.0 u oba smera (7/7 scenarija). Ovo nije sertifikacija — vidi izveštaj o usklađenosti.

Ključno

  • Transport: a2a_send_message za fire-and-forget poruke, a2a_get_task za follow-up. Streaming između peer-ova koji žive u MCP-u se namerno izbegava: keep-alive streaming RPC-a ne odgovara realnom ciklusu LLM poteza.
  • Hard pravila u ugrađenom skill-u:
    • INBOUND-first — obradi nepročitano pre odgovora.
    • Self-label na svakom outbound-u.
    • Bez spama: poruke su za promene ugovora / API-ja / šeme / javnog ponašanja. Interni refactoring nije povod.
    • Ne svaljivati na peers “proveri inbox” — imaju svoj hook.
  • Ograničenja zahteva: telo A2A zahteva ograničeno je na 10 MiB, a čitanje zahteva na jedan minut.

Rezultati

Jedan Go binary pod MIT licencom za macOS, Linux, Windows i WSL2, objavljen kao release-ovi 4.0.0–4.0.2 i kao ghcr.io image. Upisuje MCP blok u config svakog pronađenog IDE-a, sa rezervnim kopijama označenim vremenom.

Lekcije

  • Chat metafora je pogrešna. Agentima treba red sa hook-ovima, ne chat klijent.
  • Praćenje specifikacije znači korišćenje njene implementacije. Zamena sopstvenog protokolnog sloja zvaničnim SDK-om koštala je kompatibilnosti sa 3.x, i ta razmena se isplatila.