Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

PlateerLab/PlateeRAG

Repository files navigation

πŸš€ XGEN

XGEN Main Screen

Next-Generation AI Workflow Platform - Build AI pipelines with drag-and-drop and interact in real-time

Next.js React TypeScript SCSS

XGEN is an innovative platform that allows you to build AI applications with a visual workflow editor. You can design LangChain-based AI pipelines simply through drag-and-drop without complex coding, and communicate naturally with AI through real-time chat.

✨ Key Features

🎨 Visual Canvas Editor

XGEN Canvas Editor

πŸ–±οΈ Visually compose AI workflows with intuitive drag-and-drop interface

  • LangChain Node Support: Rich AI nodes including ChatOpenAI, ChatAnthropic, VectorStore
  • Drag & Drop: Intuitive interface for workflow composition
  • Real-time Connections: Visual representation of data flow between nodes
  • Auto Save: Preserve work content with LocalStorage-based system
  • Template System: Pre-built workflow templates provided
Workflow Templates

⚑ Quickly start workflows with various templates

πŸ’¬ AI Chat Interface

  • Workflow Integration: Real-time conversation with built workflows
  • Typing Animation: Elegant UI for displaying AI responses
  • Multi-Workflow: Select from multiple workflows for conversation
  • Chat History: Save and manage conversation records
  • React Hot Toast: Enhanced user experience with notification system

πŸ“Š Integrated Management Center

Management Center Chat Demo

πŸ’¬ Test workflows and check chats directly in the management center

  • Execution Monitoring: Track workflow execution status and performance
  • Debug Tools: Detailed logging system for development environment
  • Settings Management: Global settings and API key management
  • Workflow Playground: Test environment provided
  • Completed Workflows: History management of executed tasks
Resource Monitoring

πŸ“ˆ Real-time workflow execution status and resource monitoring

⚑ High-Performance Architecture

  • FastAPI Backend: High-performance API server based on Python
  • Turbopack: Fast bundler utilizing Next.js 15
  • Modular Design: Scalable component-based structure
  • Type Safety: Enhanced development productivity and stability with TypeScript

πŸ—οΈ Project Structure

