Fuse - Workflow automation. A powerful local-first automation platform with visual builder, AI integration, and extensive node library.
Project description
๐ Fuse - Workflow Automation
Fuse is a powerful local-first workflow automation platform with visual builder, AI integration, and extensive node library. Build complex automations with a drag-and-drop interface, similar to n8n and Zapier, but optimized for local deployment and AI-powered workflows.
"Keep your workflows in constant fuse" โก
โจ Features
๐จ Visual Workflow Builder
- Drag-and-drop interface powered by React Flow
- Real-time workflow execution with live log streaming
- Support for parallel execution, loops, and conditional branching
- 29+ pre-built nodes including triggers, actions, AI, and logic nodes
๐ค AI-Powered Automation
- Built-in AI LLM nodes supporting OpenAI, Anthropic, and Google AI
- AI Agent nodes for autonomous task completion
- AI-assisted workflow generation from natural language prompts
- Token usage tracking and cost monitoring
๐ Extensive Integration Library
- Triggers: Manual, Cron, Webhook, Email, Form, RSS, WhatsApp
- Actions: HTTP requests, Google Sheets, Slack, Discord, Email
- Logic: Conditions, Switch/Case, Loops, Merge, Delay, Pause
- Data: Transform, Store, Set Variables
- Code: Python and JavaScript execution nodes
๐ Security & Performance
- JWT-based authentication with secure session management
- Rate limiting and circuit breaker patterns for external API calls
- PostgreSQL database with Alembic migrations
- Redis for caching and Celery task queue
- WebSocket support for real-time updates
๐ฆ Installation
Quick Start
pip install fuse-io
Initialize and Start
# Initialize configuration
fuse init
# Start the server and builder
fuse start
Then open your browser to http://localhost:5678 ๐
Custom Configuration
fuse start --host 0.0.0.0 --port 3000 --workers 4 --reload
๐ Development Setup
Prerequisites
- Python 3.10 or higher
- PostgreSQL 14+
- Redis 6+
- Node.js 18+ (for frontend development)
Clone and Install
git clone https://github.com/fuse-io/fuse.git
cd fuse
# Backend setup
cd fuse_backend
pip install -e ".[dev]"
# Frontend setup
cd ../fuse_frontend
npm install
npm run dev
Environment Configuration
Create a .env file in the fuse_backend directory:
# Database
DATABASE_URL=postgresql://user:password@localhost:5432/fuse
# Redis
REDIS_URL=redis://localhost:6379/0
# Security
SECRET_KEY=your-secret-key-change-in-production
# AI API Keys (Optional)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=AIza...
# OAuth (Optional)
GOOGLE_OAUTH_CLIENT_ID=...
GOOGLE_OAUTH_CLIENT_SECRET=...
SLACK_OAUTH_CLIENT_ID=...
SLACK_OAUTH_CLIENT_SECRET=...
Run with Docker
docker-compose up --build
Access the application at http://localhost:8000
๐ Usage Examples
Creating Your First Workflow
- Add a Trigger: Start with a Manual Trigger, Webhook, or Cron Schedule
- Add Actions: Connect HTTP Request, Google Sheets, or AI nodes
- Add Logic: Use conditions, loops, or parallel branches
- Test & Deploy: Click "Execute" to test, then activate for production
Example: AIowered Data Processing
# Workflow structure:
# Trigger (Manual) โ HTTP Request โ AI LLM โ Transform โ Google Sheets
- Fetch data from an API
- Process with AI (summarize, classify, extract)
- Transform the results
- Save to Google Sheets
Example: Scheduled Report Generation
# Workflow structure:
# Cron Trigger โ Read Sheets โ Loop โ AI Agent โ Email
- Run daily at 9 AM
- Read data from Google Sheets
- Loop through each row
- Generate insights with AI
- Send email report
๐ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Frontend (Next.js) โ
โ - React Flow Workflow Builder โ
โ - Real-time Logs (WebSocket) โ
โ - Node Configuration UI โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโ
โ HTTP + WebSocket
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โ Backend (FastAPI) โ
โ - REST API (JWT Auth) โ
โ - WebSocket for live logs โ
โ - Workflow Engine โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโดโโโโโโโโโโโ
โ โ
โโโโโโโโโผโโโโโโโโโ โโโโโโโโโโผโโโโโโโโโโ
โ PostgreSQL โ โ Redis + Celery โ
โ (Workflows & โ โ (Task Queue & โ
โ Executions) โ โ Cache) โ
โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
๐ CLI Commands
# Start server
fuse start [--host HOST] [--port PORT] [--workers N] [--reload]
# Initialize project
fuse init
# Show version
fuse version
# Help
fuse --help
๐ Security Best Practices
- Change default SECRET_KEY in production
- Use environment variables for sensitive data
- Enable rate limiting for public endpoints
- Use HTTPS in production deployments
- Regularly rotate API keys and credentials
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Development Workflow
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Inspired by n8n and Zapier
- Built with FastAPI
- UI powered by React Flow
- Based on full-stack-fastapi-template
๐ Support
- ๐ Documentation
- ๐ Issue Tracker
- ๐ฌ Discussions
Made with โก by Bibek Timilsina
Fuse - Keep your workflows in constant fuse ๐
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fuse_io-0.1.93.tar.gz.
File metadata
- Download URL: fuse_io-0.1.93.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f920fccb3e675e985f07c75c98401da40f45d7ee811553911a5497e69551ee02
|
|
| MD5 |
f94bfea33c14e6d209f999bca23dd957
|
|
| BLAKE2b-256 |
3cb3daf1364baa15a0e6beb9138c89fe0b9717c83b381baf4b51cfcf325633ff
|
Provenance
The following attestation bundles were made for fuse_io-0.1.93.tar.gz:
Publisher:
publish-to-pypi.yml on bibektimilsina00/fuse_backend
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fuse_io-0.1.93.tar.gz -
Subject digest:
f920fccb3e675e985f07c75c98401da40f45d7ee811553911a5497e69551ee02 - Sigstore transparency entry: 863792649
- Sigstore integration time:
-
Permalink:
bibektimilsina00/fuse_backend@144573feae96707236842922904726729709a823 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bibektimilsina00
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@144573feae96707236842922904726729709a823 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file fuse_io-0.1.93-py3-none-any.whl.
File metadata
- Download URL: fuse_io-0.1.93-py3-none-any.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23827c907a5aa326199ff60232d5a2e5ef4cee5bc2e2410febdc6852e1e0f394
|
|
| MD5 |
6c0799314600c4dbce1b62a4c1090526
|
|
| BLAKE2b-256 |
04a5b1467ace80fcd0c1ba53ba92856c82ce94d85c89d6f938030d743936365c
|
Provenance
The following attestation bundles were made for fuse_io-0.1.93-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on bibektimilsina00/fuse_backend
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fuse_io-0.1.93-py3-none-any.whl -
Subject digest:
23827c907a5aa326199ff60232d5a2e5ef4cee5bc2e2410febdc6852e1e0f394 - Sigstore transparency entry: 863792654
- Sigstore integration time:
-
Permalink:
bibektimilsina00/fuse_backend@144573feae96707236842922904726729709a823 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bibektimilsina00
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@144573feae96707236842922904726729709a823 -
Trigger Event:
workflow_dispatch
-
Statement type: