Skip to content

yucheng-ou/kaleido-ai

Repository files navigation

Kaleido Logo

🎨 Kaleido AI 智能衣柜

基于微服务架构的AI智能衣柜,让每一次穿搭都更懂你

JDK Spring Boot Spring Cloud Spring AI License Stars 中文文档

✨ 核心特性🏗️ 架构设计🚀 快速开始📖 文档


📌 项目简介

Kaleido AI 智能衣柜是一个采用 微服务架构 的AI智能穿搭管理系统,基于 DDD领域驱动设计 + CQRS + 整洁架构 理念构建。

核心功能

  • 👑 后台管理系统

    • 完善的用户权限管理(RBAC)
    • AI Agent 创建与管理
    • 工作流编排引擎
    • 数据可视化与运营监控
  • 📱 App客户端系统

    • 服装管理:创建服装、管理衣橱、批量导入
    • 智能搭配:AI创建搭配方案、风格推荐
    • 个性化配置:用户信息管理、偏好设置
    • 激励体系:金币机制、用户行为返利、积分兑换
    • 智能助手:AI对话咨询、实时穿搭建议
业务功能

💡 核心价值:将传统的衣柜管理升级为智能化、个性化的穿搭体验


✨ 核心特性

🎯 技术亮点

特性 说明
DDD + CQRS 领域驱动设计,读写分离,领域模型独立
整洁架构 四层架构(接口层、应用层、领域层、基础设施层),依赖倒置
Spring AI集成 无缝对接LLM、向量数据库、RAG能力
微服务架构 11个业务服务 + 23个通用模块,独立部署、弹性扩展

🛠️ 技术栈

业务功能

核心框架

  • Java 21(LTS版本,虚拟线程支持)
  • Spring Boot 3.5.6 + Spring Cloud 2025.0.0
  • Spring AI 1.1.2(AI集成框架)
  • Spring Cloud Alibaba 2025.0.0.0

微服务生态

  • Nacos 2.3:服务注册 + 配置中心
  • Sentinel 1.8.7:流量控制 + 降级熔断
  • Dubbo 3.3.0:高性能RPC框架
  • Seata 1.8.0:分布式事务(AT模式)
  • XXL-Job 3.3.2:分布式任务调度

数据存储

  • MySQL 8.4.0:关系型数据,ShardingSphere分库分表
  • MongoDB 7.0+:文档型数据,灵活Schema
  • Milvus 2.4+:向量数据库,AI特征存储和相似度搜索
  • Redis 6+:缓存,JetCache多级缓存(Caffeine + Redis)
  • MinIO 8.6.0:对象存储,图片、文件管理

中间件

  • RabbitMQ 3.13+:消息队列,异步解耦
  • Redisson 3.52.0:Redis客户端,分布式锁
  • JetCache 2.7.8:多级缓存框架

工具库

  • Sa-Token 1.44.0:轻量级权限认证
  • MyBatis-Plus 3.5.9:ORM框架
  • MapStruct 1.6.3:类型安全的对象映射
  • Smart-Doc 2.7.7:零侵入API文档生成
  • Dynamic-TP 1.2.2-x:动态线程池监控

完整技术清单

📋 点击展开完整技术版本清单
技术 版本 说明
Java 21 开发语言
Spring Boot 3.5.6 应用框架
Spring Cloud 2025.0.0 微服务框架
Spring Cloud Alibaba 2025.0.0.0 阿里云微服务组件
Spring AI 1.1.2 AI集成框架
MyBatis-Plus 3.5.9 ORM框架
MySQL 8.4.0 关系型数据库
MongoDB 7.0+ 文档数据库,用于非结构化数据存储
Milvus 2.4+ 向量数据库,用于AI特征存储和相似度搜索
MinIO 8.6.0 对象存储
shardingsphere-jdbc 5.5.2 分库分表
Redis 6+ 缓存
Redisson 3.52.0 Redis客户端
JetCache 2.7.8 多级缓存框架
Caffeine 3.2.3 本地缓存
Sa-Token 1.44.0 权限认证框架
Sentinel 1.8.7 流量控制和服务降级
Dubbo 3.3.0 RPC框架
Nacos 2.3.0 服务注册与配置中心
Seata 1.8.0 分布式事务解决方案
XXL-Job 3.3.2 分布式任务调度
RabbitMQ 3.13+ 消息中间件,用于异步通信和解耦系统
Spring AMQP 3.1.8 RabbitMQ集成框架
Smart-doc 2.7.7 API文档生成
MapStruct 1.6.3 对象映射工具
Lombok 1.18.36 代码简化工具
Hutool 5.8.38 Java工具库
PageHelper 2.1.1 MyBatis分页插件
Dynamic-tp 1.2.2-x 动态线程池

🏗️ 架构设计

系统架构

系统架构

业务架构

业务架构

代码分层设计

代码分层设计
目录结构

📁 项目结构

