Independent project. Not affiliated with, sponsored by, or endorsed by Cloudflare, Inc. “Cloudflare” is a trademark of Cloudflare, Inc.
Cloudflare AI Flows

Architecture

Cloudflare AI Flows is a monorepo with four packages. The frontend (React + React Flow) is served as Worker static assets. The API Worker (Hono) handles REST routes and WebSocket upgrades. The execution engine runs flows as Cloudflare Dynamic Workflows — durable, retriable, step-by-step. The node library is self-registering: adding a new node type is one file with no changes to the engine or canvas.

┌─────────────────────────────────────────────────────────┐
│  Frontend (React + React Flow SPA)                      │
│  Deployed as Worker static assets                       │
├─────────────────────────────────────────────────────────┤
│  API Worker (Hono) — REST + WebSocket routing           │
├─────────────────────────────────────────────────────────┤
│  Execution Engine                                       │
│  Dynamic Workflows · ExecutionRelay Durable Object      │
├─────────────────────────────────────────────────────────┤
│  Node Library — self-registering NodeDefinition         │
├─────────────────────────────────────────────────────────┤
│  Storage — D1 · KV · R2 · Vectorize · Secrets Store     │
└─────────────────────────────────────────────────────────┘

Durable execution

Every flow runs as a Cloudflare Dynamic Workflow. Steps are logged and replayable, so a flow survives crashes and retries. The ExecutionRelay Durable Object streams progress to the canvas over WebSocket, lighting up nodes as they run.

Self-registering nodes

Create packages/nodes/src/{category}/{name}.node.ts, implement the NodeDefinition interface (config schema, input/output schemas, execute()), then register it. No changes to the engine, API, or canvas required — the config schema drives the settings panel UI automatically. (This site’s feature list is generated from exactly those definitions.)