# duragraph

> DuraGraph is a self-hosted, open-source control plane for durable AI agent workflows. It uses event sourcing and CQRS to make every run replayable and crash-safe.

- **Category:** AI Workflows
- **Licence:** Apache-2.0
- **Latest version:** v0.8.1
- **Open source:** open_core
- **Languages:** Typescript, Go, Python
- **Platforms:** Docker Compose, Go, Kubernetes, Linux, Homebrew
- **Tags:** Workflow Automation, Ai Agents, Workflow Orchestration, Durable Execution, Enterprise, LLM, Go, Python, Golang, Self Hosted, Fault tolerance, Human in the loop, Event Sourcing, Cqrs, Replayable

## Description

DuraGraph is a self-hosted control plane for AI agent workflows that records every state change as an immutable event in PostgreSQL. This event-sourced design gives crash-safe execution (workers can die mid-tool-call without losing work), full replayability of runs for debugging, and audit trails. The control plane is a single Go binary that embeds PostgreSQL and NATS for zero-config development, while production deployments use external PostgreSQL and NATS JetStream via Docker Compose or Kubernetes. It offers Python and Go worker SDKs (TypeScript coming), a React dashboard with visual workflow editor and live execution traces, REST and SSE APIs, OpenTelemetry/Prometheus observability, human-in-the-loop approvals, and per-node LLM model choice supporting OpenAI, Anthropic, Gemini, and Hugging Face. The core is Apache 2.0 licensed; enterprise features are source-available. Current version is pre-1.0 (v0.8.x) with production Helm charts and multi-tenancy in development.

## Links

- [Homepage](https://github.com/Duragraph/duragraph)
- [Website](https://duragraph.ai)
- [Docker](duragraph/duragraph)
- [GitHub](https://github.com/Duragraph/duragraph)
- [Documentation](https://docs.duragraph.ai)
- [Blog](https://duragraph.ai/blog)
- [GitHub Issues](https://github.com/Duragraph/duragraph/issues)
- [GitHub Discussions](https://github.com/Duragraph/duragraph/discussions)

---
Source: https://selfhost.directory/project/duragraph