A2A without a server: how OpenAmer peers talk to each other over GitHub
说明与用途
无服务器的 A2A 网络,使用 GitHub 仓库作为中继,允许 NAT 后的代理通过签名、隐私裁剪的消息进行通信,无需开放端口。
问题
Agents behind NAT cannot expose inbound ports, yet need to exchange signed messages and delegate work.
结果
A brokerless, eventually consistent mesh that allows laptops behind NAT to exchange signed, privacy‑redacted messages without exposing any inbound ports.
工作流
- Generate Ed25519 keypair and fingerprint with
openamer a2a init - Publish presence with
openamer a2a announce - Sign a task note addressed to the peer’s mailbox
- Upload the signed envelope to the relay directory via the GitHub Contents API
- Trigger the remote worker with
repository_dispatch - Poll the repo for a signed reply in the mailbox
- Verify the reply’s signature and freshness before processing
证据
OpenAmer takes the second path: the GitHub repo is the relay.
A node posts a signed, privacy‑redacted envelope as a JSON file under a relay directory (directory/a2a/relay/), addressed to a mailbox path; the intended peer pulls it.
The mesh is eventually consistent, not real-time.
- 记录日期: 2026-10-10T11:41:03.256Z