推理模式
这篇解决什么
深度思考内容写在哪一列、谁打开开关。读完能对上 ai_chat_message.reasoning_content,不要去建独立「推理」模块或菜单。
默认端口 48080。对话入口见 AI 聊天对话。
示意图:推理是聊天流的一段增量。没有 /ai/thinking Controller。
从哪改
没有 ai_thinking 表,也没有独立菜单。能力挂在对话 2759。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 流式发送 | POST /ai/chat/message/send-stream | ruoyi-office/yudao-module-ai/.../controller/admin/chat/AiChatMessageController.java |
| 落库列 | reasoning_content | AiChatMessageDO.reasoningContent |
| 组装选项 | 平台默认是否开启思考 | AiUtils.buildChatOptions |
| 抽取正文 | DeepSeek / 通义 metadata | AiUtils.getChatResponseReasoningContent |
| 前端块 | 「深度思考中」 | ruoyi-office-vben/apps/web-antd/src/views/ai/chat/index/modules/message/reasoning.vue |
发送 VO 只有 conversationId、content、useContext、useSearch、attachmentUrls,没有 thinking 开关。
通义(TongYi)在 DashScopeChatOptions.enableThinking(true) 默认打开。DeepSeek 等从 DeepSeekAssistantMessage.getReasoningContent() 取值。代码里有后续再做成用户可配的注释,当前不能从页面关。
字段
| 名称 | 说明 | 仓库路径 |
|---|---|---|
reasoningContent | 思考过程 | AiChatMessageDO、流式 Message |
content | 最终回答 | 同上 |
流结束后,assistant 行同时写 content 和 reasoningContent。管理端消息查询也能看到这一列。
不要单独建菜单
角色权限勾「AI 对话」即可。再加一张推理表会和现有落库重复。
不是所有平台都回思考
没实现抽取的平台,前端思考块是空的,对话仍可能成功。先换 DeepSeek / 通义验证展示。
按本仓库 DO 生成的 ER。推理不是第二张表。
配置与操作
没有独立菜单和 ai_thinking 表。走 AI 对话(2759,/ai/chat)发 /send-stream。发送 VO 没有 thinking 开关。通义默认 enableThinking(true),DeepSeek 从 DeepSeekAssistantMessage 取 reasoningContent,写入 ai_chat_message.reasoning_content。
没实现抽取的平台,思考块为空,对话仍可能成功。先用 DeepSeek / 通义验证展示。开启见 AI 功能设计。

本系统截图:AI 对话。推理写在消息的 reasoning_content,没有单独菜单。