kaleido-server/
├── kaleido-common/                    # 公共模块
│   ├── kaleido-aop/                   # AOP切面
│   ├── kaleido-api/                   # API接口定义
│   ├── kaleido-base/                  # 基础工具类
│   ├── kaleido-cache/                 # 缓存模块
│   ├── kaleido-distribute/            # 分布式相关
│   ├── kaleido-doc/                   # 文档生成
│   ├── kaleido-ds/                    # 数据源
│   ├── kaleido-dynamic-tp/            # 动态线程池
│   ├── kaleido-file/                  # 文件服务
│   ├── kaleido-job/                   # 任务调度
│   ├── kaleido-limiter/               # 限流器
│   ├── kaleido-lock/                  # 分布式锁
│   ├── kaleido-mq/                    # 消息队列
│   ├── kaleido-nacos/                 # 配置中心
│   ├── kaleido-rpc/                   # RPC相关
│   ├── kaleido-sa-token/              # 权限认证
│   ├── kaleido-seata/                 # 分布式事务
│   ├── kaleido-sentinel/              # 限流降级
│   ├── kaleido-sms/                   # 短信服务
│   └── kaleido-web/                   # Web相关配置
│
├── kaleido-gateway/                   # API网关
├── kaleido-auth/                      # 认证授权服务
├── kaleido-biz/                       # 业务服务集合
│   ├── kaleido-user/                  # 用户服务
│   ├── kaleido-wardrobe/              # 衣柜服务
│   ├── kaleido-ai/                    # AI服务
│   ├── kaleido-recommend/             # 推荐服务
│   ├── kaleido-tag/                   # 标签服务
│   ├── kaleido-coin/                  # 金币服务
│   └── kaleido-mcp/                   # MCP服务
├── kaleido-notice/                    # 通知服务
├── kaleido-admin/                     # 管理后台服务
├── doc/                               # 项目文档
├── scripts/                           # 脚本文件
├── .gitignore                         # Git忽略配置
├── pom.xml                            # 父POM文件
└── README.md                          # 项目说明文档

🚀 快速开始

1. 前置准备

在开始之前,请确保您的开发环境已安装以下软件:

  • JDK 21+: 项目基于 Java 21 开发 (参考 pom.xml)。
  • Maven: 用于项目构建和依赖管理。
  • Docker & Docker Compose: 用于运行数据库、中间件等基础环境。

2. 克隆项目

请根据您的网络环境选择代码仓库:

  • Gitee (国内推荐)

    git clone https://gitee.com/ou-yucheng/kaleido-ai.git
  • GitHub

    git clone https://github.com/yucheng-ou/kaleido-ai.git

3. 启动基础环境

项目依赖 MySQL, Redis, Nacos, MinIO 等中间件,使用 Docker Compose 一键启动。

# 将doc/deploy/dev-ops目录拷贝到服务器上
cd doc/deploy/dev-ops

# 启动基础环境 (加上 -d 后台运行)
docker-compose -f docker-compose.yml up -d

⚠️ 环境自检 启动命令执行后,请务必执行以下检查,确保所有容器运行正常:

1. 检查容器状态

docker compose -f docker-compose.yml ps

请确认以下关键容器的状态为 Up

2. 检查数据库是否已经成功创建

默认会自动创建数据库,不需要再手动创建脚本,连接并检查数据库是否已经创建完成。

4. Nacos 初始化配置

务必完成以下配置,否则微服务将无法启动。

4.1 创建命名空间

登录 Nacos 控制台,进入 命名空间 (Namespaces),创建以下两个命名空间(id可以使用下面表格中的 也可以自己生成):

命名空间名称 命名空间 ID (必填) 用途
kaleido 30d71fbd-2d24-4757-81f4-679d26f0ed93 主配置与服务发现
dubbo aa3a3ee8-fb98-43e5-b3da-11b368d88c21 Dubbo RPC 服务

4.2 导入配置

  1. 进入 配置管理 -> 配置列表
  2. 顶部切换到 kaleido 命名空间。
  3. 点击 导入配置,选择文件:doc/deploy/nacos/nacos_config_export.zip
  4. 检查配置列表是否已成功加载 kaleido-gateway-dev.yml 等文件。

5. 本地开发配置修改

5.1 修改 ShardingSphere 数据源

修改 kaleido-common/kaleido-ds/src/main/resources/sharding.yaml,将数据库地址改成自己的。

5.2 创建MinIO密钥

Docker 启动的 MinIO 默认密钥可能与配置不一致,建议手动创建或同步:

  1. 登录 MinIO 控制台
  2. 进入 Access Keys -> Create access key
  3. 记录生成的 Access Key 和 Secret Key。

5.3 修改并执行环境变量脚本

  1. 修改 :修改 doc/deploy/init_env.bat 脚本,将配置替换为自己的,主要修改ip地址、minio密钥与模型的配置信息,对于AI的API调用,我是用的硅基流动,你可以替换为你自己的。
  2. 执行: 双击运行或在终端执行该脚本。
  3. 重启: 必须重启 IDE (IntelliJ IDEA) 以加载新的环境变量,如果还不行重启电脑。

6. 服务启动

按依赖顺序启动微服务:

  1. Gateway 服务: kaleido-gateway (端口 9010)
  2. Auth 服务: kaleido-auth
  3. Admin 服务: kaleido-admin
  4. 业务服务: kaleido-user, kaleido-wardrobe

项目启动成功后检查服务是否已经成功注册到nacos上面。


📖 文档


📞 联系作者

微信名片 微信公众号

💬 有问题欢迎提Issue或者进群联系,我会尽可能解决 😺


📄 License

本项目采用 MIT License 开源协议。


如果这个项目对你有帮助,请给一个 ⭐️ Star 支持一下!

About

Kaleido AI智能衣柜是基于微服务架构的AI智能衣柜,项目使用JDK21、SpringBoot 3.5、SpringCloud 2025、SpringAI 1.1进行开发,基于DDD + CQRS + 整洁架构,为用户提供衣物管理、个性化穿搭方案和智能推荐服务。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors