System Architecture and Technology Stack
The platform is designed as a comprehensive AIGC solution integrating large language models with generative media tools. It supports OpenAI GPT series, domestic LLMs, and various multimedia capabilities including image generation and audio synthesis.
Core Components
- Frontend: Built with Vite 4, Vue.js 3, TypeScript, utilizing Naive UI for components and Tailwind CSS for styling.
- Admin Panel: Developed using Vite 4, Vue 3, and Element Plus.
- Backend: Node.js environment powered by NestJS framework.
- Database & Cache: MySQL 5.7 or higher paired with Redis for session management and caching.
- Operating Systems: Compatible with Linux (recommended), Windows, and macOS environments.
- Storage Solutions: Supports local disk, cloud object storage (Aliyun OSS, Tencent COS), or third-party image hosting services.
Functional Capabilities
Multimodal Interaction
- Voice Commmunication: Supports PC and mobile browsers with natural text-to-speech (TTS) output.
- Model Integration: Flexible switching between multiple AI providers and contexts.
- Document Analysis: Ability to upload and process PDF/text documents for summarization.
Generative Media
- Image Creation: Full support for Midjourney workflows, including inpainting, outpainting, and image mixing.
- DALL-E Integration: Native support for DALL-E 3 with granular paramter control.
- Music Synthesis: Integration with Suno-v3 for automated music generation.
- Face Swapping: Tools available for avatar modification within images.
Enterprise Features
- Plugin System: Extensible architecture allowing custom plugins for specific tasks like OCR or knowledge base retrieval.
- User Management: Comprehensive roles including administrators, distributors, and guests.
- Billing & Subscription: Configurable currency systems, credit deduction rules, and membership tiers.
- Security: Keyword filtering, content moderation APIs, and account locking mechanisms.
Version 6.0 Changelog Highlights
This release focuses on architectural stability and UI/UX improvements.
Key Additions:
- Context Control: Per-model configuration for token limits, conversation rounds, and file upload permissions.
- Audio Interface: TTS integration allows six selectable voice profiles with real-time playback without local storage usage.
- Enhanced Storage: Non-core assets (chats, media, logs) default to local server storage; critical data remains on cloud buckets.
- GPTS Expansion: Direct import of public GPTS applications with global search indexing.
- Layout Refinement: Switchable list views, independent credit display, and streamlined input methods supporting paste uploads.
Fixes and Optimizations:
- Corrected issues where unstable networks caused cahracter drops in streaming responses.
- Improved dialog flow rendering to ensure smooth output speed.
- Resolved authentication binding limitations tied to single IP/Domain configurations.
- Removed unnecessary nine-grid widgets in favor of dynamic recommendation algorithms.
Deployment Procedures
Environment Prerequisites
Ensure the target server meets the following requirements before initialization:
- Web Server: Nginx version 1.19.8 or newer.
- Database: MySQL 5.7 or 8.0 (root password reset required for 8.0 during setup).
- Runtime: Node.js v16.14.1 or above.
- Process Manager: PM2 (version 5.5+).
- Cache: Redis 7.0.11 compatible.
- Package Manager: pnpm (via corepack or npm).
Note: Linux environments are recommended for optimal performance.
Step 1: Prepare Dependencies
Initialize the Node environment and switch package registries if necessary.
# Configure npm registry
npm config set registry https://registry.npmjs.org/
# Verify installations
node -v
npm -v
If pnpm is unavailable, install it manually via curl:
curl -fsSL "https://github.com/pnpm/pnpm/releases/latest/download/pnpm-linuxstatic-x64" -o /bin/pnpm
chmod +x /bin/pnpm
Install Redis using your system package manager:
# Example for Ubuntu/Debian
sudo apt-get update
sudo apt-get install redis-server
Step 2: Project Initialization
Navigate to the project root directory and establish the site structure.
mkdir -p /opt/project/aiclient
cd /opt/project/aiclient
Configure environment variables based on the provided template:
cp .env.example .env
nano .env
*Modify the following keys in .env:
DATABASE_HOST: Localhost or external DB address.REDIS_HOST: Redis instance IP.JWT_SECRET: Generate a unique random string.
Install dependencies using pnpm:
pnpm i
Step 3: Service Configuration
Start the application using PM2:
pnpm start
Add the process to PM2 monitoring for auto-restart capabilities:
pm2 start app.cjs --name ai-platform
pm2 save
pm2 startup
Verify log output for successful database connection:
pm2 logs
Expected success message indicates a generated super-user credential.
Step 4: Network Access Setup
Port Allocation
Open the designated backend port (default 9520) in the firewall or security group settings.
Reverse Proxy
Configure Nginx to forward traffic from port 80/443 to the Node application.
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:9520;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Restart Nginx to apply changes:
sudo systemctl restart nginx
Step 5: Activation
Access the frontend URL via your browser. An authorization key will be requested upon first launch. Enter the license key received after purchase or registration to unlock full system functionality.
Default access routes:
- Frontend:
https://your-domain.com - Admin Dashboard:
https://your-domain.com/admin
Initial credentials provided in the console logs must be changed immediately after login.