本文档基于 zy-wcs-master 的 AI 巡检思路,对当前 wms-master 项目进行了功能映射和实现说明。
本次实现的目标不是照搬 Spring AI + MCP 的完整体系,而是复用当前项目已有的 rsf-server + rsf-ai-gateway + rsf-admin 架构,以最小改动补齐以下能力:
zy-wcs-master 的映射关系zy-wcs-master 能力 |
当前项目映射方案 |
|---|---|
| 一键巡检 / 连续追问 | AiController 新增诊断场景,前端增加“一键诊断” |
| Prompt 场景中心 | 使用 sceneCode + AiProperties + AiPromptContextProvider 组合实现 |
| MCP 工具聚合 | 使用现有上下文提供器直接查询业务表,先实现轻量级数据工具能力 |
| 会话落库 | 新增 sys_ai_chat_session、sys_ai_chat_message |
| LLM 网关 | 继续复用 rsf-ai-gateway |
说明:当前版本没有直接引入 zy-wcs-master 的 Prompt 管理后台、MCP 挂载中心、模型路由容灾中心。这些能力保留为下一阶段增强项。
rsf-adminrsf-serverrsf-ai-gatewayflowchart LR
A["rsf-admin AI对话组件"] --> B["rsf-server /ai/chat/stream"]
A --> C["rsf-server /ai/diagnose/stream"]
B --> D["AiPromptContextService"]
C --> D
D --> E["库存摘要"]
D --> F["任务摘要"]
D --> G["设备站点摘要"]
B --> H["AiSessionService"]
C --> H
B --> I["rsf-ai-gateway"]
C --> I
I --> J["OpenAI兼容模型接口"]
新增场景编码:
general_chat:普通对话system_diagnose:系统巡检诊断相关位置:
rsf-server/src/main/java/com/vincent/rsf/server/ai/constant/AiSceneCode.javarsf-server/src/main/java/com/vincent/rsf/server/ai/dto/AiChatStreamRequest.javarsf-server/src/main/java/com/vincent/rsf/server/ai/model/AiPromptContext.javaAiController 当前提供两条 SSE 能力:
/ai/chat/streamsceneCode/ai/diagnose/streamsystem_diagnose当前实现采用“基础提示词 + 场景提示词 + 数据摘要提示词”的组合方式:
application.ymldiagnosis-system-promptAiPromptContextService 自动拼接上下文提供器内容上下文提供器如下:
AiDiagnosisPromptProviderAiWarehouseSummaryServiceman_loc、man_loc_itemAiTaskSummaryServiceman_taskAiDeviceSiteSummaryServiceman_device_site本次实现优先接入实时业务表,不额外引入独立知识库:
man_loc、man_loc_itemman_taskman_device_site这使得 AI 更偏向“运行态诊断助手”,而不是通用知识问答机器人。
新增脚本:version/db/20260316_ai_chat_storage.sql
涉及两张表:
sys_ai_chat_sessionsys_ai_chat_messageAiSessionServiceImpl 采用“数据库优先,内存兜底”模式:
这样可以降低发布风险,适合分阶段上线。
建议在正式启用前先执行以下脚本:
version/db/20260311_ai_param.sqlversion/db/20260316_ai_chat_storage.sql脚本执行完成后重启 rsf-server,使其在启动阶段检测到会话表并切换到持久化模式。
rsf-admin/src/ai/AiChatWidget.jsx 已增加“一键诊断”入口,入口位置包括:
点击后会向 /ai/diagnose/stream 发起流式请求,并自动带上:
sessionIdmodelCodesceneCode=system_diagnosersf-server/src/main/resources/application.yml
关键配置:
ai.system-promptai.diagnosis-system-promptai.default-model-codeai.max-context-messages模型接入配置仍然优先从 AI 参数管理读取,application.yml 主要承担默认兜底配置。
zy-wcs-master 的差距当前版本已经具备“可用”的诊断能力,但与 zy-wcs-master 相比仍有以下差距:
如果继续向 zy-wcs-master 靠近,建议按以下顺序演进:
rsf-ai-gateway 增加调用日志、失败切换、模型路由