Hanzo Flow
Build an AI workflow on a canvas, ship it as an API
The canvas is not the ceiling
- Models
- vector stores
- document loaders
- text splitters
- output parsers
- memory
- retrievers
- toolkits
- anything you write yourself
The library
Models, vector stores, document loaders, text splitters, output parsers, memory, retrievers and toolkits — plus anything you write yourself, which is a component like the rest.
Open any node
A component is a Python class. Edit it in the browser and the change is live on the next run — no rebuild, no plugin format, no waiting for someone to add the parameter you need.
Step through it
The playground runs a flow one node at a time and shows what each one received and returned. When a chain gives a strange answer, this is where you find the node that caused it.
Multi-agent
Several agents on the same canvas, with conversation state between them and retrieval underneath — visible as a graph rather than buried in a prompt.
Publish it three ways
As a REST endpoint, as JSON your Python app loads directly, or as an MCP server — after which the flow is a tool your coding agent can call.
Keys stay out of the flow
Credentials live as variables the graph references by name, so a flow you export or share carries the wiring and not the secrets.
01 / 06document loaders
received—
returned
- Python
Every component
Python class
- REST
Or JSON, or MCP
a flowRESTAs a REST endpoint
a flowJSONAs JSON your Python app loads directly
a flowMCPAs an MCP server
- :7860
On your machine
$uv pip install hanzoflow $uv run hanzoflow run → 127.0.0.1:7860
- MIT
Self-hosted
Paste and ship
Paste this into any agent. It reads the skill manifest and calls Flow from there.
Read https://hanzo.ai/skill.md and use Hanzo Flow in my project. Start with: hanzo flow workflows listRun it locally first
uv pip install hanzoflow, then uv run hanzoflow run. It opens on 127.0.0.1:7860. Docker works too.
$uv pip install hanzoflow $uv run hanzoflow run → 127.0.0.1:7860