https://github.com/go-a2a/a2a-go
An open protocol enabling communication and interoperability between opaque agentic applications for Go.
https://github.com/go-a2a/a2a-go
a2a go
Last synced: 3 months ago
JSON representation
An open protocol enabling communication and interoperability between opaque agentic applications for Go.
- Host: GitHub
- URL: https://github.com/go-a2a/a2a-go
- Owner: go-a2a
- License: apache-2.0
- Created: 2025-04-11T03:51:30.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-07-16T22:49:23.000Z (3 months ago)
- Last Synced: 2025-07-17T00:07:48.110Z (3 months ago)
- Topics: a2a, go
- Language: Go
- Homepage: http://pkg.go.dev/github.com/go-a2a/a2a
- Size: 417 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# A2A for Go
[](https://pkg.go.dev/github.com/go-a2a/a2a)
[](https://github.com/go-a2a/a2a/actions/workflows/test.yml)> [!IMPORTANT]
> This project is in the alpha stage.
>
> Flags, configuration, behavior, and design may change significantly.A Go implementation of the [Agent-to-Agent (A2A)](https://github.com/google/A2A) protocol.
A2A is an open protocol enabling communication and interoperability between opaque agentic applications.
## Installation
```bash
go get github.com/go-a2a/a2a
```## Usage
```go
package mainimport (
"context"
"fmt"
"time""github.com/go-a2a/a2a"
)func main() {
// Create a new task
task := a2a.NewTaskBuilder().
WithAgentCard(a2a.AgentCard{
Name: "Example Agent",
URL: "https://example.com/agent",
Version: "1.0.0",
}).
WithClient("example-client").
AddMessage(
a2a.NewMessageBuilder("user").
AddTextPart("Hello, agent!").
Build(),
).
Build()fmt.Printf("Task ID: %s\n", task.ID)
fmt.Printf("Task State: %s\n", task.State)
}
```## Features
- Full implementation of the A2A protocol in Go
- Builder pattern for creating tasks, messages, and artifacts
- OpenTelemetry integration for tracing and metrics
- High-performance JSON serialization using Bytedance's Sonic## License
This project is licensed under the Apache 2.0 License - see the [LICENSE](./LICENSE) file for details.