Content
# Tool List
Yunxing AI is a powerful AI application development platform designed to simplify the development and deployment of AI applications. By providing a rich set of tools and interfaces, developers can quickly build, customize, and deploy AI solutions.
## Interface Display



## Core Features
- **Account and Permissions**: Multi-tenancy (workspace) management, user authentication, team members and invitations
- **AI Application Building**: Application creation and configuration, system prompts, variables, knowledge base binding
- **Conversational Capability**: Streaming conversation (SSE), session and message management
- **Knowledge Base (RAG)**: Document upload and parsing (PDF / Word), multiple segmentation strategies, vector retrieval, strict mode Q&A
- **File Management**: Local / Aliyun OSS file storage
## Project Architecture
The project adopts a front-end and back-end separation architecture:
### Front-end Architecture
- **Framework**: [Next.js 15.3](https://nextjs.org) (App Router) + Turbopack
- **Language**: TypeScript, React 19
- **UI Components**: [shadcn/ui](https://ui.shadcn.com/), [Radix UI](https://www.radix-ui.com/)
- **Styles**: [TailwindCSS 4](https://tailwindcss.com/)
- **State Management**: React Hooks
- **Form Handling**: react-hook-form + zod validation
- **Internationalization**: next-intl 4
- **Authentication**: next-auth 4
- **HTTP Requests**: axios
- **UI Animations**: framer-motion
- **Markdown Rendering**: react-markdown + remark-gfm
- **Icons**: lucide-react + react-icons
- **Notifications**: sonner
- **Code Formatting**: Biome
- **Package Management**: pnpm
### Back-end Architecture
- **Language**: Java 17
- **Framework**: Spring Boot 3.5
- **Security Authentication**: Spring Security + JWT (jjwt 0.12.6)
- **Database**: MySQL 8.3 + MyBatis-Flex 1.10.9
- **Connection Pool**: Druid 1.2.24
- **Cache**: Redis
- **Vector Database**: Qdrant (Spring AI Vector Store)
- **Tool Library**: Hutool 5.8.36, Lombok
- **API Documentation**: SpringDoc OpenAPI 2.8.6
- **HTTP Client**: OkHttp
- **Cloud Storage**: Aliyun OSS
- **Reactive Programming**: WebFlux, Reactor (streaming conversation)
- **AI Integration**: Spring AI 1.1.6 (Zhipuai AI, Ollama, OpenAI compatible / DashScope)
- **Document Processing**: Apache PDFBox, Apache POI
- **Email Service**: Spring Mail
## Directory Structure
```
yunxing-ai/
├── web/ # Front-end code
│ ├── app/ # Next.js App Router
│ │ ├── [locale]/ # Internationalization routing
│ │ │ ├── (auth)/ # Login, registration
│ │ │ └── (main)/ # Main interface (applications, knowledge base, settings, etc.)
│ │ └── api/ # NextAuth and other API routes
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utility functions and API clients
│ ├── hooks/ # Custom React Hooks
│ ├── i18n/ # Internationalization configuration
│ ├── types/ # TypeScript type definitions
│ ├── api/ # Back-end API encapsulation
│ └── public/ # Static resources
│
├── api/ # Java back-end service
│ ├── src/main/java/com/yxboot/
│ │ ├── common/ # General tools, exceptions, unified responses
│ │ ├── config/ # Security, Web, upload and other configurations
│ │ ├── ai/ # AI capabilities (Spring AI, RAG, document processing, vector storage)
│ │ ├── modules/ # Business modules
│ │ │ ├── account/ # Account permissions (tenants, users, invitations)
│ │ │ ├── app/ # AI applications and configurations
│ │ │ ├── dataset/ # Knowledge base, documents, segments
│ │ │ ├── ai/ # Conversations, sessions, messages
│ │ │ └── system/ # System (files, emails)
│ │ ├── util/ # Utility classes
│ │ └── ApiApplication.java # Application entry
│ └── pom.xml
│
└── doc/ # Project documentation
├── sql/ # Database scripts and migrations
├── dev_log/ # Development log
└── weekly/ # Development weekly
```
## Database Structure
The system uses MySQL 8.3, and the main table structures include:
- **Account Management**: `tenant` (tenant), `user` (user), `tenant_user` (tenant member), `invitation` (invitation)
- **Application Management**: `app` (application), `app_config` (application configuration)
- **Conversation Management**: `conversation` (session), `message` (message)
- **Knowledge Base**: `dataset` (knowledge base), `dataset_document` (document), `dataset_document_segment` (document segment)
- **System**: `sys_file` (attachment)
Complete table creation script see [`doc/sql/db_schema.sql`](doc/sql/db_schema.sql). Existing database upgrades please follow the migration script sequence under [`doc/sql/`](doc/sql/).
## Development Environment Setup
### Pre-requisites
| Component | Version Requirements | Description |
|------|---------------------|------|
| Node.js | 20+ | Front-end runtime environment |
| pnpm | Latest | Front-end package management |
| JDK | 17+ | Back-end runtime environment |
| Maven | 3.8+ | Back-end build |
| MySQL | 8.3+ | Business data |
| Redis | 7.0+ | Cache |
| Qdrant | Latest | Vector storage (default port 6334) |
### Database Initialization
```bash
# Create database
mysql -u root -p -e "CREATE DATABASE yxboot DEFAULT CHARACTER SET utf8mb4;"
# Import table structure
mysql -u root -p yxboot < doc/sql/db_schema.sql
```
### Back-end Development Environment
1. Copy development configuration template and fill in local information:
```bash
cd api/src/main/resources
cp application-dev.template.yml application-dev.yml
```
2. Configure MySQL, Redis, email, and AI-related keys in `application-dev.yml`:
```yaml
yxboot:
ai:
chat:
provider: zhipuai
api-key: "your-zhipuai-api-key"
embedding:
provider: dashscope # dashscope | ollama | zhipuai
api-key: ${DASHSCOPE_API_KEY:}
```
3. Start Qdrant (vector retrieval dependency, can use Docker):
```bash
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
```
4. Build and run:
```bash
cd api
mvn clean package
java -jar target/yunxing-api-0.0.1-SNAPSHOT.jar
```
Back-end default address: [http://localhost:8080](http://localhost:8080)
API documentation (Swagger UI): [http://localhost:8080/swagger-ui.html](http://localhost:8080/swagger-ui.html)
### Front-end Development Environment
1. Install dependencies and start:
```bash
cd web
pnpm install
pnpm dev
```
2. Optional: Configure environment variables in `web/.env.local`:
```bash
NEXT_PUBLIC_API_BASE_URL=http://localhost:8080/v1/api
NEXTAUTH_SECRET=your-nextauth-secret
```
3. Access development server: [http://localhost:3000](http://localhost:3000)
## Technical Features
- **Modern Front-end Architecture**: Next.js 15 + React 19 + Turbopack, Server / Client Components hybrid rendering
- **Multi-language Support**: Internationalization routing based on next-intl
- **Component-driven Design**: shadcn/ui + Radix UI, accessibility and customizability balance
- **Security Authentication**: Spring Security + JWT, multi-tenancy isolation
- **RAG Knowledge Base**: Document parsing, Parent-Child segmentation, Qdrant vector retrieval, strict mode Q&A
- **Streaming Conversation**: Real-time AI response based on WebFlux / SSE
- **Spring AI Integration**: Zhipuai AI, DashScope, Ollama and other provider support
- **Type Safety**: Front-end TypeScript strict mode, back-end strong type DTO
## Communication and Collaboration
Yunxing AI is currently in its initial stage, and we have recorded the complete development process and technical thinking. We welcome developers who are interested in AI application development to join us and explore the infinite possibilities of AI application development together. Whether you are a front-end engineer, back-end developer, or anyone interested in AI applications, you can participate in the following ways:
- **Star & Fork**: Follow the project on [GitHub](https://github.com/boyazuo/yunxing-ai) or [Gitee](https://gitee.com/yxboot/yunxing-ai)
- **Contribute Code**: Submit PR, participate in feature development and bug fixing
- **Technical Discussion**: Share your ideas and suggestions
- **Join Community**: Scan the QR code below to add WeChat (remark: Yunxing AI)
We believe that through open-source collaboration, we can build a stronger and more user-friendly AI application development platform together. Let's work together to witness the growth and transformation of Yunxing AI!
<img src="https://yxboot-oss.oss-cn-beijing.aliyuncs.com/images/weixin-boya.png" width="160" />
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.