# Go AI + Dapr

Make your Go agents production-ready by building them as [durable workflows](https://docs.diagrid.io/concepts/durable-execution). The [`go-ai`](https://github.com/diagridio/go-ai) library runs an agent built as a small graph of nodes on Catalyst — every node becomes a checkpointed activity, so a crashed agent resumes from the last completed node instead of starting over.

- [Durable Agents](https://docs.diagrid.io/develop/agents/go-ai/go-ai-durable-agents) — Build an agent graph with your Go framework of choice, run it as a durable workflow on Catalyst, and recover it from a crash.

---

## Why Dapr for Go agents?

| Challenge | Dapr Solution |
|-----------|---------------|
| Agent crashes lose all progress | **Durable workflows** checkpoint every node |
| Custom retry logic everywhere | **Built-in retries** with exponential backoff |
| Agents are invisible to the platform | **Agent registry** lists every agent in the Catalyst console |
| Framework lock-in | **Adapters** plug any Go framework into the same runner |

## Framework adapters

An agent graph is framework-neutral. A framework plugs in through an adapter — a node constructor that turns its chat model into a graph node — so swapping frameworks doesn't touch your orchestration code.

| Framework | Adapter module |
|-----------|----------------|
| [LangChainGo](https://github.com/tmc/langchaingo) | `github.com/diagridio/go-ai/adapters/langchaingo` |
| [Eino](https://github.com/cloudwego/eino) | `github.com/diagridio/go-ai/adapters/eino` |

Each adapter is a separate Go module, so its framework dependencies stay out of your build unless you use it.
