Dify is the biggest open-source full-stack LLM platform for good reason: a real workflow canvas, RAG, agents, observability, and a clean draft-vs-published line that keeps experiments out of production. It's further along than most of this category.
That draft/publish line is also the architectural difference. A Dify run executes the version you published — the API rejects draft IDs outright — so the canvas you're editing is never the thing running. Node status streams live, but nothing is steerable. LiveGraph makes the running graph itself the editable surface.
| Dimension | Dify | LiveGraph |
|---|---|---|
| What a run executes | The published workflow version — canvas edits live in a draft, and draft IDs are rejected at run time. | The live graph, re-read on every hop — what you see is what's executing. |
| Canvas during a run | Live node status streams over SSE — observable, not steerable. | Stays live — every hop is visible while it executes, and dragging an edge changes where this run goes next. |
| Human-in-the-loop | A real Human Input node — the run pauses, a form goes out, and submitting it resumes the run. | Run-level gates that park at the approvals queue, plus per-tool-call gates (e.g. a single http_request endpoint) — the pending payload is always visible to the approver. |
| Model roster | Broad — installable model-provider plugins, on your own keys or hosted credits. | Per-node provider and model — Anthropic, OpenAI, Google, Groq, OpenRouter, or an OpenAI-compatible endpoint; your call per node. |
| Scope | A full LLM-app platform — chatbots, RAG, knowledge bases, workflows, all in one place. | The orchestration layer only — bring your own apps, embed the live run view where you need it. |
| Run audit trail | Run-level logs with status, token usage, and step count; node-level detail via the run's event stream. | Every hop lands as an ordered run event — input, output, the routing explanation, and its cost — and approval decisions are stamped with who and when. |
| License | Source-available with additional terms — community-disputed as non-OSD. | Not evaluated |
| Pricing | Tiered SaaS plans metered on messages and credits; a self-hosted community edition exists. | Flat team price — runs are never metered. Model usage on hosted keys is metered on top; your own keys are never marked up. |
Competitor rows are limited to claims verified in our own research — "Not evaluated" means we didn't check, not that the capability is missing. On the LiveGraph side, one nuance: runs started from chat or the canvas Run button are steerable; unattended runs (API, schedules, webhooks) run pinned to the graph they started on — steering is a watched-run feature, by design.
Dify's publish button encodes a real instinct — what runs in production shouldn't wiggle under you — and we share it: unattended LiveGraph runs pin to the graph they started on. The difference is the watched run. When someone is looking at the canvas anyway, Dify shows them a live view of a frozen execution; LiveGraph hands them the edges.
The live demo runs a real multi-agent graph in your browser — no signup, no API key — including the mid-run edge drag. If the canvas earns it, an account takes a minute.