个人周报--山大公历第15周
本周完成了会议内AI框架的核心交互功能,实现了历史对话管理的统一化和流式对话交互的优化。整体实现进度符合预期。
一、工作目标与背景
随着线上会议平台智能化需求的提升,单纯依靠会议记录或手动问答已无法高效满足参会人员随时查询、回顾与理解会议内容的需求。因此,本周项目的核心目标是设计并实现会议内AI助手框架,主要包括AI助手抽屉、AI实时对话功能(支持流式输出、历史对话回顾与管理、会议内外Session数据统一存储),以及用户与AI助手的交互头像设计。通过该框架,实现参会人员与智能助手更自然、更高效的互动,提升会议体验与效率。
二、主要完成任务
-
会议内AI助手抽屉实现
本周完成了会议内AI助手的抽屉组件开发,利用Vue的Transition和Slot特性设计了右侧滑入式抽屉交互效果,能够快速响应用户需求并提供沉浸式体验。抽屉支持自由打开关闭,采用透明遮罩与主题配色搭配,统一了整体视觉风格,且布局灵活,方便后续功能扩展。
-
AI对话框实时交互与流式输出
实现了AI助手对话框的开发,通过EventSource和流式数据更新机制,用户每次提问后,前端即时接收并展示逐步生成的AI回复,大幅提升用户体验。代码中使用了marked.js进行Markdown内容解析,辅以DOMPurify确保安全性,支持丰富文本展示与高亮代码片段。单次会话的问答历史存入数据库中,历史以history参数传入新一次问答,实现有历史回顾的AI问答系统。
同时,为避免网络波动与接口异常带来的用户体验问题,专门设计了错误捕获机制,包括超时重试和错误提示。所有对话数据实时同步更新至后端,确保数据的实时性和完整性。 -
Session数据统一管理与历史对话加载
实现了会议内会话(Session)的自动创建与更新,确保会议内外Session数据统一存储于数据库。通过完善的前后端接口(如新增会话、更新会话),每个对话及其历史均能够进行有效存储与加载,用户可随时回顾历史对话或切换会话场景。可以再会议外部对会话历史进行管理,可以修改、继续提问、删除等操作。
-
AI用户头像设计与交互优化
专门设计了AI与用户的头像交互展示,通过对称布局和不同风格的气泡区分,视觉效果明确清晰,提升用户交互体验与对话辨识度。所有头像与UI元素均经过精细的CSS样式调整,整体视觉美观统一。
三、遇到的问题与解决办法
流式对话接口响应超时问题
-
问题现象:
前端使用 EventSource 连接后端流式接口时,偶发超时或响应延迟,导致用户体验受损,界面呈现长时间等待或内容显示不完整。 -
解决办法:
在 EventSource 实例化过程中引入 AbortController,并设置合理的超时控制(如10秒)。一旦发生超时,则主动关闭连接并提示用户重试,确保用户界面的稳定性。
Markdown 内容渲染与安全性问题
-
问题现象:
最初直接使用 marked 库输出 Markdown 内容,存在安全隐患,可能导致 XSS 攻击或恶意脚本注入问题。 -
解决办法:
引入 DOMPurify 库作为 Markdown 解析后的二次清理手段,严格控制允许的 HTML 标签和属性,确保内容安全,同时保留丰富的文本渲染效果。
前后端数据同步异常
-
问题现象:
会话数据偶尔存在前端提交成功但数据库未同步更新情况,影响历史对话功能的正常使用。 -
解决办法:
逐层排查接口调用路径,确保前端 Session 数据结构与后端字段完全对应。后端接口添加错误捕获与日志记录,明确问题所在(如数据库字段未及时更新),修复后确认数据稳定同步。
四、下周工作计划
-
完成AI助手与会议内容联动,增强AI回答的深度和准确性;
-
完成会议语音的转录后存储,结合deepseek实现一键总结;
-
总结内容持久化存储
本周完成了会议内AI框架的核心交互功能,实现了历史对话管理的统一化和流式对话交互的优化。整体实现进度符合预期。
更多推荐


所有评论(0)