diff --git a/pom.xml b/pom.xml
index d8f67281..d8d596c1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -344,10 +344,16 @@
- ruoyi-admin
ruoyi-common
ruoyi-modules
+ ruoyi-modules-api
+ ruoyi-modules-api
+ ruoyi-modules-api/ruoyi-device-api
+ ruoyi-modules-api/ruoyi-weixin-api
+ ruoyi-modules/ruoyi-weixin
+ ruoyi-modules/ruoyi-device
+
pom
diff --git a/ruoyi-admin/Dockerfile b/ruoyi-admin/Dockerfile
deleted file mode 100644
index bf14c4ee..00000000
--- a/ruoyi-admin/Dockerfile
+++ /dev/null
@@ -1,35 +0,0 @@
-#基础镜像
-FROM findepi/graalvm:java17-native
-
-# 设置环境变量
-ENV LANG C.UTF-8
-ENV LANGUAGE C.UTF-8
-ENV LC_ALL C.UTF-8
-ENV SERVER_PORT=6039
-
-MAINTAINER ageerle
-
-RUN mkdir -p /ruoyi/server/logs \
- /ruoyi/server/temp \
- /ruoyi/skywalking/agent
-
-
-#工作空间
-WORKDIR /ruoyi/server
-
-
-
-EXPOSE ${SERVER_PORT}
-
-ADD ./target/ruoyi-admin.jar ./app.jar
-
-
-ENTRYPOINT ["java", \
- "-Djava.security.egd=file:/dev/./urandom", \
- "-Dserver.port=${SERVER_PORT}", \
- # 应用名称 如果想区分集群节点监控 改成不同的名称即可
-# "-Dskywalking.agent.service_name=ruoyi-server", \
-# "-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar", \
- "-jar", "app.jar"]
-
-
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
deleted file mode 100644
index 5ad40cdd..00000000
--- a/ruoyi-admin/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
- ruoyi-ai
- org.ruoyi
- ${revision}
- ../pom.xml
-
- 4.0.0
- jar
- ruoyi-admin
-
-
- web服务入口
-
-
-
-
-
-
- com.mysql
- mysql-connector-j
-
-
-
-
- com.oracle.database.jdbc
- ojdbc8
-
-
-
-
- org.postgresql
- postgresql
-
-
-
-
- com.microsoft.sqlserver
- mssql-jdbc
-
-
-
- org.ruoyi
- ruoyi-common-doc
-
-
-
- org.ruoyi
- ruoyi-system
-
-
-
- org.ruoyi
- ruoyi-chat
-
-
-
- org.ruoyi
- ruoyi-knowledge
-
-
-
- org.ruoyi
- ruoyi-generator
-
-
-
-
- org.ruoyi
- ruoyi-demo
-
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
-
- net.coobird
- thumbnailator
- 0.4.11
-
-
- io.github.ollama4j
- ollama4j
- 1.0.79
- compile
-
-
-
-
-
- ${project.artifactId}
-
-
- org.springframework.boot
- spring-boot-maven-plugin
- ${spring-boot.version}
-
-
-
- repackage
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- ${maven-jar-plugin.version}
-
-
- org.apache.maven.plugins
- maven-war-plugin
- ${maven-war-plugin.version}
-
- false
- ${project.artifactId}
-
-
-
-
-
-
diff --git a/ruoyi-admin/src/main/java/org/ruoyi/controller/KnowledgeController.java b/ruoyi-admin/src/main/java/org/ruoyi/controller/KnowledgeController.java
deleted file mode 100644
index e399e888..00000000
--- a/ruoyi-admin/src/main/java/org/ruoyi/controller/KnowledgeController.java
+++ /dev/null
@@ -1,184 +0,0 @@
-package org.ruoyi.controller;
-
-import cn.dev33.satoken.stp.StpUtil;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotEmpty;
-import jakarta.validation.constraints.NotNull;
-import lombok.RequiredArgsConstructor;
-import org.ruoyi.common.chat.domain.request.ChatRequest;
-import org.ruoyi.common.chat.entity.chat.Message;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.excel.utils.ExcelUtil;
-import org.ruoyi.common.log.annotation.Log;
-import org.ruoyi.common.log.enums.BusinessType;
-import org.ruoyi.common.mybatis.core.page.PageQuery;
-import org.ruoyi.common.mybatis.core.page.TableDataInfo;
-import org.ruoyi.common.satoken.utils.LoginHelper;
-import org.ruoyi.common.web.core.BaseController;
-import org.ruoyi.knowledge.chain.vectorstore.VectorStore;
-import org.ruoyi.knowledge.domain.bo.KnowledgeAttachBo;
-import org.ruoyi.knowledge.domain.bo.KnowledgeFragmentBo;
-import org.ruoyi.knowledge.domain.bo.KnowledgeInfoBo;
-import org.ruoyi.knowledge.domain.req.KnowledgeInfoUploadRequest;
-import org.ruoyi.knowledge.domain.vo.KnowledgeAttachVo;
-import org.ruoyi.knowledge.domain.vo.KnowledgeFragmentVo;
-import org.ruoyi.knowledge.domain.vo.KnowledgeInfoVo;
-import org.ruoyi.knowledge.service.EmbeddingService;
-import org.ruoyi.knowledge.service.IKnowledgeAttachService;
-import org.ruoyi.knowledge.service.IKnowledgeFragmentService;
-import org.ruoyi.knowledge.service.IKnowledgeInfoService;
-import org.ruoyi.system.service.ISseService;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
-
-import java.util.List;
-
-
-/**
- * 知识库
- *
- * @author Lion Li
- * @date 2024-10-21
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/knowledge")
-public class KnowledgeController extends BaseController {
-
- private final IKnowledgeInfoService knowledgeInfoService;
-
- private final VectorStore vectorStore;
-
- private final IKnowledgeAttachService attachService;
-
- private final IKnowledgeFragmentService fragmentService;
-
- private final EmbeddingService embeddingService;
-
- private final ISseService sseService;
-
- /**
- * 知识库对话
- */
- @PostMapping("/send")
- public SseEmitter send(@RequestBody @Valid ChatRequest chatRequest, HttpServletRequest request) {
- List messages = chatRequest.getMessages();
- // 获取知识库信息
- Message message = messages.get(messages.size() - 1);
- StringBuilder sb = new StringBuilder(message.getContent().toString());
- List nearestList;
- List queryVector = embeddingService.getQueryVector(message.getContent().toString(), chatRequest.getKid());
- nearestList = vectorStore.nearest(queryVector, chatRequest.getKid());
- for (String prompt : nearestList) {
- sb.append("\n####").append(prompt);
- }
- sb.append( (nearestList.size() > 0 ? "\n\n注意:回答问题时,须严格根据我给你的系统上下文内容原文进行回答,请不要自己发挥,回答时保持原来文本的段落层级" : ""));
- message.setContent(sb.toString());
- return sseService.sseChat(chatRequest, request);
- }
-
- /**
- * 根据用户信息查询本地知识库
- */
- @GetMapping("/list")
- public TableDataInfo list(KnowledgeInfoBo bo, PageQuery pageQuery) {
- if(!StpUtil.isLogin()){
- return null;
- }
- bo.setUid(LoginHelper.getUserId());
- return knowledgeInfoService.queryPageList(bo, pageQuery);
- }
-
- /**
- * 新增知识库
- */
- @Log(title = "知识库", businessType = BusinessType.INSERT)
- @PostMapping("/save")
- public R save(@Validated(AddGroup.class) @RequestBody KnowledgeInfoBo bo) {
- knowledgeInfoService.saveOne(bo);
- return R.ok();
- }
-
- /**
- * 删除知识库
- */
- @PostMapping("/remove/{id}")
- public R remove(@PathVariable String id){
- knowledgeInfoService.removeKnowledge(id);
- return R.ok("删除知识库成功!");
- }
-
- /**
- * 修改知识库
- */
- @Log(title = "知识库", businessType = BusinessType.UPDATE)
- @PostMapping("/edit")
- public R edit( @RequestBody KnowledgeInfoBo bo) {
- return toAjax(knowledgeInfoService.updateByBo(bo));
- }
-
- /**
- * 导出知识库列表
- */
- @Log(title = "知识库", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(KnowledgeInfoBo bo, HttpServletResponse response) {
- List list = knowledgeInfoService.queryList(bo);
- ExcelUtil.exportExcel(list, "知识库", KnowledgeInfoVo.class, response);
- }
-
- /**
- * 查询知识附件信息
- */
- @GetMapping("/detail/{kid}")
- public TableDataInfo attach(KnowledgeAttachBo bo, PageQuery pageQuery,@PathVariable String kid){
- bo.setKid(kid);
- return attachService.queryPageList(bo, pageQuery);
- }
-
- /**
- * 上传知识库附件
- */
- @PostMapping(value = "/attach/upload")
- public R upload(KnowledgeInfoUploadRequest request){
- knowledgeInfoService.upload(request);
- return R.ok("上传知识库附件成功!");
- }
-
- /**
- * 获取知识库附件详细信息
- *
- * @param id 主键
- */
- @GetMapping("attach/info/{id}")
- public R getAttachInfo(@NotNull(message = "主键不能为空")
- @PathVariable Long id) {
- return R.ok(attachService.queryById(id));
- }
-
- /**
- * 删除知识库附件
- *
- */
- @PostMapping("attach/remove/{docId}")
- public R removeAttach(@NotEmpty(message = "主键不能为空") @PathVariable String docId) {
- attachService.removeKnowledgeAttach(docId);
- return R.ok();
- }
-
-
- /**
- * 查询知识片段
- */
- @GetMapping("/fragment/list/{docId}")
- public TableDataInfo fragmentList(KnowledgeFragmentBo bo, PageQuery pageQuery, @PathVariable String docId) {
- bo.setDocId(docId);
- return fragmentService.queryPageList(bo, pageQuery);
- }
-
-}
diff --git a/ruoyi-modules-api/pom.xml b/ruoyi-modules-api/pom.xml
new file mode 100644
index 00000000..5acc7101
--- /dev/null
+++ b/ruoyi-modules-api/pom.xml
@@ -0,0 +1,61 @@
+
+
+ 4.0.0
+
+ org.ruoyi
+ ruoyi-ai
+ 1.0.0
+
+
+ ruoyi-modules-api
+ pom
+
+ ruoyi-system-api
+ ruoyi-chat-api
+ ruoyi-knowledge-api
+
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+
+ org.ruoyi
+ ruoyi-common-core
+
+
+
+
+
+ org.ruoyi
+ ruoyi-common-mybatis
+
+
+
+
+
+ org.ruoyi
+ ruoyi-common-sensitive
+
+
+
+
+
+ org.ruoyi
+ ruoyi-common-excel
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-modules-api/ruoyi-chat-api/pom.xml b/ruoyi-modules-api/ruoyi-chat-api/pom.xml
new file mode 100644
index 00000000..fde7a466
--- /dev/null
+++ b/ruoyi-modules-api/ruoyi-chat-api/pom.xml
@@ -0,0 +1,22 @@
+
+
+ 4.0.0
+
+ org.ruoyi
+ ruoyi-modules-api
+ 1.0.0
+
+
+ ruoyi-chat-api
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatAppStore.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java
similarity index 96%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatAppStore.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java
index b98cbeae..298984ce 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatAppStore.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java
@@ -1,10 +1,10 @@
-package org.ruoyi.system.domain;
+package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
-import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatConfig.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java
similarity index 90%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatConfig.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java
index a38b2f0a..385bd2d9 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatConfig.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java
@@ -1,13 +1,13 @@
-package org.ruoyi.system.domain;
+package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import org.ruoyi.common.sensitive.annotation.Sensitive;
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
-import org.ruoyi.common.tenant.core.TenantEntity;
import java.io.Serial;
@@ -20,7 +20,7 @@ import java.io.Serial;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_config")
-public class ChatConfig extends TenantEntity {
+public class ChatConfig extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatGpts.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java
similarity index 98%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatGpts.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java
index 8734eaa0..675d7698 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatGpts.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java
@@ -1,4 +1,4 @@
-package org.ruoyi.system.domain;
+package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatMessage.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java
similarity index 98%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatMessage.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java
index b60a0870..7ef7886d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatMessage.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java
@@ -1,4 +1,4 @@
-package org.ruoyi.system.domain;
+package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.constraints.NotBlank;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatPlugin.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java
similarity index 83%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatPlugin.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java
index 768c6678..d2c88432 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatPlugin.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java
@@ -1,6 +1,7 @@
-package org.ruoyi.system.domain;
+package org.ruoyi.domain;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatToken.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatToken.java
similarity index 96%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatToken.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatToken.java
index 865762f7..e1d04ead 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatToken.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatToken.java
@@ -1,11 +1,11 @@
-package org.ruoyi.system.domain;
+package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableName;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
+import org.ruoyi.common.core.validate.AddGroup;
+import org.ruoyi.common.core.validate.EditGroup;
import java.io.Serial;
import java.io.Serializable;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVisitorUsage.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java
similarity index 97%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVisitorUsage.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java
index 3b203811..3883ca92 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVisitorUsage.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java
@@ -1,4 +1,4 @@
-package org.ruoyi.system.domain;
+package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVoucher.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java
similarity index 88%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVoucher.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java
index ec4b6313..047a1087 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVoucher.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java
@@ -1,12 +1,13 @@
-package org.ruoyi.system.domain;
+package org.ruoyi.domain;
-import com.baomidou.mybatisplus.annotation.*;
-import org.ruoyi.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import java.math.BigDecimal;
+import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
+import java.math.BigDecimal;
/**
* 用户兑换记录对象 chat_voucher
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatAppStoreBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java
similarity index 93%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatAppStoreBo.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java
index 5af1096a..b4c04908 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatAppStoreBo.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java
@@ -1,12 +1,13 @@
-package org.ruoyi.system.domain.bo;
+package org.ruoyi.domain.bo;
-import org.ruoyi.common.mybatis.core.domain.BaseEntity;
-import org.ruoyi.system.domain.ChatAppStore;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import org.ruoyi.common.mybatis.core.domain.BaseEntity;
+import org.ruoyi.domain.ChatAppStore;
+
/**
* 应用市场业务对象 voice_role
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatConfigBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java
similarity index 95%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatConfigBo.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java
index fbada8b9..bf2d7bb7 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatConfigBo.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java
@@ -1,4 +1,4 @@
-package org.ruoyi.system.domain.bo;
+package org.ruoyi.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
@@ -10,7 +10,8 @@ import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import org.ruoyi.common.sensitive.annotation.Sensitive;
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
-import org.ruoyi.system.domain.ChatConfig;
+import org.ruoyi.domain.ChatConfig;
+
/**
* 对话配置信息
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatGptsBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java
similarity index 95%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatGptsBo.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java
index dd08528f..27614672 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatGptsBo.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java
@@ -1,4 +1,4 @@
-package org.ruoyi.system.domain.bo;
+package org.ruoyi.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
-import org.ruoyi.system.domain.ChatGpts;
+import org.ruoyi.domain.ChatGpts;
/**
* gpts管理业务对象 chat_gpts
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatMessageBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java
similarity index 94%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatMessageBo.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java
index 4610ab81..e66dc71e 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatMessageBo.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java
@@ -1,4 +1,4 @@
-package org.ruoyi.system.domain.bo;
+package org.ruoyi.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
@@ -8,7 +8,8 @@ import lombok.EqualsAndHashCode;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
-import org.ruoyi.system.domain.ChatMessage;
+import org.ruoyi.domain.ChatMessage;
+
/**
* 聊天消息业务对象 chat_message
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatPluginBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java
similarity index 87%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatPluginBo.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java
index 141215e6..1e20837a 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatPluginBo.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java
@@ -1,13 +1,15 @@
-package org.ruoyi.system.domain.bo;
+package org.ruoyi.domain.bo;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.system.domain.ChatPlugin;
-import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
+import org.ruoyi.common.core.validate.AddGroup;
+import org.ruoyi.common.core.validate.EditGroup;
+import org.ruoyi.common.mybatis.core.domain.BaseEntity;
+import org.ruoyi.domain.ChatPlugin;
+
/**
* 插件管理业务对象 chat_plugin
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVisitorUsageBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java
similarity index 94%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVisitorUsageBo.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java
index 6518350d..1755d2f3 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVisitorUsageBo.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java
@@ -1,4 +1,4 @@
-package org.ruoyi.system.domain.bo;
+package org.ruoyi.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
@@ -8,7 +8,8 @@ import lombok.EqualsAndHashCode;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
-import org.ruoyi.system.domain.ChatVisitorUsage;
+import org.ruoyi.domain.ChatVisitorUsage;
+
/**
* 访客管理业务对象 chat_visitor_usage
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVoucherBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java
similarity index 94%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVoucherBo.java
rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java
index 98ff3c72..60983b7e 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVoucherBo.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java
@@ -1,4 +1,4 @@
-package org.ruoyi.system.domain.bo;
+package org.ruoyi.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
@@ -7,7 +7,8 @@ import lombok.EqualsAndHashCode;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
-import org.ruoyi.system.domain.ChatVoucher;
+import org.ruoyi.domain.ChatVoucher;
+
import java.math.BigDecimal;
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CacheListInfoVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CacheListInfoVo.java
new file mode 100644
index 00000000..b865940e
--- /dev/null
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CacheListInfoVo.java
@@ -0,0 +1,23 @@
+package org.ruoyi.domain.vo;
+
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * 缓存监控列表信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class CacheListInfoVo {
+
+ private Properties info;
+
+ private Long dbSize;
+
+ private List