plateerag/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ page.tsx              # Main landing page
β”‚   β”‚   β”œβ”€β”€ layout.tsx            # Root layout
β”‚   β”‚   β”œβ”€β”€ globals.css           # Global styles
β”‚   β”‚   β”œβ”€β”€ HomePage.module.scss  # Homepage-specific styles
β”‚   β”‚   β”œβ”€β”€ config.js             # Configuration file (API_BASE_URL, etc.)
β”‚   β”‚   β”œβ”€β”€ canvas/               # 🎨 Visual workflow editor
β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx          # Canvas main page
β”‚   β”‚   β”‚   β”œβ”€β”€ types.ts          # Canvas type definitions
β”‚   β”‚   β”‚   β”œβ”€β”€ components/       # Canvas core components
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Canvas.tsx    # Main canvas (ReactFlow-based)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Node.tsx      # AI node component
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Edge.tsx      # Connection line component
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Header.tsx    # Canvas header (save/load)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ SideMenu.tsx  # Side menu container
β”‚   β”‚   β”‚   β”‚   └── ExecutionPanel.tsx # Workflow execution panel
β”‚   β”‚   β”‚   β”œβ”€β”€ constants/        # Node definitions and constants
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ nodes.js      # LangChain node data
β”‚   β”‚   β”‚   β”‚   └── workflow/     # Workflow templates
β”‚   β”‚   β”‚   └── assets/          # Canvas styles (SCSS Modules)
β”‚   β”‚   β”œβ”€β”€ chat/                # πŸ’¬ AI chat interface
β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx         # Chat main page
β”‚   β”‚   β”‚   β”œβ”€β”€ components/      # Chat-related components
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ChatInterface.tsx    # Main chat UI
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ChatContent.tsx      # Chat content display
β”‚   β”‚   β”‚   β”‚   └── WorkflowSelection.tsx # Workflow selector
β”‚   β”‚   β”‚   └── assets/          # Chat styles
β”‚   β”‚   β”œβ”€β”€ main/                # πŸ“Š Integrated management center
β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx         # Management center main
β”‚   β”‚   β”‚   β”œβ”€β”€ components/      # Management tool components
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ MainPageContent.tsx  # Main dashboard
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Sidebar.tsx          # Sidebar navigation
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ContentArea.tsx      # Content area
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Executor.tsx         # Workflow executor
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Monitor.tsx          # Execution monitoring
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Settings.tsx         # Settings management
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Playground.tsx       # Test environment
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ConfigViewer.tsx     # Configuration viewer
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CompletedWorkflows.tsx # Completed workflows
β”‚   β”‚   β”‚   β”‚   └── CanvasIntroduction.tsx # Canvas introduction
β”‚   β”‚   β”‚   └── assets/          # Management center styles
β”‚   β”‚   β”œβ”€β”€ api/                 # πŸ”— API client
β”‚   β”‚   β”‚   β”œβ”€β”€ workflowAPI.js   # Workflow execution API
β”‚   β”‚   β”‚   β”œβ”€β”€ chatAPI.js       # Chat API
β”‚   β”‚   β”‚   β”œβ”€β”€ nodeAPI.js       # Node management API
β”‚   β”‚   β”‚   └── configAPI.js     # Configuration API
β”‚   β”‚   β”œβ”€β”€ data/                # πŸ“Š Data management
β”‚   β”‚   β”‚   └── chatData.js      # Chat data model
β”‚   β”‚   β”œβ”€β”€ utils/               # πŸ› οΈ Common utilities
β”‚   β”‚   β”‚   β”œβ”€β”€ logger.ts        # Debug logger system
β”‚   β”‚   β”‚   β”œβ”€β”€ generateSha1Hash.ts # Hash generator
β”‚   β”‚   β”‚   └── debug-guide.js   # Debug guide
β”‚   β”‚   └── _common/             # Common components
β”‚   β”‚       └── components/
β”‚   β”‚           β”œβ”€β”€ ToastProvider.jsx    # Notification system
β”‚   β”‚           β”œβ”€β”€ nodeHook.ts          # Node management hook
β”‚   β”‚           β”œβ”€β”€ sidebarConfig.ts     # Sidebar configuration
β”‚   β”‚           └── workflowStorage.js   # Workflow storage
β”‚   └── public/                  # Static files (icons, images)
β”œβ”€β”€ package.json                 # Project configuration and dependencies
β”œβ”€β”€ next.config.ts              # Next.js configuration
β”œβ”€β”€ tsconfig.json               # TypeScript configuration
β”œβ”€β”€ eslint.config.mjs           # ESLint configuration
β”œβ”€β”€ postcss.config.mjs          # PostCSS configuration
β”œβ”€β”€ DEBUG_GUIDE.md              # Debug system usage guide
└── README.md                   # Project documentation

πŸ€– Supported AI Nodes (Planned)

XGEN supports various AI nodes from the LangChain ecosystem:

πŸ’¬ Chat Models

  • ChatOpenAI: Support for GPT-4o, GPT-4, GPT-3.5 Turbo
  • ChatAnthropic: Claude model series
  • Temperature Control: Control creativity and consistency
  • Stop Sequence: Output control options

πŸ”— Chains & Agents

  • LLMChain: Basic language model chain
  • ConversationChain: Conversational chain
  • Agent: Autonomous AI agent
  • Tools: External tool integration

πŸ“š Memory & Storage

  • VectorStore: Vector-based document storage
  • Memory: Conversation memory management
  • Document Loaders: Load various document formats

πŸ”„ Utility Nodes

  • Input/Output: Data input/output nodes
  • Transform: Data transformation nodes
  • Conditional: Conditional branching nodes

πŸš€ Quick Start

1. Environment Requirements

  • Node.js 18.17 or higher
  • npm, yarn, pnpm or bun

2. Installation and Running

# Clone repository
git clone https://github.com/your-org/plateerag.git
cd plateerag

# Install dependencies
npm install
# or
yarn install

