# AI 诊断(兽医、机构)— 功能需求 ## 1. 文档说明 | 项 | 说明 | | --- | --- | | 模块名称 | AI 诊断(兽医、机构)(牧业疫病诊疗服务) | | 目标 | 为**兽医账号**与**诊疗机构账号**提供与 **AI 助手** 的即时问答能力:管理本人历史 AI 会话、新建会话、发送多媒体提问并获取 AI 回复,用于养殖技巧、疾病诊疗、用药指导、设备操作等场景的**自助辅助**(**不替代**人工接诊与现场诊疗) | | 使用端 | **业务后台**(若依管理端):已登录的兽医或机构人员;**移动端**「AI 助手」入口(见 **§7.2**) | | 修订依据 | 同目录 `AI诊断(兽医、机构)功能需求-草稿.md`、界面原型(`Snipaste_2026-05-20_17-39-29.jpg` 后台、`Snipaste_2026-05-20_17-40-29.jpg` 移动端);并关联分析 **在线接诊(兽医)** 功能需求 v1.1 | | **文档版本** | **1.1**(产品确认见 **§5.3、§5.4**) | 本文档**仅描述功能需求与业务规则**,不涉及数据库表结构、接口路径、请求体字段命名、HTTP 报文、权限标识命名、大模型选型及技术栈。 --- ## 2. 术语与业务对象 ### 2.1 AI 诊断会话(一条会话) - 表示**当前登录用户(提问人)**与 **AI 助手** 之间的一条**持续性问答对话**容器。 - 会话由**会话 ID** 唯一标识;其下有多条**问答消息**按时间顺序组成对话记录。 - 同一提问人可拥有**多条** AI 会话(与「一人一兽医一条接诊会话」不同);通过**新增会话**主动创建。 - 业务上问诊类型为 **AI 问诊**,与兽医在线问诊、专家问诊等**严格区分**。 ### 2.2 问答消息(单条) - 会话内一次交互单元,类型包括:**文本、图片、视频、语音**。 - **提问侧**:当前登录用户(兽医或机构人员)发送的**提问**。 - **回复侧**:**AI 助手** 根据提问(及可识别的附件)生成的**回复**(非真人用户发送)。 - 界面按时间轴展示,区分「提问人侧」与「AI 助手侧」气泡;展示发送时间。 ### 2.3 提问人(当前登录人) - 使用本模块的**兽医**或**机构**账号本人。 - 会话列表、消息读写范围均**自动限定为当前登录用户作为提问人**的 AI 会话;**不得**查看或操作其他用户的 AI 历史。 - 兽医若同时承担「接诊兽医」角色,其在 **AI 诊断** 中仅作为**提问人**自问 AI,**不**以接诊人身份出现在本模块列表中。 ### 2.4 AI 助手(对话对象) - 产品侧固定展示的对话对象名称(如「**AI 助手**」),无对应真实用户账号在线交互。 - 回复内容由系统在用户提问后**自动生成**并写入对话记录;用户**不可**代替 AI 发送回复。 ### 2.5 问答标题 - 用于左侧历史列表主标题展示(原型「问答标题」)。 - **首条有效文本提问**发送成功后,取该文本去空白后的摘要作为问答标题(**最多 50 字**,超出截断)。 - **新增会话**后、首问前,列表展示占位标题「**新会话**」;首问成功后替换为上述摘要。 - 已有标题的会话,后续提问**不修改**标题(除非产品另定「重命名」,本期不做)。 ### 2.6 问诊类型(业务区分) | 类型 | 本模块 | 在线接诊(兽医) | | --- | --- | --- | | 标识 | **AI 问诊** | **兽医在线问诊** | | 参与方 | 提问人 ↔ AI 助手 | 问诊人(牧民)↔ 接诊兽医 | --- ## 3. 关联需求分析(AI 诊断 / 在线接诊) 「AI 诊断(兽医、机构)」与「在线接诊(兽医)」同属**即时消息类**界面(左历史列表 + 右对话区),但**服务对象、数据范围、会话生命周期与业务目的不同**,须在产品与数据层面**严格隔离**。 ### 3.1 双模块定位对照 | 维度 | AI 诊断(兽医、机构)(本文档) | 在线接诊(兽医) | | --- | --- | --- | | 所属业务 | 牧业疫病诊疗服务 | 牧业疫病诊疗服务 | | 使用角色 | **兽医账号 + 机构账号** | **仅兽医账号** | | 对话对象 | **AI 助手** | **真实问诊人(牧民/用户)** | | 业务目的 | 自助问答、知识检索、辅助分析 | 人工远程问诊、病情沟通、处置建议 | | 是否替代人工 | **否**(辅助工具) | **是**(兽医本人回复) | | 后台菜单 | 「AI 诊断(兽医、机构)」独立菜单 | 「在线接诊(兽医)」独立菜单 | | 会话创建 | 后台 **「新增会话」**;移动端 **「+」/快捷入口** | 后台**无**新建;由移动端牧民发起 | | 列表主信息 | **问答标题** + 最后问答摘要 | **问诊人姓名** + 最后聊天摘要 | | 右侧标题 | **AI 助手** | **问诊人姓名** | | 列表筛选 | **仅**会话内容(模糊) | 问诊人 + 会话内容 | | 会话条数 | 同一用户可**多条**并行 AI 会话 | 同一「问诊人+兽医」原则上**一条**持续会话 | | 问诊类型 | **AI 问诊** | **兽医在线问诊** | ### 3.2 界面形态对照(后台) ```mermaid flowchart TB subgraph AI诊断["AI 诊断(兽医、机构)"] A1[筛选: 会话内容] A2[左: 历史会话列表] A3[右: 与 AI 助手对话] A4[新增会话] end subgraph 兽医接诊["在线接诊(兽医)"] V1[筛选: 问诊人 + 会话内容] V2[左: 接诊会话列表] V3[右: 与问诊人聊天] end ``` 两模块**菜单独立**、**列表数据互不可见**、**不得共用同一会话 ID 空间**。 ### 3.3 与移动端协同对照 | 端 | AI 诊断相关 | 在线接诊相关 | | --- | --- | --- | | 移动端-AI Tab / AI 助手 | 欢迎语;快捷入口:**养殖技巧、疾病诊疗、用药指导、设备操作**;历史 AI 会话;**新建会话**;文本/语音/图片提问 | — | | 移动端-在线问诊 | — | 选兽医 → 资料 → 聊天;消息 Tab 展示与各兽医的会话 | | 业务后台 | 兽医、机构均可使用本模块 | **仅兽医**使用接诊模块 | 牧民在「在线问诊」中的聊天**不会**出现在 AI 诊断列表;兽医在 AI 中的提问**不会**出现在「在线接诊」列表。 ### 3.4 与「我的预约」的关系 | 关系 | 说明 | | --- | --- | | **职责独立** | 「我的预约」管理预约单状态;AI 诊断管理 AI 问答,互不替代 | | **本期不绑定** | 使用 AI 诊断**不校验**是否已有预约、是否已确认接诊 | | **状态独立** | AI 问答**不自动**变更预约单状态 | ### 3.5 机构与兽医的角色说明 | 角色 | AI 诊断 | 在线接诊(兽医) | | --- | --- | --- | | **兽医** | ✓ 可向 AI 提问;仅能看到**本人** AI 历史 | ✓ 接诊牧民会话;**不能**用 AI 模块代牧民问诊 | | **机构** | ✓ 可向 AI 提问;仅能看到**本人** AI 历史 | ✗ **无**接诊菜单(本期) | | **牧民/平台用户** | **移动端**「AI 助手」可提问(登录后仅本人 AI 历史);**无**后台 AI 诊断菜单 | 移动端向兽医发起在线问诊 | **本期范围(已确认)**:**后台** AI 诊断菜单面向 **兽医(角色 100)**、**机构(角色 102 等,与平台配置一致)** 等已授权账号,**不校验**是否在「畜牧医疗资源管理」绑定兽医/机构资源 ID;**移动端** AI 助手对已登录的牧民/用户**开放**,数据仍为「提问人 = 本人」的 AI 问诊会话,与后台机构/兽医 AI 会话**同一业务类型、分端展示**。 机构人员若需与牧民实时沟通,属其他业务(本期不在本文档范围)。 ### 3.6 数据与权限隔离(业务层约定) - AI 会话:**提问人** = 当前登录用户;**问诊类型** = AI 问诊;**无**接诊兽医、无牧民问诊人字段语义。 - 接诊会话:**接诊人** = 当前兽医;**问诊类型** = 兽医在线问诊。 - 同一兽医用户可能**同时**存在两类会话:作为接诊人处理牧民消息、作为提问人向 AI 提问;**分列表、分菜单、不得合并展示**。 ### 3.7 本期明确不做(关联边界) | 项 | 说明 | | --- | --- | | AI 结果一键转入接诊聊天 | 可单独立项;本期不做 | | AI 自动代替兽医回复牧民 | 禁止;牧民消息仅由兽医本人在线接诊中回复 | | 在 AI 模块中查看/回复牧民会话 | 禁止;须使用在线接诊 | --- ## 4. 会话与消息规则 ### 4.1 会话范围与时间窗 | 项 | 规则 | | --- | --- | | 数据范围 | **仅**当前登录用户作为**提问人**的 AI 问诊会话 | | 默认列表时间窗 | 左侧列表**默认仅展示**「最后一条消息时间」落在**最近 3 个月**内的会话(**§5.4 #1**:服务器时区 `Asia/Shanghai`,**自然日**,今日 0 点往前推 **3 个自然月**,含今日;与在线接诊一致) | | 超窗会话检索 | 最后消息早于 3 个月的会话**默认不出现**;用户填写**会话内容**并点击**搜索**后,**可检索并打开**命中会话(**可搜但不默认列出**) | | 排序 | 按**最后一条消息时间倒序**(最近活跃在前) | | 多会话 | 允许同一用户存在**多条** AI 会话;**新增会话**创建新容器,不合并进历史会话 | ### 4.1.1 会话隐藏(提问人侧) | 项 | 规则 | | --- | --- | | 提问人隐藏 | 提问人可在**移动端**或**管理端**对本人 AI 会话执行**隐藏**;隐藏后在两端列表**均不再展示**,**不可**查看或继续提问(数据保留,非物理删除) | | 管理端接口 | `POST /diseaseTreatment/onlineConsult/ai/session/{id}/hide`(权限 `diseaseTreatment:aiOnlineConsult:remove`);**本期管理端页面可不接按钮**(不改前端代码),接口供联调或后续迭代 | | 他人不可见 | 仅影响**提问人本人**;不涉及在线接诊及其他用户 | | 恢复 | 本期**不提供**已删会话恢复 | ### 4.2 消息类型与展示 | 类型 | 提问人 | AI 回复 | 展示要求 | | --- | --- | --- | --- | | **文本** | ✓ | ✓(生成) | 气泡内全文;过长可换行 | | **图片** | ✓(上传) | ✓(**§5.4 #8**:结合用户文字与图片由 AI 生成文本回复;识别失败时提示补充文字描述) | 缩略图;可点击查看大图 | | **视频** | ✓(上传文件) | ✓(**§5.4 #8**:本期**不解析**视频画面;AI 固定类文字回复,如「已收到视频,请补充文字描述症状」) | 展示视频占位/封面 | | **语音** | ✓(上传文件) | ✓(**§5.4 #8**:本期**不做**语音转写;AI 固定类文字回复,如「已收到语音,请补充文字描述」) | 展示语音条 | **视频、语音(本期约定,与在线接诊对齐)** - **视频**、**语音**均采用**上传文件**方式发送,**不提供**实时音视频通话(RTC)、**不提供**后台内嵌录音/录像控件。 - **图片**、**文本**规则不变。 ### 4.3 AI 回复规则 | 项 | 规则 | | --- | --- | | 触发时机 | 提问人**发送成功**后,系统向 AI 服务发起处理;**AI 回复**作为独立消息写入同一会话 | | 等待态 | 从提问发送到 AI 回复展示前,界面须有**明确等待提示**(如「AI 正在思考…」),避免用户误以为无响应 | | 失败处理 | AI 调用失败、**超时(§5.4 #9:单次等待上限 60 秒)**须提示原因,**不**展示为成功回复;允许用户对**同一会话再次提问**或重新发送(本期不做「仅重试 AI」独立按钮时,以再次发送同一内容为准) | | 展示方式 | **§5.4 #10**:本期 **非流式**;AI 回复**整段生成并落库后**一次性展示,落库至界面可见 **≤ 1 秒** | | 回复身份 | 回复气泡展示为 **AI 助手**;**不可**由用户编辑或伪造 AI 消息 | | 内容边界 | AI 回复为**辅助参考**;须在合适位置提示「**不能替代专业兽医诊断与现场处置**」(移动端原型场景尤其需要) | ### 4.4 消息同步与时效 | 项 | 规则 | | --- | --- | | 提问可见 | 提问人发送成功后**立即**在对话区展示本人提问;若提交失败**不得**保留假成功气泡 | | AI 回复可见 | AI 回复落库后 **≤ 1 秒** 内出现在对话区(**§5.3 #6**);并更新左侧列表摘要与时间 | | 实现取向 | 宜采用推送/长连接;纯手动刷新**不满足**需求 | | 展示 | 对话区按**日期分组**及**时刻**展示,与在线接诊、移动端 **AI 助手** 保持一致 | --- ## 5. 功能范围 ### 5.1 本期实现 | 能力 | 说明 | | --- | --- | | 即时对话布局 | 左「历史会话」+ 右与 **AI 助手** 对话;**§6** | | 历史会话列表 | 会话内容筛选、默认 3 个月、排序;**§6.1** | | **新增会话** | 创建空白 AI 会话并进入对话区;**§6.1** | | 查看会话消息 | 选中会话加载全部历史问答;**§6.2** | | 提问发送 | 文本、图片;视频/语音为**文件上传**;**§6.3** | | AI 自动回复 | 提问后生成 AI 文本回复(及能力范围内的多模态处理策略);**§4.3** | | 近实时更新 | 新提问与 AI 回复后列表摘要、时间更新;**§4.4** | | 超窗搜索 | 默认 3 个月;**搜索**可查更早会话;**§6.1** | | 工具栏 | **搜索**、**重置**、**新增会话** | | 角色范围 | **后台**:具备 `diseaseTreatment:aiOnlineConsult:*` 权限的兽医、机构等账号;**移动端**:已登录用户(含牧民) | ### 5.2 本期不实现 | 项 | 说明 | | --- | --- | | 代替兽医在线接诊 | 见 **§3.7** | | 与预约单联动 | 见 **§3.4** | | 会话转接、多人共用一个 AI 会话 | 未要求 | | 消息撤回、已读回执、输入中状态 | 除非平台统一 IM 规范另立,本期不做 | | 导出对话、敏感词审核后台配置 | 未要求 | | RTC、后台内嵌录播 | 不支持 | | 用户手动编辑 AI 历史回复 | 不支持 | | 机构/牧民在后台代他人向 AI 提问 | 不支持;仅当前登录人 | | 专家问诊 AI 子模块 | 专家另模块(若有) | ### 5.3 本期产品确认项(已确认) | # | 确认项 | 本期约定 | | --- | --- | --- | | 1 | 列表时间窗 | 默认**最近 3 个月**(**§5.4 #1**);**搜索**可命中更早会话 | | 2 | 搜索交互 | **仅点击「搜索」** 触发超窗检索;**「重置」** 恢复默认 3 个月;筛选项有值但未点搜索时**仍仅 3 个月** | | 3 | 多媒体发送 | 视频/语音**仅上传文件**;不做 RTC、不做内嵌录播 | | 4 | 与预约/接诊 | **不绑定**预约;**不打通**在线接诊会话 | | 5 | 会话隐藏 | **移动端、管理端**均可隐藏本人会话;隐藏后两端列表**均不展示**;管理端页面按钮本期可选 | | 6 | AI 时效 | 提问立即展示;AI 回复落库后 **≤ 1 秒** 可见(与在线接诊一并验收) | | 7 | 使用范围 | **后台**兽医+机构(菜单/权限控制,**不校验**医疗资源绑定);**移动端 AI 助手**对已登录用户开放 | | 8 | 问答标题 | 首问前「新会话」;首条有效文本提问后生成标题(**最多 50 字**) | ### 5.4 业务规则补充(v1.1 已确认) | # | 约定项 | 本期实现 | | --- | --- | --- | | 1 | **3 个月边界** | 时区 `Asia/Shanghai`;`threeMonthsAgo` = 今日 **00:00:00** 往前 **3 个自然月**(与在线接诊 v1.1 一致) | | 2 | **列表摘要** | 最后一条消息:`文本` 最多 50 字;媒体为 `[图片]` / `[视频]` / `[语音]`(与在线接诊一致) | | 3 | **搜索条件为空** | 点击搜索时会话内容为空 → 提示「请输入筛选条件」(与在线接诊搜索逻辑一致) | | 4 | **快捷入口** | 移动端点击「养殖技巧/疾病诊疗/用药指导/设备操作」→ **新建一条 AI 会话** → 输入区**预填**该分类引导问题模板(可编辑)→ 用户发送后走正常 AI 回复流程;**不**并入当前已打开的历史会话 | | 5 | **新增会话(后台)** | 点击「新增会话」→ 新建空会话并选中;首问前列表标题为「新会话」 | | 6 | **免责声明** | 对话区或首次进入 AI 模块时展示:AI 内容仅供参考,**不能替代**专业兽医诊断与现场处置;「疾病诊疗」「用药指导」类须强化提示 | | 7 | **医疗资源绑定** | **不校验**当前登录用户是否绑定 `biz_medical_resource`(兽医/机构资源 ID);与在线接诊、我的预约等模块隔离 | | 8 | **多媒体 AI 能力** | **图片**:AI 结合图文回复;失败则提示补文字。**视频/语音**:本期不解析、不转写,AI 回复**统一引导文案**请用户补充文字描述 | | 9 | **AI 超时** | 自提问提交至 AI 服务,**60 秒**内无有效回复视为超时,提示失败,用户可再次发送提问 | | 10 | **流式输出** | 本期**不做**逐字流式;整段回复生成完毕后一次性展示 | | 11 | **管理端隐藏** | 管理端提供隐藏会话接口(`remove` 权限);与 **§5.3 #5**、**§4.1.1** 一致 | | 12 | **牧民与机构数据** | 牧民移动端 AI 会话 `问诊类型 = AI`、`提问人 = 牧民本人`;与机构/兽医后台 AI 会话**业务类型相同**,按提问人隔离,**不得**与在线接诊混列 | --- ## 6. 详细功能需求 ### 6.1 历史会话列表(左侧) | 项 | 规则 | | --- | --- | | 标题 | 「历史会话」(与原型一致) | | 数据范围 | **仅**当前登录用户作为提问人的 **AI 问诊** 会话;**排除**本人已隐藏会话 | | 时间范围 | **默认**最近 3 个月内有最后消息的会话;**搜索**时可查更早(**§4.1**、**§5.3**) | **筛选条件** | 筛选项 | 规则 | | --- | --- | | 会话内容 | 选填;对**问答标题**、列表摘要、会话内**文本提问/回复**等内容 **模糊**匹配;**搜索时**不受 3 个月限制 | | 工具栏 | **搜索**、**重置**、**新增会话** | | 搜索触发 | **仅**点击「搜索」传超窗检索;仅改筛选项不点搜索 → **仍仅 3 个月**(**§5.3 #2**) | | 默认进入 | 未搜索或已重置时,**仅** 3 个月会话 | **列表项展示(与原型一致)** | 元素 | 说明 | | --- | --- | | 图标/头像 | AI 或会话占位图(与视觉规范一致) | | 问答标题 | 会话主题,如「牛不吃草怎么办」类摘要 | | 最后一条内容 | 最新一条**提问或 AI 回复**的摘要(文本截断;非文本用「[图片]」「[语音]」「[视频]」等) | | 日期 | 以**最后消息日期**展示,如「M月D日」 | | 选中态 | 选中后高亮,右侧加载该会话 | **新增会话** | 项 | 规则 | | --- | --- | | 入口 | 工具栏 **「新增会话」** | | 行为 | 创建一条新的空 AI 会话并选中;右侧展示 **AI 助手** 与空对话区(或简短引导语) | | 标题 | 在用户发送**首条有效文本提问**前,列表可用「新会话」等占位标题;首问后更新为问答标题 | **空列表** - 无历史时提示(如「暂无 AI 诊断会话」);用户可通过 **新增会话** 开始。 --- ### 6.2 会话详情与对话记录(右侧) | 项 | 规则 | | --- | --- | | 入口 | 点击左侧某条历史会话,或 **新增会话** 后 | | 顶部标题 | 固定展示 **「AI 助手」**(与原型一致) | | 对话区 | 展示该会话**全部**历史问答(不受列表 3 个月限制;量大时分页/滚动加载) | | 气泡布局 | 提问人在**一侧**(如右),AI 助手在**另一侧**(如左) | | 未选会话 | 右侧空状态(如「请选择历史会话或新增会话」) | **只读约束** - 历史问答**不可编辑**;提问人**不可删除单条消息**(除非平台统一规范另定,本期不做单条撤回)。 --- ### 6.3 发送提问(右侧输入区) | 项 | 规则 | | --- | --- | | 文本输入 | 多行输入框;用于描述症状、养殖问题等 | | 图片 | 选择本地图片上传并发送(如病畜、化验单照片) | | 语音/视频 | 选择本地**文件**上传发送(**非**内嵌录音/录像) | | 发送按钮 | 「发送」;文本须非空;图片/音视频须已选文件 | | 发送成功 | 提问进入对话区;触发 **§4.3** AI 处理;更新左侧摘要与时间 | | 发送身份 | 发送方均为**当前登录用户**;接收方为 **AI 助手**(逻辑上) | **失败处理** - 发送失败须提示原因;**不**虚假展示为已成功;AI 失败与发送失败区分提示。 --- ### 6.4 与在线接诊的互斥说明(产品层) | 场景 | AI 诊断(本文档) | 在线接诊(兽医) | | --- | --- | --- | | 兽医查 AI 养殖/疾病知识 | ✓ 使用本模块 | ✗ | | 兽医回复牧民在线消息 | ✗ | ✓ 使用在线接诊 | | 机构人员自助问 AI | ✓ 使用本模块 | ✗ 无菜单 | | 牧民问 AI | 移动端 AI 助手(**本期开放**) | 牧民找兽医用在线问诊 | --- ## 7. 业务流程 ### 7.1 后台使用流程(兽医 / 机构) ```mermaid flowchart TD A[用户登录后台] --> B{角色?} B -->|兽医或机构| C[进入 AI 诊断] B -->|其他| X[无菜单或无权] C --> D[可选: 会话内容筛选] D --> E[搜索 / 重置 / 新增会话] E --> F[左侧历史会话列表] F --> G{选择或新建?} G -->|选中历史| H[右侧: AI 助手 + 历史问答] G -->|新增会话| H2[右侧: 空会话或引导] H --> I[输入提问: 文本/图片/音视频文件] H2 --> I I --> J[发送] J --> K[展示提问 + 等待 AI] K --> L{AI 成功?} L -->|是| M[展示 AI 回复 + 更新列表摘要] L -->|否| N[提示失败 + 可重试] M --> I N --> I ``` ### 7.2 移动端 AI 助手流程(关联) ```mermaid flowchart TD M0[进入 AI 助手] --> M1[展示欢迎语] M1 --> M2{用户操作} M2 -->|点快捷入口| M3[养殖技巧/疾病诊疗/用药指导/设备操作] M3 --> M4[进入对话: 可带预设引导或新建会话] M2 -->|选历史会话| M5[继续该会话] M2 -->|新建会话| M6[创建新 AI 会话] M4 --> M7[输入/语音/图片 提问] M5 --> M7 M6 --> M7 M7 --> M8[发送] M8 --> M9[等待并展示 AI 回复] ``` **快捷入口说明(业务层)** | 入口 | 用途 | | --- | --- | | 养殖技巧 | 饲养管理、环境、繁育等一般性问题 | | 疾病诊疗 | 症状、疫病防控、处置建议类问题(**核心**场景,须突出免责声明) | | 用药指导 | 用药原则、剂量参考类(须提示遵医嘱、当地法规) | | 设备操作 | 养殖设备使用与故障排查 | **快捷入口(已确认,§5.4 #4)**:每次点击四类入口之一 → **新建一条 AI 会话** → 输入区预填对应分类**引导问题模板**(可编辑)→ 用户发送后触发 AI 回复;**不**在当前已打开的历史会话中插入。 ### 7.3 与在线接诊的并行关系 ```mermaid flowchart LR subgraph 用户侧 U1[机构/兽医问 AI] U2[牧民问兽医] end subgraph 系统能力 AI[AI 诊断] VET[在线接诊] end U1 --> AI U2 --> VET AI -.->|数据隔离| VET ``` ### 7.4 提问到 AI 回复(时序) ```mermaid sequenceDiagram participant 用户 participant 界面 participant 系统 participant AI服务 用户->>界面: 输入并发送提问 界面->>系统: 提交提问 系统->>界面: 提问展示成功 系统->>界面: 显示等待态 系统->>AI服务: 请求生成回复 alt 成功 AI服务-->>系统: 回复内容 系统->>系统: 保存 AI 回复消息 系统-->>界面: 近实时展示回复(≤1秒) 系统-->>界面: 更新历史列表摘要 else 失败 系统-->>界面: 错误提示, 可重试 end ``` --- ## 8. 业务数据要素(逻辑层,非表结构) 实施时需持久化以下**业务信息**(字段命名与存储方式由技术方案定义): | 逻辑对象 | 要点 | | --- | --- | | 会话 | 会话 ID;**提问人**标识、姓名;**问诊类型 = AI 问诊**;**问答标题**;最后消息时间;最后消息摘要 | | 提问消息 | 所属会话;发送方为**提问人**;类型;内容或媒体引用;发送时间 | | AI 回复消息 | 所属会话;发送方为 **AI 助手**;类型(多为文本);内容;发送时间 | **与在线接诊的差异:** 在线接诊会话含**接诊兽医**与**问诊人(牧民)**双方真人标识;AI 会话**无接诊人**,且同一提问人可有多条 AI 会话。 --- ## 9. 提示约定(示例) | 场景 | 示例文案 | | --- | --- | | 搜索无结果 | 未找到匹配的 AI 诊断会话 | | 搜索条件为空 | 请输入筛选条件 | | AI 超时 | AI 回复超时,请稍后重试 | | 默认列表 | 仅展示最近 3 个月会话;更早记录请使用搜索 | | 空列表 | 暂无 AI 诊断会话 | | 未选会话 | 请选择历史会话或新增会话 | | 发送失败 | 发送失败,请重试 | | 文本为空 | 请输入消息内容 | | 文件限制 | 图片/视频/语音不符合要求(大小、格式以实现为准) | | AI 处理中 | AI 正在思考,请稍候… | | AI 失败 | AI 回复失败,请稍后重试 | | 无权限 | 无权查看该会话 | | 非本人会话 | 无权查看该会话 / 会话不存在 | | 免责声明 | 以上内容由 AI 生成,仅供参考,不能替代专业兽医诊断与现场处置 | --- ## 10. 非功能建议(业务侧) - 会话与消息查询须限定**当前提问人**,防止越权查看他人 AI 记录。 - **AI 回复展示**:落库后 **≤ 1 秒** 可见(**§5.3**);与在线接诊一并验收。 - 上传文件须符合平台**大小与格式**规范。 - 列表、对话日期时间格式与**在线接诊**、移动端 **AI 助手** 一致。 - 界面支持 **i18n**(汉语 + 藏文)。 - 对话区消息量大时宜**分页/滚动加载**;左侧列表仍按最后消息时间排序。 - AI 输出宜考虑**内容安全**与**行业合规**(兽药、疫病报告等),与平台统一策略一致。 - 关键操作(查看会话、发送提问)可按平台要求留痕审计。 --- ## 11. 修订记录 | 版本 | 说明 | | --- | --- | | 1.0 | 依据草稿与原型整理;关联在线接诊;剔除技术表述 | | 1.1 | 产品确认:§5.3 八项已确认 + §5.4 十二条补充;钉死 3 个月自然日、搜索/删除/快捷入口、多媒体 AI 能力、超时 60s、非流式、后台/移动端范围、问答标题与未绑定提示 |