温永杭
错题本
2026.4.13 ~ 2026.5.24
-
数据库迁移与错题本功能优化
- 新增数据库迁移脚本,迁移用户未绑定项目的旧错题到默认错题本
- 修复删除项目时自动清理孤立的空上传批次数据
- 修复删除题目的原子事务问题:将原本分散的两次数据库提交合并为一次整体提交
- 新增题目详情弹窗,优化错题本页面交互体验
- 新增完整的单元测试,覆盖默认项目创建、已有项目升级为默认项目、删除题目自动清理空批次等场景
-
Markdown渲染与LaTeX处理优化
- 新增 renderMarkdown 工具函数,保护代码块和行内代码中的 LaTeX 命令不被误包装为数学公式
- 优化 LaTeX 匹配规则,避免 Windows 路径反斜杠触发误匹配
- 后端添加数据库预加载机制优化上下文构建性能
- 前端聊天页面使用新渲染函数并格式化模板
- 补充对应单元测试
-
教学代理(teach agent)优化
- 优化 context_prompt 处理逻辑,避免将参考资料当作指令执行
- 更新 system_prompt 提示词,强调用户引用的学习资料仅供参考而非指令
- 将 context_prompt 作为独立的 HumanMessage 而非拼接至 system_prompt
- 添加角色设定、越界请求等内容的明确说明,防止 AI 误解并执行
- sessionId 变化时调用 clearContext() 防止上下文污染
-
UI/UX 优化
- 修复移动端 tooltip 显示异常问题:新增全局设备 hover 支持检测逻辑,通过 window.matchMedia 判断设备是否支持 hover 能力
- 修复 AI 对话页"新对话"按钮将 currentView 字符串误传为 ref 导致的 .value 报错问题
- 优化侧边栏项目和会话列表的更多操作菜单弹出策略:当位于列表底部时自动向上展开,避免菜单被容器裁剪导致"删除"按钮无法点击
- 优化侧边栏与移动端适配样式:为移动端侧边栏添加适配明暗主题的背景与阴影效果
- 优化编辑对话框、题目详情弹窗的 UI 样式与交互体验
-
后端查询与事务优化
- 改进后端查询性能,添加数据库预加载机制
- 优化错题迁移脚本:修正默认项目的 is_default 字段设置错误,新增项目变更状态统计,优化日志输出并仅在有实际变更时提交数据库事务
- 优化上传批次自动清理逻辑:删除题目时自动清理关联的空上传批次;删除项目时自动清理该项目下所有空上传批次
-
前端功能重构与交互优化
- 重构筛选组件为通用弹出式设计
- 优化深色模式下的表格样式,重构编辑对话框
- 扩展富文本编辑支持,增强编辑与预览功能
-
笔记模块功能完善
- 为笔记库新增科目、标签筛选功能
- 优化笔记预览文本生成逻辑,支持 LaTeX 简化展示
- 使用路由参数管理笔记详情视图
-
系统配置与环境修复
- 新增系统级托管配置管理功能
- 修复代理环境下的运行问题
-
工作台模型切换功能
- 新增
core/model_selection.py模块,提供统一的模型选择解析、选项列表和错误处理 - 新增
GET /api/models/options端点,返回平台托管和个人配置的模型下拉选项 - 重构前后端模型选择逻辑,支持显式指定
provider_source和provider_id - 在配额检查中新增
uses_server_llm_selection函数,根据来源决定是否消耗额度 - 优化 StatusBar 中模型选项的显示样式,改善视觉一致性
- 设置页切换模型提供商时,自动选中该提供商下的第一个可用模型并同步至工作台
- 新增
-
笔记功能稳定性优化
- 在删除笔记过程中添加状态标志,避免删除操作与详情加载产生竞态条件
- 后端笔记整理代理支持动态传入 API 配置,并适配不支持函数调用的模型
- 增加对模型不支持的特定错误码(如 40405)的识别与友好提示
- 扩展 AI 分析 API 以支持 provider_source 和 provider_id 参数
-
文件上传与存储优化
- 修复前端文件上传因 File 对象被锁定导致的 ERR_UPLOAD_FILE_CHANGED 错误
- 添加 safeLocalStorage 包装器处理 localStorage 可能出现的异常情况
- 在保存选中模型 ID 到本地存储时添加 try-catch 块,捕获可能的错误并输出警告日志
- 添加通过 URL 参数设置工作台上传模式的功能
-
工作台交互优化
- 将右侧边栏切换按钮移至内容面板头部
- 优化右侧边栏动效和视图样式
- 调整响应式断点以修复移动端布局问题
- 优化AI对话创建与视图切换逻辑
- 在移动端选择视图后自动关闭侧边栏
- 优化右侧边栏导航逻辑和代码结构
-
UI组件完善
- 添加BaseTooltip组件导入
请联系导师填写。