Skip to content

Repository files navigation

flowcraft 🔗

License: MIT Python 3.8+ TypeScript GitHub Stars

Local-first visual AI workflow builder — chain LLM, API, and human steps in one SQLite file. Self-hosted Dify/n8n in one docker run, offline.

Zapier caps at 100 steps, 10 branches, $340/mo vs $19. Make breaks on messy PDFs. Dify needs 36 containers. flowcraft does 5+ step stateful workflows with memory, http, llm, condition, human approval — in one flowcraft.db.

Quick Start

pip install flowcraft
# 1. Backend (Python + SQLite, one file, no cloud)
git clone https://github.com/thehypewipe/flowcraft.git
cd flowcraft
pip install -e ".[dev]"
uvicorn flowcraft.main:app --reload  # http://127.0.0.1:8000/docs

# 2. Frontend (TypeScript + React Flow)
cd frontend
npm install
npm run dev  # http://127.0.0.1:5173

# 3. Or one docker run
# docker compose up

Works offline, single SQLite file flowcraft.db, no API keys required (LLM node is mock by default, swap to OpenAI via env).

Why

  • One SQLite file — no Postgres/ClickHouse/Redis like LangSmith/Dify
  • Visual builder — React Flow canvas, save -> run -> logs, local history
  • Stateful — handles 5+ chained steps, exceptions, human approval — where Zapier/Make choke
  • Offline & private — all runs stay on your machine, SQLite + local Ollama optional
  • Star-proven — n8n 203k, Dify 154k, OpenClaw 388k show huge demand for self-hosted automation, but all heavy. This is the simple one.

API

# create workflow
curl -X POST http://127.0.0.1:8000/workflows -H "Content-Type: application/json" -d '{"name":"My flow","definition":{"nodes":[{"id":"1","type":"trigger"},{"id":"2","type":"llm","data":{"prompt":"hi"}}]}}'
# run
curl -X POST http://127.0.0.1:8000/workflows/1/run -H "Content-Type: application/json" -d '{"inputs":{"text":"hello"}}'
# list runs
curl http://127.0.0.1:8000/workflows/1/runs
Method Path Description
POST /workflows create visual workflow
GET /workflows list
GET /workflows/{id} get
POST /workflows/{id}/run run with inputs -> logs
GET /workflows/{id}/runs run history

Node types: trigger, llm, http, condition, delay, human (approval gate).

Tech

  • Backend: Python 3.8+, FastAPI, SQLAlchemy, SQLite, requests
  • Frontend: TypeScript 5, React 18, React Flow 11, Vite 5

Contributing

See CONTRIBUTING.md. Add node type in backend/flowcraft/engine.py + UI in frontend/src/App.tsx + test.

License

MIT — see LICENSE


If flowcraft saved you Zapier $340/mo, star it ⭐

About

Local-first visual AI workflow builder — chain LLM, API, and human steps in one SQLite file. Self-hosted Dify/n8n in one docker run.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages