Skip to content
View lingmengcan's full-sized avatar
  • 06:49 (UTC +08:00)

Block or report lingmengcan

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
lingmengcan/README.md

Lingmengcan AI Platform

English | 中文

Vue NestJS TypeScript MySQL License

Lingmengcan is an end-to-end AI application development platform powered by large language models. It provides comprehensive solutions including knowledge base management, intelligent conversations, workflow orchestration, and AI image generation. Built with modern microservice architecture, supporting fully local deployment to ensure enterprise data security.

✨ Key Features

  • 🤖 Multi-Model Support: Compatible with OpenAI, Ollama, DeepSeek and other LLMs
  • 💬 Intelligent Chat: Multi-turn conversations, context memory, streaming output
  • 📚 Knowledge Base RAG: Document upload, vectorization, intelligent retrieval enhancement
  • 🎨 AI Image Generation: Integrated Stable Diffusion for text-to-image generation
  • 🔄 Workflow Engine: Drag-and-drop visual designer with rich node types and real-time debugging
  • 🧩 Plugin Marketplace: Extensible plugin system supporting custom node development
  • 👥 Permission Management: Complete RBAC permission system
  • 🔒 Private Deployment: Fully local operation without external dependencies

🏗️ Architecture

Frontend Layer (web/)

Vue 3 + TypeScript + Vite
├── UI Framework: TDesign + Tailwind CSS
├── State Management: Pinia
├── Routing: Vue Router
└── HTTP Client: Axios

Service Layer (service/)

NestJS + TypeScript
├── Database: TypeORM + MySQL
├── Authentication: JWT + Passport
├── AI Integration: LangChain + OpenAI API
├── File Storage: Local + Cloud Storage
└── Vector Database: ChromaDB

Core Modules

  • User Management: Registration, login, permission control
  • Chat System: Multi-turn conversations, history, streaming output
  • Knowledge Base: Document parsing, vectorization, similarity search
  • Model Management: Multi-model configuration, load balancing, monitoring
  • Workflow Engine: Visual designer, node orchestration, real-time debugging
  • Plugin Marketplace: Plugin management, dynamic loading, custom extensions
  • Drawing System: Stable Diffusion integration, parameter adjustment

🚀 Quick Start

Requirements

Component Version Description
Node.js 18+ Frontend & Backend runtime
Python 3.10+ AI model environment
MySQL 8.0+ Primary database
pnpm Latest Package manager

1️⃣ Clone Repository

git clone https://github.com/lingmengcan/lingmengcan.git
cd lingmengcan

2️⃣ Database Setup

# Create database
mysql -u root -p -e "CREATE DATABASE lingmengcan_ai CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

# Import schema
mysql -u root -p lingmengcan_ai < doc/lingmengcan-ai.sql

3️⃣ Backend Service

cd service

# Install dependencies
pnpm install

# Configure environment
cp .env.example .env
# Edit config.development.yaml for database connection

# Start development server
pnpm run start:dev

4️⃣ Frontend Application

cd web

# Install dependencies
pnpm install

# Start development server
pnpm dev

5️⃣ AI Model Deployment (Optional)

Option 1: Ollama (Recommended)

Ollama is the simplest local LLM deployment solution, supporting various open-source models.

# macOS/Linux Installation
curl -fsSL https://ollama.ai/install.sh | sh

# Windows: Download from https://ollama.ai/download/windows

# Download and run models
ollama pull llama2          # Meta Llama 2
ollama pull qwen:7b         # Alibaba Qwen
ollama pull codellama       # Code-specialized model

# Start service (default port 11434)
ollama serve

# Test model
ollama run llama2

Option 2: LM Studio (GUI Interface)

LM Studio provides a user-friendly graphical interface, suitable for non-technical users.

# 1. Download and install LM Studio
# Official website: https://lmstudio.ai/

# 2. Search and download models in LM Studio:
# - Qwen/Qwen2-7B-Instruct-GGUF
# - microsoft/Phi-3-mini-4k-instruct-gguf
# - TheBloke/Llama-2-7B-Chat-GGUF

# 3. Start local server
# Click "Local Server" tab in LM Studio
# Select model and click "Start Server"
# Default address: http://localhost:1234/v1

Option 3: Stable Diffusion WebUI (AI Image Generation)

# Clone repository
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

# Start with API mode
./webui.sh --api --listen --port 7860
# Or Windows: webui-user.bat --api --listen --port 7860

# API address: http://localhost:7860

Model Configuration

Add model configuration in backend config file service/config.development.yaml:

# Stable Diffusion Configuration
stablediffusion:
  apiUrl: "http://localhost:7860"
  enabled: true

6️⃣ Access Application

📱 Screenshots

⚠️ Important Notice: The following screenshots are from early versions. Current version has significant UI and feature updates - screenshots need to be updated urgently!

💬 Intelligent Chat System

New Features:

  • ✅ Multi-turn conversations with context understanding
  • ✅ Knowledge base RAG enhancement
  • ✅ Streaming output with typewriter effect
  • ✅ Real-time model switching and comparison
  • ✅ Conversation history management
  • ✅ Export conversation records
Chat Interface 1 - Needs Update Chat Interface 2 - Needs Update

🎨 AI Image Generation Studio

New Features:

  • ✅ Text-to-Image generation
  • ✅ Image style transfer and editing
  • ✅ Advanced parameter fine-tuning
  • ✅ Batch generation and management
  • ✅ ControlNet precise control
  • ✅ Image version history management
