Open-Source Visual Workflow Designer for AI Agent Systems
Musashi is designed specifically for AI workflow design without execution, focusing on:
- π― Design-First Approach - Pure workflow design tool without runtime overhead
- π Lightweight & Fast - Minimal dependencies, optimized Docker image (~150MB)
- π§ Framework Agnostic - Export workflows as JSON for any execution engine
- π Open Source - MIT licensed, community-driven development
- π±οΈ Drag & Drop Interface - Intuitive node-based editor powered by React Flow
- π Auto Layout - Automatic graph alignment using Dagre algorithm
- π Rich Node Types - Agent, Function, MCP Server, User Input, Output nodes
- π Smart Connections - Type-safe input/output matching with validation
- π₯ Multi-User Support - Real-time collaboration with conflict resolution
- π Role-Based Access - Admin, Editor, Viewer permissions per workspace
- π Workflow History - Track changes with detailed update logs
- π Version Control - Optimistic locking prevents conflicting edits
- π¦ JSON Export/Import - Git-friendly workflow format
- π TypeScript Support - Full type safety in frontend
- π OpenAPI Docs - Auto-generated API documentation
- π³ Docker First - Production-ready containerized deployment
- π JWT Authentication - Secure token-based access control
- β Container Signing - Cosign-verified Docker images
- π‘οΈ Security Scanning - Automated Trivy vulnerability checks
- π SBOM Generation - Software bill of materials included
View Workflow Editor
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Musashi Workflow Editor βοΈ π β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β User βββββΆβ Agent βββββΆβ Output β β
β β Input β β GPT-4 β β Result β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β β β β
β ββββββββββββββββΌβββββββββββββββββ β
β βΌ β
β ββββββββββββ β
β β Function β β
β β Process β β
β ββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Pull the latest image from GitHub Container Registry
docker pull ghcr.io/iml1111/musashi:latest
# Run with a single command (requires external MongoDB)
docker run -d \
--name musashi \
--restart unless-stopped \
-p 80:8080 \
-e MONGODB_URL="mongodb://host.docker.internal:27017" \
-e DATABASE_NAME="musashi" \
-e SECRET_KEY="$(openssl rand -hex 32)" \
--add-host host.docker.internal:host-gateway \
ghcr.io/iml1111/musashi:latest
# Access in browser
open http://localhost
Note:
- The image path follows lowercase convention:
ghcr.io/iml1111/musashi
- For first-time publishing, set the package to Public in GitHub Packages for anonymous pull
- The image includes OCI labels like
org.opencontainers.image.source
linking back to this repository
# Download and run with one command
curl -O https://raw.githubusercontent.com/iml1111/musashi/main/docker-compose.yml
echo "SECRET_KEY=$(openssl rand -hex 32)" > .env
docker-compose up -d
# Access at http://localhost
For detailed installation options, see INSTALL.md
When Musashi starts for the first time, it automatically creates an admin account:
Field | Value | Note |
---|---|---|
Username | admin |
Default administrator account |
Password | 1234 |
Security Notice:
- The admin account is created automatically on first startup
- For production deployments, immediately change the default password
- Create individual user accounts for team members
- Never expose the default credentials in production environments
Variable | Description | Default | Required |
---|---|---|---|
MONGODB_URL |
MongoDB connection URL (Currently only MongoDB is supported, RDBMS integration planned) | mongodb://localhost:27017 |
β |
DATABASE_NAME |
Database name | musashi |
β |
SECRET_KEY |
JWT signing secret key (32+ characters) | - | β |
BACKEND_CORS_ORIGINS |
CORS allowed origins | http://localhost |
β |
ENVIRONMENT |
Runtime environment (development/production) | production |
β |
DEBUG |
Debug mode | false |
β |
LOG_LEVEL |
Log level (debug/info/warning/error) | info |
β |
ACCESS_TOKEN_EXPIRE_MINUTES |
Token expiration time (minutes) | 11520 |
β |
For complete environment variable reference and examples, see INSTALL.md
Port | Service | Description |
---|---|---|
8080 |
Web Application | Nginx serving Frontend + API proxy |
27017 |
MongoDB | Database (external) - RDBMS support planned |
Note: The container exposes only port 8080, which serves both the frontend and proxies API requests to the backend internally.
# Health check
curl http://localhost/api/v1/health
# Response: {"status": "healthy", "api": "v1"}
# API health check (via nginx proxy)
curl http://localhost:8080/api/v1/health
# Response: {"status": "healthy", "api": "v1"}
# Docker health check status
docker inspect musashi --format='{{.State.Health.Status}}'
# Response: healthy
# Pull new image and restart
docker-compose pull
docker-compose up -d
# Test MongoDB connection
docker exec musashi python -c "
from pymongo import MongoClient
client = MongoClient('mongodb://host.docker.internal:27017')
print(client.server_info()['version'])
"
# Solutions
# 1. Check if MongoDB is running
docker ps | grep mongo
# 2. Check network settings (macOS/Windows)
--add-host host.docker.internal:host-gateway
Automatically created on first run:
- Username:
admin
- Password:
changeme123!
(immediate change recommended)
# Map to different host port
docker run -d --name musashi -p 8888:8080 ghcr.io/iml1111/musashi:latest
We recommend using a reverse proxy:
server {
listen 443 ssl;
server_name musashi.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
See INSTALL.md for backup and restore procedures.
Supports both AMD64 and ARM64 architectures:
linux/amd64
: Intel/AMD processorslinux/arm64
: Apple Silicon (M1/M2), ARM servers
# Real-time logs
docker logs -f musashi
# Last 100 lines
docker logs --tail 100 musashi
# Since specific time
docker logs --since 2h musashi
- π Installation Guide - Detailed installation and setup instructions
- π Security Policy - Security vulnerability reporting and policies
- π€ Contributing Guide - How to contribute to the project
- π Changelog - Version history and changes
- π API Documentation - OpenAPI/Swagger documentation
π¨ Frontend | βοΈ Backend | πΎ Database | π DevOps |
|
|
|
|
Musashi is an open-source project. Contributions are welcome!
- 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
For more details, see CONTRIBUTING.md.
This project is distributed under the MIT License. For more details, see the LICENSE file.
Β© 2024-2025 Musashi Team. All rights reserved.