Skip to content

mikewoo/eify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

132 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Eify Logo

Eify

A lightweight AI Agent platform — visual orchestration, multi-model support, RAG knowledge base, and MCP tool extensions. ‌The original intention behind launching this open-source initiative is to learn Vibe Coding.

中文

Version License Java Vue CI


Features

Module Description
Multi-Provider OpenAI-compatible protocol support — DashScope, Ollama, and more
Agent Management Visual agent creation and configuration with custom system prompts and parameters
Streaming Chat SSE streaming responses, multi-turn conversations, context window management
Knowledge Base + RAG Document upload, vector embedding, multi-strategy retrieval (vector/keyword/hybrid)
MCP Tools Model Context Protocol support for extending agent capabilities
Workflow Engine Visual drag-and-drop orchestration — conditional branches, LLM nodes, code execution
Multi-Tenant Workspace JWT authentication + workspace-level data isolation, built for teams
Observability Micrometer Tracing + Brave, ClickHouse + Vector log collection

Screenshots

AI Chat

AI Chat

Agent & Provider Management

Agent Management Model Providers

Knowledge Base & RAG

Knowledge Base Document Management
Document Preview

Visual Workflow Editor

Workflow Management Workflow Editor

MCP Tools

MCP Server Management MCP Server Details

Multi-Tenant Workspace

Create Workspace Personal Profile

Authentication

Login Register

Quick Start

Prerequisites

  • Docker & Docker Compose
  • JDK 21+ & Maven 3.9+ (local development only)

Docker Deploy (Recommended)

# 1. Clone
git clone https://github.com/mikewoo/eify.git
cd eify

# 2. Configure environment
cp .env.example .env
# Edit .env — set passwords and API keys

# 3. Build backend JAR
mvn clean package -DskipTests

# 4. Start all services
docker-compose -f deploy/infra/deploy/docker-compose.yml up -d

# 5. Access
# Frontend: http://localhost
# API Docs:  http://localhost:8080/doc.html

Local Development

# 1. Start dependencies (PostgreSQL + Redis)
docker-compose -f deploy/infra/deploy/docker-compose.yml up -d pgvector redis

# 2. Start backend
./start.sh dev
# Or: mvn spring-boot:run -pl eify-app -Dspring-boot.run.profiles=dev

# 3. Start frontend
cd eify-web
npm install
npm run dev

# 4. Access
# Frontend: http://localhost:5173
# API Docs:  http://localhost:8080/doc.html

Optional Components

# Logging stack (ClickHouse + Vector + Grafana)
docker-compose -f deploy/infra/deploy/docker-compose-logging.yml up -d

# Distributed tracing UI (Jaeger)
docker-compose -f deploy/optional/docker-compose-jaeger.yml up -d

# Vector database (pgvector) — already included in the main compose above

Tech Stack

Layer Technology
Backend Framework Spring Boot 4.0.6
ORM MyBatis-Plus 3.5.15
Database PostgreSQL 17 + pgvector
Cache Redis 7
Frontend Vue 3.5.17 + TypeScript + Vite
UI Framework Element Plus 2.10.2
State Management Pinia 2.3.1
Workflow UI Vue Flow
Tracing Micrometer Tracing + Brave
Log Storage ClickHouse 25 + Vector 0.54
Containerization Docker + Docker Compose

Project Structure

eify/
├── eify-app/              # Application entry point
├── eify-auth/             # Auth & workspace (JWT, user management, multi-tenant)
├── eify-provider/         # LLM provider adapters
├── eify-agent/            # Agent creation & configuration
├── eify-chat/             # Chat engine (SSE streaming)
├── eify-knowledge/        # Knowledge base + RAG retrieval
├── eify-mcp/              # MCP tool protocol
├── eify-workflow/         # Workflow engine
├── eify-common/           # Shared utilities
├── eify-web/              # Vue 3 frontend
├── docs/                  # Project documentation (Chinese)
├── deploy/                # Deployment configs (Docker, K8s, SQL)
├── scripts/               # Utility scripts
├── start.sh               # Start script
├── stop.sh                # Stop script
└── .env.example           # Environment variable template

Architecture

┌─────────────┐     ┌─────────────┐     ┌──────────────┐
│   Vue 3     │────▶│  Spring Boot│────▶│ PostgreSQL 17│
│   Frontend  │     │  REST API   │     │  + pgvector  │
└─────────────┘     └──────┬──────┘     └──────────────┘
                           │
               ┌───────────┼───────────┐
               │           │           │
               ▼           ▼           ▼
        ┌──────────┐ ┌──────────┐ ┌──────────┐
        │  Redis   │ │ LLM/    │ │ ClickHouse │
        │  Cache   │ │ Vector   │ │ LLM APIs │
        └──────────┘ └──────────┘ └──────────┘
  • Auth: Stateless JWT + ThreadLocal context propagation
  • Multi-tenant: All business data isolated by workspace_id, enforced via WorkspaceGuard
  • Streaming: SSE long connections with per-token LLM push
  • Observability: Auto-generated TraceId/SpanId via Micrometer Tracing + Brave, ClickHouse-backed logs (structured JSON)

Documentation

Note: Detailed docs are currently in Chinese. English translations are planned.

Document Description
ARCHITECTURE.md Architecture & coding conventions
API-SPEC.md API design specification
AUTH-WORKSPACE.md Auth & multi-tenant workspace
DATABASE.md Database design (PostgreSQL + ClickHouse)
LOGGING.md Logging system guide
WORKFLOW.md Workflow engine design
DEPLOYMENT.md Deployment & CI/CD

Roadmap

  • Ollama local model adapter
  • Anthropic Claude adapter
  • Chat history export
  • Agent template marketplace
  • Frontend internationalization (i18n)
  • Frontend test coverage
  • English documentation

Contributing

Issues and pull requests are welcome. Before contributing, please read:

License

MIT License © 2026 mikewoo


Made by mikewoo | MIT License

About

A lightweight AI Agent platform — visual orchestration, multi-model support, RAG knowledge base, and MCP tool extensions. ‌

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors