Juggle 中文有"积木、魔法"之意,寓意像积木一样灵活,像魔法一样强大,满足灵活多变的业务需求,助力业务快速落地!
Juggle 是一个图形化微服务编排工具,通过简单的流程编排,快速完成接口开发,大大提高开发效率。
| 场景 | 说明 |
|---|---|
| 🧩 微服务编排 | 根据已有基础接口快速编排开发新接口 |
| 🔗 系统集成 | 快速打通第三方系统平台,消除系统壁垒 |
| 📦 BFF 层 | 面向前端提供聚合/适配层(Backend for Frontend) |
| 🎨 定制开发 | 私有化标准功能定制,避免污染标准代码 |
docker run -d \
--name juggle \
-p 9127:9127 \
-v juggle_data:/data \
pythonhuang/juggle-net8:v1.0或使用 docker-compose:
docker-compose up -d- 访问地址:http://localhost:9127
- 默认账号:
juggle/juggle
| 层级 | 技术 |
|---|---|
| 后端 | ASP.NET Core 8 / EF Core 8 / SQLite |
| 前端 | Vue3 / Vite / Element Plus / Pinia |
| 容器 | Docker (multi-stage build) |
| 认证 | JWT + RBAC 角色权限 |
- ✅ 可视化流程设计器(节点画布)
- ✅ 13 种节点:START / END / METHOD / CONDITION / MERGE / ASSIGN / CODE / DB / SUB_FLOW / LOOP / DELAY / PARALLEL / NOTIFY
- ✅ 节点超时 & 重试策略
- ✅ 流程版本管理 & 版本对比
- ✅ 流程克隆 / 导入 / 导出(含 Word 文档)
- ✅ 流程分组管理
- ✅ 同步触发
GET/POST /open/flow/trigger/{key} - ✅ 异步触发 + 结果查询
- ✅ Webhook 触发(含签名验证)
- ✅ 定时任务调度
- ✅ 套件 / 接口 / 对象 / 参数管理
- ✅ 接口 Mock 功能
- ✅ 监控仪表盘
- ✅ 执行日志(含节点级日志)
- ✅ 流程测试用例(断言 + 批量执行)
- ✅ Monaco Editor 代码编辑(JS / SQL 高亮 + 自动补全)
- ✅ 用户管理 / 角色管理 / 菜单权限(RBAC)
- ✅ 多租户数据隔离(JWT Claims 驱动)
- ✅ 审计日志 / Token 权限管理
- ✅ 系统配置中心 / 全局异常告警
- 系统数据库:SQLite / MySQL / PostgreSQL / SQLServer
- 业务数据源:SQLite / MySQL / PostgreSQL / SQLServer / Oracle / 达梦
- 原项目文档(Java 版本参考)
- Release Notes
本项目基于 Juggle 原始 Java 版本的设计思路与架构进行重构实现。
感谢 @somta 及原项目团队!
Juggle means "building blocks" and "magic" in Chinese, symbolizing flexibility like building blocks and power like magic — meeting flexible business needs and helping you deliver quickly!
Juggle is a graphical microservice orchestration tool that enables rapid API development through simple visual workflow design.
| Scenario | Description |
|---|---|
| 🧩 Microservice Orchestration | Quickly build new APIs by orchestrating existing base APIs |
| 🔗 System Integration | Rapidly integrate with third-party platforms, breaking down system barriers |
| 📦 BFF Layer | Provide aggregation/adaptation layer for frontend (Backend for Frontend) |
| 🎨 Custom Development | Privatized standard function customization without polluting core code |
docker run -d \
--name juggle \
-p 9127:9127 \
-v juggle_data:/data \
pythonhuang/juggle-net8:v1.0Or use docker-compose:
docker-compose up -d- Access: http://localhost:9127
- Default credentials:
juggle/juggle
| Layer | Technology |
|---|---|
| Backend | ASP.NET Core 8 / EF Core 8 / SQLite |
| Frontend | Vue3 / Vite / Element Plus / Pinia |
| Container | Docker (multi-stage build) |
| Auth | JWT + RBAC Role-Based Access Control |
- ✅ Visual workflow designer (node canvas)
- ✅ 13 Node Types: START / END / METHOD / CONDITION / MERGE / ASSIGN / CODE / DB / SUB_FLOW / LOOP / DELAY / PARALLEL / NOTIFY
- ✅ Node timeout & retry policies
- ✅ Workflow version management & comparison
- ✅ Clone / Import / Export (with Word docs)
- ✅ Workflow grouping
- ✅ Synchronous trigger
GET/POST /open/flow/trigger/{key} - ✅ Asynchronous trigger + result query
- ✅ Webhook trigger (with signature verification)
- ✅ Scheduled task scheduling
- ✅ Suite / API / Object / Parameter management
- ✅ API Mock functionality
- ✅ Monitoring dashboard
- ✅ Execution logs (with node-level logs)
- ✅ Workflow test cases (assertions + batch execution)
- ✅ Monaco Editor code editing (JS / SQL highlighting + autocomplete)
- ✅ User management / Role management / Menu permissions (RBAC)
- ✅ Multi-tenant data isolation (JWT Claims driven)
- ✅ Audit logs / Token permission management
- ✅ System config center / Global exception alerting
- System Database: SQLite / MySQL / PostgreSQL / SQLServer
- Business Data Sources: SQLite / MySQL / PostgreSQL / SQLServer / Oracle / Dameng
- Original Project Docs (Java version reference)
- Release Notes
This project is a .NET 8 reimplementation based on the design and architecture of the original Juggle Java version.
Thanks to @somta and the original team!