AI Drawing Interface - Needs Update

🤖 Model Library

Model Library

⚙️ System Management Center

Complete enterprise-level admin system

👥 User Permission Management 🔐 Role Permission System
User Management Role Management
• User information management
• Permission assignment
• Login logs
• RBAC permission model
• Fine-grained control
• Permission inheritance
📋 Menu Route Management
Menu Management
• Dynamic menu configuration
• Route permissions
• Menu icons

📚 Knowledge Base Management (New Feature)

  • 📄 Multi-format document upload (PDF, Word, Markdown)
  • 🔍 Intelligent document parsing and chunking
  • 🧠 Vectorization storage and retrieval
  • 💡 Knowledge base Q&A with citations
  • 📊 Usage statistics
  • 🔄 Version management and rollback

🔄 Workflow Engine (New Feature)

Visual drag-and-drop workflow designer powered by Vue Flow:

Workflow Designer

Designer Features:

  • 🎨 Drag-and-drop canvas with node connections
  • 🔍 Canvas zoom, auto-layout, minimap navigation
  • ↩️ Undo/Redo history support
  • 💾 Auto-save (30s interval)
  • 📤 Import/Export workflows (JSON format)

Rich Node Types:

Node Type Description
LLM Node LLM API calls with model selection, temperature/top_p/max_tokens, system/user prompts
Condition Node IF/ELIF/ELSE branches with AND/OR logic combinations
HTTP Node External API calls (GET/POST/PUT/DELETE), headers, auth, timeout/retry
Loop Node Three loop modes: for (count), while (condition), foreach (iterate)
Parallel Node Parallel branch execution with strategies: wait all/any/race mode
Database Node Database CRUD operations with multi-datasource support
Transform Node Data format transformation and processing

Real-time Debugging:

  • 🐛 Integrated debug panel
  • 📊 Stream/non-stream execution modes
  • 📝 Execution logs viewer
  • 🖼️ Text and image input support

🧩 Plugin Marketplace (New Feature)

Extensible plugin system for custom workflow nodes:

Plugin Marketplace

  • 📦 Plugin Categories: AI plugins, Rule plugins, Logic plugins, HTTP plugins, Custom plugins
  • 🔌 Dynamic Loading: Auto-load enabled plugins in workflow designer
  • ⚙️ JSON Schema Config: Define node configuration forms via JSON Schema
  • 📋 Version Control: Plugin versioning and author tracking
  • 🎯 Search & Filter: Quick search and category filtering

📁 Project Structure

lingmengcan/
├── 📁 web/                    # Frontend (Vue 3 + TypeScript)
│   ├── src/
│   │   ├── api/              # API layer
│   │   ├── components/       # Reusable components
│   │   ├── views/            # Page views
│   │   ├── store/            # State management (Pinia)
│   │   ├── router/           # Route configuration
│   │   └── utils/            # Utility functions
│   └── package.json
├── 📁 service/               # Backend (NestJS + TypeScript)
│   ├── src/
│   │   ├── controllers/      # Controller layer
│   │   ├── services/         # Business logic layer
│   │   ├── entities/         # Data models
│   │   ├── modules/          # Feature modules
│   │   ├── dtos/             # Data transfer objects
│   │   └── utils/            # Utility classes
│   └── package.json
├── 📁 doc/                   # Documentation
│   ├── lingmengcan-ai.sql    # Database schema
│   └── *.md                  # Documentation files
├── 📁 images/                # Screenshots
└── README.md

🔧 Configuration

Backend Config (service/config.development.yaml)

# Database configuration
database:
  host: localhost
  port: 3306
  username: root
  password: your_password
  database: lingmengcan_ai

# AI model configuration
llm:
  openai:
    apiKey: your_openai_key
    baseURL: https://api.openai.com/v1
  
  ollama:
    baseURL: http://localhost:11434

# Stable Diffusion configuration
stablediffusion:
  apiUrl: http://localhost:7860

Frontend Config (web/.env.development)

# API base URL
VITE_API_BASE_URL=http://localhost:3000

# Application title
VITE_APP_TITLE=Lingmengcan AI Platform

🤝 Contributing

We welcome all forms of contributions!

  1. 🍴 Fork the repository
  2. 🌿 Create feature branch (git checkout -b feature/AmazingFeature)
  3. 💾 Commit changes (git commit -m 'Add some AmazingFeature')
  4. 📤 Push to branch (git push origin feature/AmazingFeature)
  5. 🔀 Open Pull Request

Development Guidelines

  • Code Style: ESLint + Prettier
  • Commit Convention: Conventional Commits
  • Test Coverage: Add tests for new features

📄 License

This project is licensed under the MIT License

🌟 Star History

Star History Chart

💬 Community

🙏 Acknowledgments

Thanks to the following open source projects:


⭐ If this project helps you, please give us a Star!

Made with ❤️ by Lingmengcan

Popular repositories Loading

  1. lingmengcan lingmengcan Public

    AIGC Application Platform: Lingmengcan AI, large language model, aigc, stable diffusion, langchainjs, nestjs, vue3, naive ui, DeepSeek, chromadb

    Vue 45 4

  2. stable-diffusion-vue-ui stable-diffusion-vue-ui Public

    AI、aigc、stable diffusion、vue、vue3、naive ui

    2