# Run development server
npm run dev
# or
yarn dev

3. Check in Browser

Meet XGEN at http://localhost:3000! πŸŽ‰

πŸ“– Usage Guide

🎯 Creating Workflows

  1. Access Canvas Editor (/canvas)
  2. Select AI Node from left node panel
  3. Place on canvas with drag & drop
  4. Create connections between nodes to compose workflow
  5. Save and run test

πŸ’¬ Chatting with AI

  1. Access Chat Interface (/chat)
  2. Click Select Workflow button
  3. Choose desired workflow
  4. Start natural language conversation
  5. Check AI responses in real-time

πŸ“Š Managing Workflows

Workflow Control and Management

πŸŽ›οΈ Easily manage and control workflows with intuitive interface

  1. Access Management Center (/main)
  2. Check execution status in Performance Dashboard
  3. Analyze debugging information in Execution Logs
  4. Optimize workflows in Settings
Settings Management

βš™οΈ Conveniently manage all necessary settings in one place

πŸ› οΈ Development Guide

Script Commands

# Development server (using Turbopack)
npm run dev

# Production build
npm run build

# Run production server
npm run start

# Code linting
npm run lint

# Auto fix code
npm run lint:fix

# Code formatting
npm run format

Tech Stack

🎨 Frontend

  • Next.js 15.3.2: Full-stack React framework based on App Router
  • React 19: Utilizing latest React features (Concurrent Features, Server Components)
  • TypeScript: Enhanced type safety and development productivity
  • SCSS Modules: Component-based style encapsulation
  • React Icons: Utilizing Feather Icons set
  • React Hot Toast: Elegant notification system

πŸ”§ Development Tools

  • Turbopack: Fast bundler for Next.js 15 (dev mode)
  • ESLint: Code quality and consistency management
  • Prettier: Automatic code formatting
  • Husky: Quality management through Git hooks

🌐 Backend Integration

  • FastAPI: High-performance API server based on Python
  • LangChain: Framework for AI chain composition
  • RESTful API: Standard HTTP API communication

πŸ“Š Data Management

  • LocalStorage: Client-side data storage
  • React State: Application state management
  • JSON: Data serialization and API communication

Coding Style

  • Use TypeScript strict mode
  • ESLint + Prettier automatic formatting
  • Style encapsulation with SCSS Modules
  • Component-based architecture

πŸ” Debug System

XGEN provides a smart debug logger:

import { devLog, prodLog } from '@/app/utils/logger';

// Output only in development environment
devLog.log('Debug information');
devLog.error('Development error');

// Always output (for critical errors)
prodLog.error('Critical error');

Browser Console Control

// Force enable debug logs
enableDebugLogs();

// Disable debug logs
disableDebugLogs();

// Reset to environment settings
resetDebugLogs();

// Check current environment info
checkEnvironment();

For detailed usage, refer to DEBUG_GUIDE.md.

πŸ“Έ Screenshot Gallery

🎨 Canvas Editor

Canvas Editor Template Selection

πŸ“Š Management Center

Chat Demo Resource Monitoring

βš™οΈ Workflow Management

Workflow Control Settings Management

🌟 Main Pages

Page Path Description
Home / Project introduction and main landing
Canvas /canvas Visual workflow editor
Chat /chat AI workflow chat interface
Management /main Workflow management and monitoring

🀝 Contributing

Thank you for contributing to the XGEN project!

How to Contribute

  1. Fork this repository
  2. Create Feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Create Pull Request

Development Environment Setup

# Install development dependencies
npm install

# Setup pre-commit hooks
npm run prepare

# Check code quality
npm run lint
npm run format

πŸ“„ License

This project follows GPL-3.0.

πŸ‘₯ Development Team

  • Plateer AI-LAB
  • CocoRoF - Jang Ha-ryeom
  • haesookimDev - Kim Hae-su
  • SonAIengine - Son Seong-jun (AI-LAB Part Leader)
  • daunle - Lee Da-un

πŸ”— Related Links


Made with ❀️ by Plateer AI-LAB

⭐ Star this repo β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors