VFLOW is a node-based AI workflow builder that enables you to create, customize, and reuse AI-powered workflows entirely in your browser. Connect prompts, AI models, and data processing nodes to build powerful automation flows without writing code.
- Drag-and-Drop Interface: Intuitive workflow builder powered by React Flow
- Multiple Node Types: Prompt, AI, Markdown, Annotation, and Error nodes
- Multi-Provider LLM Support: Connect to OpenAI, Anthropic, Google, Groq, xAI, and OpenRouter
- Local-First: All workflows and API keys stored securely in your browser's localStorage
- Template Library: Get started quickly with pre-built workflow templates
- Import/Export: Share workflows as JSON files or import existing ones
- Responsive Design: Works on desktop and mobile devices
- Dark/Light Mode: Automatic theme switching based on system preferences
- Real-time Execution: Run workflows and see results instantly
- Node.js 20+ installed
- Modern web browser (Chrome, Firefox, Safari, or Edge)
- API keys for your preferred LLM providers (optional for initial exploration)
-
Clone the repository:
git clone https://github.com/your-username/vflow.git cd vflow -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser to
http://localhost:3000
-
Create a New Workflow:
- Click "+ New Workflow" in the sidebar
- Give your workflow a name
-
Add Nodes:
- Use the floating "+" button or sidebar to add nodes
- Available node types:
- Prompt Node: Input text or prompts
- AI Node: Process prompts with LLMs (requires API key)
- Markdown Node: Display formatted output
- Annotation Node: Add notes and documentation
- Error Node: Shows validation errors
-
Configure Nodes:
- Click on any node to open its configuration panel
- Set prompts, select models, adjust parameters
-
Connect Nodes:
- Drag from output ports to input ports to create connections
- Build chains of processing steps
-
Run Your Workflow:
- Click the "
βΆοΈ Run" button in the top toolbar - Watch as data flows through your nodes
- View results in Markdown nodes
- Click the "
-
Manage API Keys:
- Access via sidebar βοΈ Settings β API Keys
- Add keys for providers you want to use
- Keys are stored locally in your browser
-
Save & Share:
- Workflows auto-save to localStorage
- Export as JSON via the menu (β― β Export)
- Import workflows from JSON files
Input node for text prompts with optional labeling. Use to start workflows or inject static text.
Core processing node that connects to various LLM providers:
- Providers: OpenAI, Anthropic, Google, Groq, xAI, OpenRouter
- Features: System prompts, model selection, temperature control, reasoning toggle (where supported)
- Requires: Valid API key for selected provider
Output node that renders markdown with additional features:
- Copy to clipboard button
- Toggle between rendered view and raw/code view
- Supports GitHub Flavored Markdown
Free-form text node for adding documentation, notes, or comments within your workflows.
Internal component that displays validation errors when node data is invalid or missing required fields.
VFLOW integrates with the Vercel AI SDK to support these providers:
| Provider | Popular Models | Notes |
|---|---|---|
| OpenAI | GPT-4o, GPT-4o mini, o1, o3 series | Industry leader |
| Anthropic | Claude 3.5 Sonnet, Claude 3 Opus | Strong reasoning |
| Gemini 1.5 Pro, Gemini 1.5 Flash | Multimodal capable | |
| Groq | Llama 3, Mixtral, DeepSeek R1 | Extremely fast inference |
| xAI | Grok models | Latest from xAI |
| OpenRouter | Hundreds of models | Aggregator service |
API keys are stored locally and never sent to any server.
- Framework: Next.js 15 (App Router)
- UI Library: shadcn/ui built on Radix UI
- Styling: Tailwind CSS 4
- State Management: Zustand with persistence
- Workflow Engine: React Flow (@xyflow/react)
- AI Integration: Vercel AI SDK
- Notifications: Sonner
- Forms: React Hook Form with Zod validation
vflow/
βββ app/ # Next.js App Router
β βββ layout.tsx # Root layout with theme provider
β βββ page.tsx # Home page
β βββ globals.css # Tailwind CSS configuration
β βββ not-found.tsx # 404 page
βββ components/ # React components
β βββ nodes/ # Workflow node implementations
β β βββ AiNode.tsx # AI processing node
β β βββ PromptNode.tsx # Input/text node
β β βββ MarkdownNode.tsx # Output display node
β β βββ AnnotationNode.tsx # Notes/documentation
β β βββ ErrorNode.tsx # Error display
β βββ workflow/ # Workflow builder components
β β βββ WorkflowCanvas.tsx # React Flow canvas
β β βββ NodeCard.tsx # Node wrapper component
β β βββ AddNodeButtons.tsx # Node creation UI
β β βββ ImportDialog.tsx # JSON import
β β βββ panels/ # Floating panels
β β βββ WorkflowPanels.tsx
β βββ layout/ # Layout components
β β βββ AppSidebar.tsx # Main sidebar
β β βββ Logo.tsx # App logo
β βββ api/ # API management
β β βββ ApiKeys.tsx # API key management
β βββ ui/ # shadcn/ui components
βββ features/ # Feature-based modules
β βββ workflow/ # Workflow feature
β β βββ stores/ # State management
β β β βββ workflow-store.ts
β β βββ templates.ts # Built-in templates
β βββ ai/ # AI integration
β β βββ client.ts # AI provider configurations
β β βββ api-key-store.ts # API key storage
β βββ canvas/ # Canvas execution
β βββ compute.ts # Node execution logic
βββ lib/ # Utilities
β βββ utils.ts # General utilities
β βββ cn.ts # Class name merger
βββ hooks/ # Custom React hooks
βββ types/ # TypeScript types
β βββ base-node.ts # Node type definitions
βββ public/ # Static assets
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
No server-side environment variables required. All data is stored locally in the browser.
For more detailed information, see:
- Node Reference - Detailed node specifications
- AI Provider Setup - Guide to configuring LLM providers
- Workflow Templates - Overview of built-in templates
- Keyboard Shortcuts - Productivity tips
Note: Documentation files are placeholders - contribute to help build them!
We welcome contributions to make VFLOW better! Please read our Contributing Guidelines for details on:
- Reporting bugs
- Suggesting features
- Submitting pull requests
- Development setup
- Coding standards
Note: CONTRIBUTING.md is currently a placeholder - help us create it!
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Documentation: Check the docs/ directory (in progress)
- Issues: Report bugs or request features on GitHub Issues
- Discussions: Join community discussions on GitHub Discussions
This project is licensed under the MIT License - see the LICENSE file for details.
- Vercel AI SDK for LLM integrations
- React Flow for the workflow engine
- shadcn/ui for beautiful UI components
- Radix UI for accessible primitives
- Tailwind CSS for styling
- Zustand for state management