A dynamic workflow execution system with auto-discovery of handlers and a visual workflow builder.
- 🔍 Auto-Discovery: Automatically discover and register handlers from codebase
- 🎯 Type-Safe: Pydantic schemas for validation and IDE support
- 🖥️ Visual Builder: Drag-and-drop workflow builder interface
- 🔄 Dynamic Execution: Execute workflows with context sharing between steps
- 📊 Monitoring: Detailed execution tracking and results
- 🛡️ Secure: Registry pattern prevents arbitrary code execution
- 🚀 Extensible: Easy to add new handlers and action types
-
Install dependencies:
pip install -r requirements.txt
-
Initialize database:
python scripts/init_db.py python scripts/seed_data.py
-
Start the server:
python app/main.py
-
Open the workflow builder: Navigate to http://localhost:8000
/handlers/: Handler implementations organized by domain/api/: REST API endpoints for CRUD operations/core/: Core engine with registry and executor/client/: Web-based workflow builder interface
- Create a new handler class inheriting from
BaseHandler - Use decorators to define metadata and parameters
- The system will auto-discover and register your handler
Example:
@handler(name="my_handler", category="custom")
class MyHandler(BaseHandler):
@parameter("input_text", ParameterType.STRING, "Input text to process")
@output("result", ParameterType.STRING, "Processed result")
async def execute(self, params):
# Your logic here
return ActionResult(success=True, data={"result": "processed"})GET /api/handlers/- List available handlersGET /api/workflows/- List workflowsPOST /api/workflows/- Create workflowPOST /api/workflows/{id}/execute- Execute workflowGET /health- Health check
docker-compose up -dMIT License