From af21d69e65bda2c7cd66863eaaf5289e90faa8a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?=
<15040126243@163.com>
Date: Tue, 26 May 2026 10:39:07 +0800
Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20!pr850=20?=
=?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81=E7=94=A8=E6=B3=95=E4=B8=8E?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 4 +-
.../src/main/resources/application-dev.yml | 6 +-
.../src/main/resources/application-prod.yml | 6 +-
.../src/main/resources/application.yml | 1 -
ruoyi-common/ruoyi-common-ai/pom.xml | 11 +-
ruoyi-common/ruoyi-common-bom/pom.xml | 3 +-
ruoyi-modules/ruoyi-ai/pom.xml | 12 +
.../ai/controller/OpenApiDemoController.java | 263 --------------
.../ai/controller/SnailAiController.java | 338 ++++++++++++++++++
.../java/org/dromara/ai/package-info.java | 1 -
script/sql/oracle/oracle_ry_vue.sql | 1 +
script/sql/postgres/postgres_ry_vue.sql | 1 +
script/sql/ry_ai.sql | 1 -
script/sql/ry_vue.sql | 1 +
script/sql/sqlserver/sqlserver_ry_vue.sql | 2 +
15 files changed, 368 insertions(+), 283 deletions(-)
delete mode 100644 ruoyi-modules/ruoyi-ai/src/main/java/org/dromara/ai/controller/OpenApiDemoController.java
create mode 100644 ruoyi-modules/ruoyi-ai/src/main/java/org/dromara/ai/controller/SnailAiController.java
delete mode 100644 ruoyi-modules/ruoyi-ai/src/main/java/org/dromara/ai/package-info.java
delete mode 100644 script/sql/ry_ai.sql
diff --git a/pom.xml b/pom.xml
index a8666c382..2f2e657aa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,7 +33,7 @@
2.2.7
4.5.0
2.0.0
- 0.0.1
+ 0.0.2
1.5.0
0.2.0
1.18.42
@@ -56,7 +56,7 @@
3.0.2
7.17.28
- 2.0.0-M6
+ 2.0.0-M7
3.5.0
diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml
index c808767fa..fdc4e95f7 100644
--- a/ruoyi-admin/src/main/resources/application-dev.yml
+++ b/ruoyi-admin/src/main/resources/application-dev.yml
@@ -1,7 +1,7 @@
--- # 监控中心配置
spring.boot.admin.client:
# 增加客户端开关
- enabled: true
+ enabled: false
url: http://localhost:9090/admin
instance:
service-host-type: IP
@@ -13,7 +13,7 @@ spring.boot.admin.client:
--- # snail-job 配置
snail-job:
- enabled: true
+ enabled: false
# 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
group: "ruoyi_group"
# SnailJob 接入验证令牌 详见 script/sql/ry_job.sql `sj_group_config` 表
@@ -31,7 +31,7 @@ snail-job:
--- # snail-ai 配置
snail-ai:
# 启用客户端模式
- enabled: true
+ enabled: false
# 聊天发送模式: stream(流式) / sync(同步)
chat-mode: stream
# ==================== Server 连接 ====================
diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml
index 76274c81d..18383c1b9 100644
--- a/ruoyi-admin/src/main/resources/application-prod.yml
+++ b/ruoyi-admin/src/main/resources/application-prod.yml
@@ -4,7 +4,7 @@ spring.servlet.multipart.location: /ruoyi/server/temp
--- # 监控中心配置
spring.boot.admin.client:
# 增加客户端开关
- enabled: true
+ enabled: false
url: http://localhost:9090/admin
instance:
service-host-type: IP
@@ -16,7 +16,7 @@ spring.boot.admin.client:
--- # snail-job 配置
snail-job:
- enabled: true
+ enabled: false
# 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
group: "ruoyi_group"
# SnailJob 接入验证令牌 详见 script/sql/ry_job.sql `sj_group_config`表
@@ -34,7 +34,7 @@ snail-job:
--- # snail-ai 配置
snail-ai:
# 启用客户端模式
- enabled: true
+ enabled: false
# 聊天发送模式: stream(流式) / sync(同步)
chat-mode: stream
# ==================== Server 连接 ====================
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 081030690..8c9f26c19 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -109,7 +109,6 @@ security:
- /*/api-docs
- /*/api-docs/**
- /warm-flow-ui/config
- - /snail-ai/agent/*/chat/stream
# MyBatisPlus配置
# https://baomidou.com/config/
diff --git a/ruoyi-common/ruoyi-common-ai/pom.xml b/ruoyi-common/ruoyi-common-ai/pom.xml
index f1eb0712b..34f028163 100644
--- a/ruoyi-common/ruoyi-common-ai/pom.xml
+++ b/ruoyi-common/ruoyi-common-ai/pom.xml
@@ -3,8 +3,8 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- ruoyi-common
org.dromara
+ ruoyi-common
${revision}
4.0.0
@@ -18,8 +18,8 @@
- org.springframework.boot
- spring-boot-autoconfigure
+ org.dromara
+ ruoyi-common-core
@@ -32,10 +32,5 @@
snail-ai-openapi-starter
-
- org.dromara
- ruoyi-common-core
-
-
diff --git a/ruoyi-common/ruoyi-common-bom/pom.xml b/ruoyi-common/ruoyi-common-bom/pom.xml
index 710cc4bc3..5f222e4f5 100644
--- a/ruoyi-common/ruoyi-common-bom/pom.xml
+++ b/ruoyi-common/ruoyi-common-bom/pom.xml
@@ -170,8 +170,9 @@
org.dromara
ruoyi-common-ai
+ ${revision}
-
+
org.dromara
diff --git a/ruoyi-modules/ruoyi-ai/pom.xml b/ruoyi-modules/ruoyi-ai/pom.xml
index 1baf5cb8a..e44919b00 100644
--- a/ruoyi-modules/ruoyi-ai/pom.xml
+++ b/ruoyi-modules/ruoyi-ai/pom.xml
@@ -17,6 +17,14 @@
+
+ org.dromara
+ ruoyi-common-core
+
+
+ org.dromara
+ ruoyi-api
+
org.dromara
ruoyi-common-ai
@@ -25,6 +33,10 @@
org.dromara
ruoyi-common-satoken
+
+ org.dromara
+ ruoyi-common-web
+
diff --git a/ruoyi-modules/ruoyi-ai/src/main/java/org/dromara/ai/controller/OpenApiDemoController.java b/ruoyi-modules/ruoyi-ai/src/main/java/org/dromara/ai/controller/OpenApiDemoController.java
deleted file mode 100644
index b27d9be6a..000000000
--- a/ruoyi-modules/ruoyi-ai/src/main/java/org/dromara/ai/controller/OpenApiDemoController.java
+++ /dev/null
@@ -1,263 +0,0 @@
-package org.dromara.ai.controller;
-
-import com.aizuda.snail.ai.common.execption.SnailAiException;
-import com.aizuda.snail.ai.common.model.PageResult;
-import com.aizuda.snail.ai.common.model.Result;
-import com.aizuda.snail.ai.common.openapi.dto.*;
-import com.aizuda.snail.ai.openapi.client.core.api.OpenApiAgentClient;
-import com.aizuda.snail.ai.openapi.client.core.api.OpenApiChatClient;
-import com.aizuda.snail.ai.openapi.client.core.api.OpenApiConversationClient;
-import com.aizuda.snail.ai.openapi.client.core.api.OpenApiUserClient;
-import com.aizuda.snail.ai.openapi.client.core.listener.SseEventListener;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.satoken.utils.LoginHelper;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-/**
- * OpenAPI 使用示例 Controller
- * 演示如何使用 OpenAPI Client 调用 Snail AI 服务端接口
- *
- * @author opensnail
- * @date 2026-04-25
- */
-@Slf4j
-@RestController
-@RequestMapping("/snail-ai")
-@RequiredArgsConstructor
-public class OpenApiDemoController {
-
- private final OpenApiAgentClient agentClient;
- private final OpenApiChatClient chatClient;
- private final OpenApiConversationClient conversationClient;
- private final OpenApiUserClient userClient;
- @Value("${snail-ai.chat-mode:stream}")
- private String chatMode;
-
- // ==================== User 相关接口 ====================
-
- /**
- * 注册当前登录用户并返回 OpenAPI 用户信息。
- */
- @PostMapping("/user/register")
- public Result registerCurrentUser() {
- OpenApiUserVO user = ensureOpenApiUser();
- return Result.ok(user);
- }
-
- /**
- * 查询当前登录用户对应的 OpenAPI 用户信息。
- */
- @GetMapping("/user")
- public Result getUser() {
- String openId = ensureOpenId();
- OpenApiUserQueryRequest request = new OpenApiUserQueryRequest();
- request.setOpenId(openId);
- return userClient.getUser(request);
- }
-
- // ==================== Agent 相关接口 ====================
-
- /**
- * 查询当前用户可访问的智能体列表。
- */
- @GetMapping("/agents")
- public Result> listAgents() {
- return agentClient.listAgents();
- }
-
- /**
- * 根据智能体 ID 查询智能体详情。
- */
- @GetMapping("/agent/{agentId}")
- public Result getAgent(
- @PathVariable Long agentId) {
- OpenApiAgentIdentityRequest request = new OpenApiAgentIdentityRequest();
- request.setAgentId(agentId);
- return agentClient.getAgent(request);
- }
-
- // ==================== Conversation 相关接口 ====================
-
- /**
- * 为指定智能体创建新会话。
- */
- @PostMapping("/agent/{agentId}/conversation")
- public Result createConversation(
- @PathVariable Long agentId,
- @RequestBody OpenApiCreateConversationRequest request) {
- request.setAgentId(agentId);
- request.setOpenId(ensureOpenId());
- return conversationClient.createConversation(request);
- }
-
- /**
- * 分页查询指定智能体下的会话列表。
- */
- @GetMapping("/agent/{agentId}/conversations")
- public PageResult> listConversations(
- @PathVariable Long agentId,
- @RequestParam(defaultValue = "1") int page,
- @RequestParam(defaultValue = "10") int size) {
- OpenApiConversationQueryRequest request = new OpenApiConversationQueryRequest();
- request.setAgentId(agentId);
- request.setOpenId(ensureOpenId());
- request.setPage(page);
- request.setSize(size);
- return conversationClient.listConversations(request);
- }
-
- /**
- * 查询指定会话的消息历史。
- */
- @GetMapping("/agent/{agentId}/conversation/{conversationId}/messages")
- public Result> getMessages(
- @PathVariable Long agentId,
- @PathVariable String conversationId) {
- OpenApiConversationIdentityRequest request = new OpenApiConversationIdentityRequest();
- request.setAgentId(agentId);
- request.setConversationId(conversationId);
- request.setOpenId(ensureOpenId());
- return conversationClient.getMessages(request);
- }
-
- /**
- * 删除指定会话。
- */
- @DeleteMapping("/agent/{agentId}/conversation/{conversationId}")
- public Result deleteConversation(
- @PathVariable Long agentId,
- @PathVariable String conversationId) {
- OpenApiConversationIdentityRequest request = new OpenApiConversationIdentityRequest();
- request.setAgentId(agentId);
- request.setConversationId(conversationId);
- request.setOpenId(ensureOpenId());
- return conversationClient.deleteConversation(request);
- }
-
- // ==================== Chat 相关接口 ====================
-
- /**
- * 获取当前聊天发送模式。
- */
- @GetMapping("/chat/mode")
- public Result