Skip to content

Trishix/vflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VFlow

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.

Screenshot 2026-04-27 at 7 24 31β€―AM

✨ Features

  • 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

πŸš€ Getting Started

Prerequisites

  • Node.js 20+ installed
  • Modern web browser (Chrome, Firefox, Safari, or Edge)
  • API keys for your preferred LLM providers (optional for initial exploration)

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/vflow.git
    cd vflow
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev
  4. Open your browser to http://localhost:3000

Usage

  1. Create a New Workflow:

    • Click "+ New Workflow" in the sidebar
    • Give your workflow a name
  2. 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
  3. Configure Nodes:

    • Click on any node to open its configuration panel
    • Set prompts, select models, adjust parameters
  4. Connect Nodes:

    • Drag from output ports to input ports to create connections
    • Build chains of processing steps
  5. Run Your Workflow:

    • Click the "▢️ Run" button in the top toolbar
    • Watch as data flows through your nodes
    • View results in Markdown nodes
  6. Manage API Keys:

    • Access via sidebar βš™οΈ Settings β†’ API Keys
    • Add keys for providers you want to use
    • Keys are stored locally in your browser
  7. Save & Share:

    • Workflows auto-save to localStorage
    • Export as JSON via the menu (β‹― β†’ Export)
    • Import workflows from JSON files

🧩 Node Types

Prompt Node

Input node for text prompts with optional labeling. Use to start workflows or inject static text.

AI Node

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

Markdown Node

Output node that renders markdown with additional features:

  • Copy to clipboard button
  • Toggle between rendered view and raw/code view
  • Supports GitHub Flavored Markdown

Annotation Node

Free-form text node for adding documentation, notes, or comments within your workflows.

Error Node

Internal component that displays validation errors when node data is invalid or missing required fields.

πŸ€– Supported AI Providers

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
Google 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.

πŸ› οΈ Technology Stack

πŸ“ Project Structure

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

πŸ”§ Development

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint

Environment Variables

No server-side environment variables required. All data is stored locally in the browser.

πŸ“š Documentation

For more detailed information, see:

Note: Documentation files are placeholders - contribute to help build them!

🀝 Contributing

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!

Contribution Process

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ™‹β€β™‚οΈ Support

  • Documentation: Check the docs/ directory (in progress)
  • Issues: Report bugs or request features on GitHub Issues
  • Discussions: Join community discussions on GitHub Discussions

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘ Acknowledgments


About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors