https://github.com/ankur-paan/ekuiper-manager
Open-source eKuiper Manager UI - The first community-driven web interface for LF Edge eKuiper
https://github.com/ankur-paan/ekuiper-manager
edge-computing ekuiper iiot iot manager-ui mqtt stream-processing
Last synced: 5 months ago
JSON representation
Open-source eKuiper Manager UI - The first community-driven web interface for LF Edge eKuiper
- Host: GitHub
- URL: https://github.com/ankur-paan/ekuiper-manager
- Owner: ankur-paan
- License: other
- Created: 2026-01-15T20:45:24.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-16T23:39:06.000Z (5 months ago)
- Last Synced: 2026-01-17T04:37:03.465Z (5 months ago)
- Topics: edge-computing, ekuiper, iiot, iot, manager-ui, mqtt, stream-processing
- Language: TypeScript
- Homepage: https://ankur-paan.github.io/ekuiper-manager/
- Size: 705 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# eKuiper Manager
[](https://github.com/ankur-paan/ekuiper-manager/actions/workflows/ci.yml)
[](./LICENSE)
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](http://makeapullrequest.com)
[](https://ankur-paan.github.io/ekuiper-manager/)
[](https://openrouter.ai)
> **🚀 The First Open-Source Web UI & Manager for [LF Edge eKuiper](https://ekuiper.org/) - Because the Community Deserves Better**
An open-source, community-driven web interface and management platform for eKuiper - the lightweight IoT data analytics and stream processing engine. Built because the existing closed-source solution is buggy and the community deserves a reliable, open alternative.
**Developed & Maintained by [I-Dacs Labs](https://i-dacs.com)**
📧 Contact: measure@i-dacs.com | 🌐 Website: [i-dacs.com](https://i-dacs.com) | 💼 [LinkedIn](https://www.linkedin.com/company/110770924)
---
## 🎯 Why This Project?
**There is currently no fully open-source eKuiper management UI.** EMQ's proprietary eKuiper Manager is:
- Closed source
- Reportedly buggy and unreliable
- Not community-extensible
This project aims to fill that gap with a **completely open-source, community-driven solution**.
---
## 📋 Feature Status
### ✅ Fully Built & Working
| Feature | Description |
|---------|-------------|
| **Swagger API Playground** | Complete interactive API documentation with live "Try It Out" functionality. Full OpenAPI 3.0 spec with 70+ endpoints. |
| **Rule Tracing & Debugging** | Real-time data flow tracing with span hierarchy and detailed message attributes. |
| **Rule Topology** | Visual graph representation of the data flow from sources through operators to sinks. |
| **Query Plan (Explain)** | Visualized execution plans and performance hints for eKuiper SQL queries. |
| **AI Assistant** | Conversational agent, Rule/Stream generators, Analysis tools. (New in v1.2.0) |
| **Server Persistence** | Browser-based (Default) or SQLite (Experimental) storage for server configs. |
### 🔶 Partially Built (Functional but Incomplete)
| Feature | Status | Notes |
|---------|--------|-------|
| **Query Designer** | 30% | Visual builder for shop floor users. Node-based editor in progress. |
| **Rule Management** | 90% | List, start, stop, tracing, topology, and explain working. Edit with SQL working. Create with UI logic in progress. |
| **Dashboard Overview** | 70% | System info display, CPU/memory/uptime monitoring. Needs real-time refresh polish. |
| **Rule Metrics** | 70% | Basic metrics and status display. Advanced historical charts pending. |
| **eKuiper Health Check** | 80% | Ping and system info working. Connection status indicators need work. |
| **Action/Sink Configuration** | 40% | Basic MQTT sink working. Other sink types need implementation. |
| **Stream Management** | 50% | List and view streams. Create with SQL editor partially working. |
### 🚧 Under Development
| Feature | Priority | Notes |
|---------|----------|-------|
| Visual Pipeline Builder | Medium | Drag-and-drop rule builder with React Flow |
| Monaco SQL Editor | High | eKuiper SQL syntax highlighting & IntelliSense |
| MQTT Message Simulator | High | Test message generation for rule validation |
| Connection Management | Medium | Shared MQTT, Redis, SQL connections |
| Schema Registry | Low | Protobuf and JSON Schema management |
| Import/Export | Medium | Backup and restore configurations |
| Real-time Logs Viewer | Low | Filter and search server logs |
| Python Plugin Editor | Low | Custom function/source/sink development |
| Batch Rule Operations | Medium | Multi-select start/stop/delete |
| Configuration Templates | Low | Pre-configured source/sink templates |
---
## 🛣️ Development Roadmap
### Phase 1: MQTT-First Development (Current Priority)
**I have the capacity to fully test only MQTT-based pathways**, so those will be developed and validated first:
1. ✅ **Swagger API Playground** - Complete
2. 🔄 **MQTT Source Configuration** - In Progress
3. 🔄 **MQTT Sink Configuration** - In Progress
4. 🔄 **MQTT-based Rule Creation & Testing** - In Progress
5. ⏳ **MQTT Message Simulator** - Planned
6. ⏳ **MQTT Connection Management** - Planned
### Phase 2: Core Rule Engine Features
- ✅ Rule CRUD with validation (SQL-based)
- ✅ Rule status & basic metrics
- ✅ Rule topology visualization
- ✅ Data tracing and debugging
- ✅ Query execution plan visualization (Explain)
- ⏳ Advanced historical charts (Pending)
### Phase 3: Extended Sources & Sinks
- HTTP Pull/Push sources
- REST API sinks
- Redis pub/sub
- InfluxDB sinks
- File sources/sinks
### Phase 4: Advanced Features
- Schema registry integration
- Python plugin development environment
- Visual pipeline builder
- Import/Export functionality
---
## 🚀 Quick Start
### Prerequisites
- Node.js 18+
- eKuiper server running (default: http://localhost:9081)
- (Optional) OpenRouter API Key for AI features
### Installation
```bash
# Clone the repository
git clone https://github.com/ankur-paan/ekuiper-manager.git
cd ekuiper-manager
# Install dependencies
npm install
# Start development server
npm run dev
```
Open [http://localhost:3000](http://localhost:3000) in your browser.
### AI Configuration (Optional)
To enable AI features, create a `.env` file and add your OpenRouter key:
```env
OPENROUTER_API_KEY=your_key_here
```
### Persistence Configuration
By default, server connections are stored in your **Browser (Local Storage)**.
To enable **Database Mode (SQLite)** (Experimental/Beta):
1. Configure `prisma` in your environment.
2. Toggle "Persistence Mode" in **Settings**.
> **Note:** Database mode is work-in-progress and may be unstable. Browser mode is recommended.
### Connect to eKuiper
1. Start your eKuiper instance
2. Navigate to the Manager Overview
3. Enter your eKuiper server URL and click Connect
4. Explore the Swagger Playground at `/api-docs`
---
## Documentation available
[https://ekuiper-manager.superdocs.cloud/](https://ekuiper-manager.superdocs.cloud/)
## 🤝 Contributing - Let's Build This Together!
**This project needs YOUR help to become the best eKuiper manager out there!**
### Why Contribute?
- 🌟 **First-mover advantage** - Be part of building the definitive open-source eKuiper UI
- 🔧 **Real impact** - Your code will be used by the global IoT community
- 📚 **Learn edge computing** - Work with cutting-edge IoT stream processing
- 🤝 **Community driven** - No corporate agenda, just building great software
### Priority Contribution Areas
| Area | Difficulty | Impact |
|------|------------|--------|
| **Non-MQTT Source Testing** | Medium | 🔥🔥🔥 I can't test these - need contributors with Kafka, Redis, HTTP setups |
| **Sink Type Implementation** | Medium | 🔥🔥🔥 InfluxDB, TDengine, SQL sinks need work |
| **UI/UX Improvements** | Easy-Medium | 🔥🔥 Always welcome |
| **Documentation** | Easy | 🔥🔥 Examples, tutorials, API guides |
| **Error Handling** | Medium | 🔥🔥 Edge cases and better user feedback |
| **Testing** | Medium | 🔥 Unit tests, integration tests |
| **Docker Support** | Medium | 🔥 Docker Compose setup with eKuiper |
### How to Contribute
1. **Fork the repository**
2. **Create your feature branch** (`git checkout -b feature/amazing-feature`)
3. **Commit your changes** (`git commit -m 'Add amazing feature'`)
4. **Push to the branch** (`git push origin feature/amazing-feature`)
5. **Open a Pull Request**
### Development Guidelines
- Follow existing code style (TypeScript, React patterns)
- Add comments for complex logic
- Test with a running eKuiper instance
- Update documentation when adding features
---
## 🔌 Tech Stack
| Technology | Purpose |
|------------|---------|
| **Next.js 14** | React framework with App Router |
| **TypeScript** | Type-safe development |
| **Tailwind CSS** | Styling |
| **Radix UI** | Accessible UI primitives |
| **Monaco Editor** | Code editing |
| **React Flow** | Visual pipeline builder |
| **Swagger UI React** | API documentation |
| **Zustand** | State management |
| **OpenRouter** | AI Model Integration |
---
## 📁 Project Structure
```
src/
├── app/ # Next.js App Router
│ ├── page.tsx # Main application entry
│ └── api-docs/ # Swagger playground
├── components/
│ ├── dashboard/ # Metrics dashboard
│ ├── editor/ # Monaco code editors
│ ├── manager/ # Manager UI components
│ ├── pipeline/ # Visual pipeline builder
│ └── ui/ # Shared UI components
├── lib/
│ └── ekuiper/ # eKuiper API client
│ ├── client.ts # Base REST client
│ ├── manager-client.ts # Extended manager client
│ └── manager-types.ts # TypeScript interfaces
└── public/
└── ekuiper-openapi.json # Complete OpenAPI spec
```
---
## 📄 License
This project is licensed under the **IDACS Open Source License (IOSL)** - see the [LICENSE](LICENSE) file for details.
**Key points:**
- ✅ Free to use, modify, and distribute
- ✅ Commercial use permitted
- 📧 Organizations with >$1M annual turnover using in production: please notify us at measure@i-dacs.com (just a friendly notification, no fee required)
---
## 🙏 Acknowledgments
- [LF Edge eKuiper](https://ekuiper.org/) - The IoT stream processing engine
- [EMQ](https://www.emqx.com/) - Original developers of eKuiper
- [Next.js](https://nextjs.org/) - React framework
- [Swagger UI](https://swagger.io/tools/swagger-ui/) - API documentation
---
## ⭐ Star This Repo!
If you find this project useful, please give it a star! It helps others discover the project and motivates continued development.
---
**Developed by [I-Dacs Labs](https://i-dacs.com)**
📧 measure@i-dacs.com | 🌐 [i-dacs.com](https://i-dacs.com) | 💼 [LinkedIn](https://www.linkedin.com/company/110770924)
*Building the future of Industrial IoT together.*