diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/dto/AiChatMessageDTO.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/dto/AiChatMessageDTO.java
new file mode 100644
index 000000000..db00bef99
--- /dev/null
+++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/dto/AiChatMessageDTO.java
@@ -0,0 +1,23 @@
+package com.pig4cloud.pigx.admin.api.dto;
+
+import lombok.Data;
+
+/**
+ * AI 聊天消息 DTO
+ *
+ * @author lengleng
+ * @date 2025/02/20
+ */
+@Data
+public class AiChatMessageDTO {
+
+ /**
+ * 消息
+ */
+ private String message;
+
+ /**
+ * 网络搜索
+ */
+ private boolean webSearch;
+}
diff --git a/pigx-upms/pigx-upms-biz/pom.xml b/pigx-upms/pigx-upms-biz/pom.xml
index 239b4cb37..19430deae 100644
--- a/pigx-upms/pigx-upms-biz/pom.xml
+++ b/pigx-upms/pigx-upms-biz/pom.xml
@@ -174,6 +174,15 @@
org.dromara.sms4j
sms4j-oa-core
+
+
+ io.github.pig-mesh.ai
+ deepseek-spring-boot-starter
+
+
+ com.pig4cloud
+ pigx-common-sse
+
org.apache.velocity
diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/AiChatController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/AiChatController.java
new file mode 100644
index 000000000..4902f46f3
--- /dev/null
+++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/AiChatController.java
@@ -0,0 +1,50 @@
+package com.pig4cloud.pigx.admin.controller;
+
+import com.pig4cloud.pigx.admin.api.dto.AiChatMessageDTO;
+import io.github.pigmesh.ai.deepseek.core.DeepSeekClient;
+import io.github.pigmesh.ai.deepseek.core.chat.ChatCompletionResponse;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import reactor.core.publisher.Flux;
+
+import java.util.Optional;
+
+/**
+ * AI 聊天控制器
+ *
+ * @author lengleng
+ * @date 2025/02/20
+ */
+@Slf4j
+@RestController
+@RequestMapping("/ai")
+@RequiredArgsConstructor
+public class AiChatController {
+
+ private final Optional deepSeekClientOptional;
+
+
+ /**
+ * 聊天
+ *
+ * @param message 消息
+ * @return {@link Flux }<{@link ChatCompletionResponse }>
+ */
+ @PostMapping("/chat")
+ public Flux chat(@RequestBody AiChatMessageDTO message) {
+
+ if (deepSeekClientOptional.isEmpty()) {
+ log.warn("DeepSeek 大模型聊天未开启,请检查配置");
+ return Flux.empty();
+ }
+
+ if (message.isWebSearch()) {
+ return deepSeekClientOptional.get().chatSearchCompletion(message.getMessage());
+ }
+ return deepSeekClientOptional.get().chatFluxCompletion(message.getMessage());
+ }
+}