Visual editor + runtime for building, executing, and auditing agentic LLM workflows.
- Build workflows on a canvas with
Start,Agent,Condition, andApprovalnodes. - Run workflows through a server-side engine (streaming by default).
- Pause on approval nodes and resume with user decisions.
- Persist full run records for replay/audit in
data/runs/. - Support nested agent delegation through subagent tool links.
- Install dependencies:
npm install- Configure environment:
export OPENAI_API_KEY="sk-..."- Start integrated dev server:
npm run dev- Open
http://localhost:3000.
| Command | Purpose |
|---|---|
npm run dev |
Server + web via Vite middleware on port 3000. |
npm run dev:web |
Web-only dev server on 5173 (proxying /api). |
npm run build |
Build server and web app. |
npm run build:packages |
Build packages/types and packages/workflow-engine. |
npm run typecheck |
Typecheck server and web workspaces. |
npm run lint |
ESLint across repo TypeScript files. |
npm test |
Current test gate (workflow-engine + server typecheck script). |
apps/server: Express API + dev/prod web hosting behavior.apps/web: Vite SPA workflow editor and run console.packages/types: shared TypeScript contracts.packages/workflow-engine: reusable runtime executor.design-system/: UI submodule used by web app..config/config.json: provider/model config served by API..config/default-workflow.json: optional startup workflow (gitignored).
- Documentation Map
- Architecture
- API Reference
- Workflow Semantics
- Run Persistence and Recovery
- Configuration
- Troubleshooting
- Web Run Readiness Rules
The UI depends on the design-system/ git submodule, exposed to the web app through:
apps/web/public/design-system -> ../../../design-system
In fresh clones/worktrees, initialize submodules before running:
git submodule update --init --recursive