Enterprise-grade AI Agent Development and Operation Platform - Providing a complete solution for agent creation and distribution, knowledge base management, model proxy, memory system, and plugin ecosystem.
English | 简体中文
Visual Orchestration : Drag-and-drop workflow design, zero-code agent creation
Code-based Development : Support for Java/Python plugin development, flexible extension
Multi-model Support : OpenAI, Claude, Ollama, Qwen, and other mainstream models
Streaming Output : SSE real-time response, smooth user experience
Multi-turn Conversations : Complete session context management
Knowledge Base Management
Document Parsing : PDF, Word, Excel, Markdown, and other formats
Vector Storage : Milvus vector database, efficient similarity search
Intelligent Chunking : Automatic document segmentation and overlap processing
Hybrid Retrieval : Vector search + Full-text search + QA search
Long-term Memory : Persistent user data and preferences
Short-term Memory : Session context management
Classification System : 12 main categories, 50+ sub-categories
Sensitive Information Filtering : Automatic desensitization
Model Proxy (In Development)
Unified Interface : Shield differences between different model APIs
Intelligent Routing : Select the optimal model based on scenarios
Quota Management : Token billing and rate limiting
Failover : Automatic fault tolerance switching
Plugin Market : Publish and discover plugins
MCP Protocol : Model Context Protocol support
Page Applications : No-code page builder
Category
Technology
Version
Language
Java
17
Framework
Spring Boot
3.3.8
Database
MySQL
8.0+
Vector Database
Milvus
2.5.4
Cache
Redis
7.0+
ORM
MyBatis Plus
3.5+
API Documentation
Knife4j
4.0+
Container
Docker
-
Orchestration
Kubernetes
-
┌────────────────────────────────────────────────────────────────────────────┐
│ Frontend Layer │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────────────────────┐ │
│ │ PC Web │ │ H5 │ │ Mini App │ │ IM (Feishu/DingTalk/ │ │
│ │ │ │ │ │ │ │ WeCom/Slack) │ │
│ └──────────┘ └──────────┘ └──────────┘ └─────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────────┐
│ Access Layer │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────────┐ │
│ │ REST API │ │ Long │ │ WebSocket │ │
│ │ │ │ Connection │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────────┐
│ Application Layer │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ Component Library │ │
│ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │
│ │ │ Model│ │Know- │ │ Data │ │Plugin│ │ Work-│ │ MCP │ │ Skill│ │ │
│ │ │ │ │ ledge│ │ Table│ │ │ │ flow │ │ │ │ │ │ │
│ │ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ Management Portal │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ User │ │ Audit │ │ Public │ │ Content │ │ Task │ │ │
│ │ │Management│ │Management│ │ Model │ │Management│ │Management│ │ │
│ │ ├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤ │ │
│ │ │ Log │ │ Menu │ │ System │ │ │ │ │ │ │
│ │ │ Query │ │Permission│ │ Config │ │ │ │ │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ Product Applications │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │ │
│ │ │ Web App │ │ Q&A │ │ General Agent │ │ │
│ │ │ │ │ Agent │ │ │ │ │
│ │ └──────────────┘ └──────────────┘ └──────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────────┐
│ Infrastructure Layer │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ Lower-level Components │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────────┐ │ │
│ │ │ Cloud │ │ nuwaclaw │ │ General Agent Engine │ │ │
│ │ │ Sandbox │ │ PC Client │ │ │ │ │
│ │ │ │ │ (mac/win/ │ │ ┌───────────────────────┐ │ │
│ │ │ │ │ docker) │ │ │ MCP Integration │ │ │
│ │ │ │ │ │ │ ├───────────────────────┤ │ │
│ │ │ │ │ │ │ │ File Management │ │ │
│ │ │ │ │ │ │ │ Skill Management │ │ │
│ │ │ │ │ │ │ │ ACP Adapter Layer │ │ │
│ │ │ │ │ │ │ │ ┌─────────────────┐ │ │ │
│ │ │ │ │ │ │ │ │ Supported Agent:│ │ │ │
│ │ │ │ │ │ │ │ │ claudecode │ │ │ │
│ │ │ │ │ │ │ │ │ opencode │ │ │ │
│ │ │ │ │ │ │ │ │ codex │ │ │ │
│ │ │ │ │ │ │ │ │ openclaw │ │ │ │
│ │ │ │ │ │ │ │ │ kimicli │ │ │ │
│ │ │ │ │ │ │ │ └─────────────────┘ │ │ │
│ │ │ │ │ │ │ ├───────────────────────┤ │ │
│ │ │ │ │ │ │ │ Browser │ │ │
│ │ │ │ │ │ │ │ Automation │ │ │
│ │ │ │ │ │ │ │ GUI Automation │ │ │
│ │ │ │ │ │ │ │ Network Channel │ │ │
│ │ │ │ │ │ │ │ Runtime Integration │ │ │
│ │ │ │ │ │ │ └───────────────────────┘ │ │
│ │ │ │ │ │ └─────────────────────────────┘ │ │
│ │ └─────────────┘ └─────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ Core Infrastructure │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────┐ │ │
│ │ │ Database │ │ Cache │ │ Vector │ │ Search │ │ Model │ │ │
│ │ │ MySQL │ │ Redis │ │ Milvus │ │ Elastic │ │ Proxy│ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────┘
Project Repository Overview
The Nuwax AI Agent Platform consists of multiple interconnected repositories:
Backend & Application Layer
Infrastructure & Services
Web Application Development
Plugin & Script Execution
DDD (Domain-Driven Design) : Clear layer separation
CQRS : Command Query Responsibility Segregation
Strategy Pattern : Model selection, plugin invocation
Observer Pattern : Message broadcasting
Repository Pattern : Data access abstraction
Component
Minimum
Recommended
Java
JDK 17
OpenJDK 17
MySQL
8.0+
8.0+
Redis
6.0+
7.0+
Milvus
2.5+
2.5+
Elasticsearch
9.2.1
9.2.1
Memory
4GB
8GB+
CPU
2 cores
4 cores+
git clone https://github.com/nuwax-ai/nuwax-backend.git
cd nuwax-backend
For development and testing, you can use the official deployment package to run all basic services directly.
3. Add Configuration File
Copy application-${env}.sample.yml to application-${env}.yml:
Option 1: Using IDE (IntelliJ IDEA, etc.)
Open app-platform-bootstrap/app-platform-web-bootstrap/src/main/java/com/xspaceagi/PlatformApiApplication.java
Click the run button to start
Option 2: Using Maven Commands
# Build the project
mvn clean package -DskipTests
# Start the application
cd app-platform-bootstrap/app-platform-web-bootstrap
java -jar target/app-platform-web-bootstrap-* .jar
# Or run directly with Maven
mvn spring-boot:run -pl app-platform-bootstrap/app-platform-web-bootstrap -Pdev
Option 3: Using IDEA Maven Panel
Open the Maven panel
Find the app-platform-web-bootstrap module
Right-click and select Run -> spring-boot:run
5. Access the Application
After starting, access the application (default port 8081):
agent-platform/
├── app-platform-bootstrap/ # Bootstrap module
│ └── app-platform-web-bootstrap/ # Web application entry point
├── app-platform-foundation/ # Foundation module
│ ├── system-spec/ # System specification
│ ├── system-sdk/ # System SDK
│ └── system-domain/ # System domain models
├── app-platform-modules/ # Business modules
│ ├── app-platform-agent/ # Agent core module
│ ├── app-platform-knowledge/ # Knowledge base module
│ ├── app-platform-memory/ # Memory module
│ ├── app-platform-model-proxy/ # Model proxy module
│ ├── app-platform-mcp/ # MCP protocol module
│ ├── app-platform-compose/ # Custom table module
│ ├── app-platform-custom-page/ # Custom page module
│ ├── app-platform-eco-market/ # Ecosystem market module
│ ├── app-platform-sandbox/ # Sandbox module
│ ├── app-platform-log/ # Logging module
│ └── platform-system/ # Platform system module
├── fast-boot-dependencies/ # Dependency management
└── specs/ # Specification documents
Module
Description
Agent
Agent creation, session management, message processing
Knowledge
Knowledge base management, document upload, vector search
Memory
Long-term memory storage and retrieval
Model Proxy
Unified model proxy interface
MCP
Model Context Protocol implementation
Eco Market
Plugin market and template management
Compose
Custom table functionality
Custom Page
No-code page builder
Configuration File Structure
app-platform-web-bootstrap/src/main/resources/
├── application.yml # Main configuration file (common settings)
├── application-dev.yml # Development environment configuration (local use, not committed)
├── application-test.yml # Test environment configuration (optional)
└── application-prod.yml # Production environment configuration (optional)
Complete Environment Variable List
Variable
Description
Required
Default
DB_HOST
MySQL database host
✅
localhost
DB_PORT
MySQL port
✅
3306
DB_NAME
Database name
✅
agent_platform
DB_USERNAME
Database username
✅
root
DB_PASSWORD
Database password
✅
-
Custom Table Component Database (Doris not tested, supports MySQL)
Variable
Description
Required
Default
DORIS_HOST
Doris host
✅
localhost
DORIS_DB_NAME
Doris database name
✅
agent_custom_table
DORIS_USERNAME
Doris username
✅
root
DORIS_PASSWORD
Doris password
✅
-
Variable
Description
Required
Default
REDIS_HOST
Redis host
✅
localhost
REDIS_PORT
Redis port
✅
6379
REDIS_PASSWORD
Redis password
✅
-
REDIS_DB
Redis database number
✅
1
Variable
Description
Required
Default
MILVUS_URI
Milvus connection URI
✅
http://localhost:19530
MILVUS_USER
Milvus username
✅
root
MILVUS_PASSWORD
Milvus password
✅
-
Variable
Description
Required
Default
ES_URL
Elasticsearch URL
✅
http://localhost:9200
ES_USERNAME
Elasticsearch username
✅
elastic
ES_PASSWORD
Elasticsearch password
✅
-
ES_API_KEY
Elasticsearch API Key
✅
-
Variable
Description
Required
Default
JWT_SECRET_KEY
JWT signing key
✅
- (at least 32 characters)
Tencent Cloud COS (Optional)
Variable
Description
Required
Default
COS_SECRET_ID
Tencent Cloud COS secret ID
✅
-
COS_SECRET_KEY
Tencent Cloud COS secret key
✅
-
COS_BASE_URL
COS access domain
✅
https://...
Variable
Description
Required
Default
FILE_UPLOAD_FOLDER
File upload directory
✅
/tmp/uploads
FILE_BASE_URL
File access URL
✅
https://yourdomain/api/file
STORAGE_TYPE
Storage type, currently supports Tencent Cloud COS and local file storage
✅
file
External Services (Optional)
Page Application Development Services (Optional)
Internal Network Tunnel Proxy Configuration (Optional)
Variable
Description
Required
Default
SERVICE_HOST
Internal service address
❌
127.0.0.1
BIND_HOST
Bind address
❌
0.0.0.0
REVERSE_PORTS
Port range
❌
30000-40000
OUTER_HOST
Client connection IP address
❌
-
OUTER_PORT
Client connection port
❌
6443
Variable
Description
Required
Default
MODEL_API_BASE_URL
Model API URL, corresponding to accessible MODEL_PROXY_PORT
❌
-
MODEL_PROXY_ENABLE
Whether to enable proxy
❌
true
MODEL_PROXY_PORT
Proxy port
❌
18086
MODEL_PROXY_SAVE_LOG
Whether to save logs, depends on Elasticsearch
❌
true
The project follows DDD layered architecture:
UI Layer → Adapter Layer → Application Layer → Domain Layer → Infrastructure Layer
Contributions of code, documentation, and bug reports are welcome!
Fork this repository
Create a feature branch (git checkout -b feature/AmazingFeature)
Commit your changes (git commit -m 'Add some AmazingFeature')
Push to the branch (git push origin feature/AmazingFeature)
Open a Pull Request
Thanks to all developers who have contributed to this project!
This project is licensed under the Apache License 2.0 .
See LICENSE file for details.
This software can be used, modified, and distributed for free, but you must:
✅ Retain original copyright notices
✅ Include the Apache 2.0 license text
✅ State that your product is based on this software
Commercial License (Paid)
If you need:
🏢 Remove copyright notices (white-label products)
🔄 OEM partnership (integrate into your products for resale)
🎨 Custom branding (use your own brand)
🚀 Priority support (enterprise-level technical support)
You can apply for a commercial license to obtain additional rights.
For details, see: COMMERCIAL_LICENSE.md