mirror of
https://github.com/Nikhil-Doye/workflow-builder.git
synced 2026-07-22 02:01:56 +02:00
0788e615b5227c8604063eead5701f6498883d5d
- Modified the output of the web scraping node to return the complete result data instead of just the content, enhancing the information available for further processing.
Agent Workflow Builder
An open-source, visual workflow builder for creating AI-powered agent workflows, similar to N8N or sim.ai, built with React Flow and modern web technologies.
🚀 Features
Visual Workflow Editor
- Drag & Drop Interface: Intuitive node-based workflow creation
- Real-time Connection: Connect nodes with visual edges
- Node Palette: Easy access to all available node types
- Responsive Design: Works on desktop and tablet devices
AI-Powered Node Types
- 🌐 Web Scraping: Extract data from websites
- 🤖 LLM Task: General language model operations
- 🧠 Embedding Generator: Create vector embeddings
- 🔍 Similarity Search: Find similar content in vector stores
- 📋 Structured Output: Parse and structure data with schemas
- 📥 Data Input: Workflow entry points
- 📤 Data Output: Workflow exit points
Workflow Management
- Save & Load: Persistent workflow storage
- Import/Export: Share workflows as JSON files
- Version Control: Track workflow changes
- Workflow Library: Manage multiple workflows
Execution & Testing
- Real-time Execution: Step-by-step workflow processing
- Visual Feedback: Live status indicators for each node
- Test Interface: Run workflows with sample data
- Execution Logs: Detailed execution history and debugging
- Error Handling: Clear error messages and recovery
Advanced Features
- Configurable Parameters: Customize each node's behavior
- Data Flow Visualization: See data passing between nodes
- Execution Results: View and export workflow outputs
- Modular Architecture: Easy to extend with new node types
🛠️ Technology Stack
- Frontend: React 18 + TypeScript
- Visual Editor: React Flow
- Styling: Tailwind CSS
- State Management: Zustand
- Icons: Lucide React
- Notifications: React Hot Toast
📦 Installation
-
Clone the repository
git clone https://github.com/your-username/agent-workflow-builder.git cd agent-workflow-builder -
Install dependencies
npm install -
Start the development server
npm start -
Open your browser Navigate to
http://localhost:3000
🎯 Quick Start
Creating Your First Workflow
-
Start the Application
- Open the app in your browser
- Click "New Workflow" to create your first workflow
-
Add Nodes
- Click "Show Node Palette" to reveal available node types
- Drag nodes from the palette onto the canvas
- Connect nodes by dragging from output handles to input handles
-
Configure Nodes
- Click on any node to open its configuration panel
- Set parameters like URLs, prompts, model settings, etc.
- Customize node labels for better organization
-
Test Your Workflow
- Use the Testing Panel to provide sample input data
- Click "Run Test" to execute the workflow
- View results in real-time as each node processes
-
Save and Export
- Click "Save" to persist your workflow
- Use "Export" to download your workflow as a JSON file
- Share workflows by importing JSON files
Example Workflow: Web Scraping + AI Analysis
- Add a Data Input node - Set it to provide a URL
- Add a Web Scraping node - Configure it to scrape the URL
- Add an LLM Task node - Set up a prompt to analyze the scraped content
- Add a Data Output node - To capture the final result
- Connect the nodes in sequence
- Test with a sample URL and see the results
🏗️ Architecture
Project Structure
src/
├── components/ # React components
│ ├── nodes/ # Node type components
│ ├── WorkflowEditor.tsx
│ ├── WorkflowList.tsx
│ ├── NodeConfiguration.tsx
│ ├── ExecutionPanel.tsx
│ └── TestingPanel.tsx
├── store/ # State management
│ └── workflowStore.ts
├── types/ # TypeScript definitions
│ └── index.ts
├── utils/ # Utility functions
│ └── workflowSerialization.ts
└── App.tsx # Main application
Key Components
- WorkflowEditor: Main visual editor using React Flow
- NodeConfiguration: Modal for configuring node parameters
- ExecutionPanel: Real-time execution monitoring
- TestingPanel: Test interface with sample data
- workflowStore: Centralized state management with Zustand
🔧 Configuration
Node Types and Parameters
Each node type supports specific configuration options:
Web Scraping Node
url: Target website URLselector: CSS selector for content extractionmaxLength: Maximum content length to extract
LLM Task Node
prompt: The prompt to send to the language modelmodel: AI model selection (GPT-3.5, GPT-4, Claude, etc.)temperature: Response creativity (0-2)maxTokens: Maximum response length
Embedding Generator
model: Embedding model selectiondimensions: Vector dimensions
Similarity Search
vectorStore: Target vector databasetopK: Number of similar results to returnthreshold: Similarity threshold (0-1)
🚀 Deployment
Build for Production
npm run build
Deploy to Vercel
npm install -g vercel
vercel --prod
Deploy to Netlify
npm run build
# Upload the 'build' folder to Netlify
🤝 Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a 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
Development Guidelines
- Follow TypeScript best practices
- Use Tailwind CSS for styling
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
🐛 Troubleshooting
Common Issues
Nodes not connecting?
- Ensure you're dragging from output handles to input handles
- Check that nodes are properly positioned
Workflow not executing?
- Verify all required node parameters are configured
- Check the execution panel for error messages
Import/Export not working?
- Ensure you're using valid JSON format
- Check browser console for error messages
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- React Flow for the visual editor
- Tailwind CSS for styling
- Lucide React for icons
- Zustand for state management
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@agentworkflowbuilder.com
Built with ❤️ for the AI community
Description
Turn ideas into workflows instantly - AI copilot + visual editor = automation magic in seconds
Languages
TypeScript
99.3%
CSS
0.4%
JavaScript
0.3%