MingNian
|
d102205b18
|
feat: 蓝牙血压计BLE数据同步 + 设备管理页重构 + 健康记录滑动删除 + 医生端合并设计文档
- BLE: 修复Omron设备Indication模式连接(先订阅后配CCCD + forceIndications) + 直连重连
- BLE: 设备断连实时检测(connectionState流→Provider→UI)
- 修复: 血压数据上报后端枚举不匹配(Device→DeviceSync)导致500
- 新增: DELETE /api/health-records/{id} 后端接口
- 设备管理页: 白色主题重设计 + 直连重连 + 实时状态 + Toast通知
- 设备扫描页: 白色主题 + 扫描动画居中 + 已连接等待页面
- 健康记录: 左滑删除(Dismissible) + 同时清理_allRecords和_filtered
- 导航: 修复自定义路由栈下Navigator.pop黑屏bug
- 文档: 医生端合并App完整设计文档(已确认版)
|
2026-06-11 22:11:02 +08:00 |
|
MingNian
|
f6dd14be3b
|
feat: 全面UI改造 — 报告/饮食/运动/用药/侧边栏/对话流/胶囊
- 报告模块:重写AI解读页,统一白色卡片+三栏布局(指标→解读→医生审核);加删除功能+后端删接口;VLM自动识别报告类型生成中文标题;去五颜六色
- 饮食分析:全面重设计,暖橙主题配色,图片自适应,餐次emoji选择器,去紫色
- 运动确认卡片:修复duration_minutes JSON类型转换,支持中文数字识别(三十分钟/半小时→30);主区域只显示运动名,字段行改为横向排列
- 流式输出:简化为最基础逐字追加,去buffer+Timer+淡入动画
- 欢迎卡片:每智能体独立渐变色(青/橙/蓝/紫/绿/粉),加卡片入场滑入+淡入动画(600ms)
- 确认卡片:头部去紫色背景改浅灰白,字段行去图标改纯信息横排,编辑框去双重边框
- 用药管理:胶囊改TabBar,添加按钮改右下FAB;打卡按钮改对号圆圈形式;药丸图标白底
- 侧边栏:加VIP服务/保险栏+图标,标题字体放大;服务包去查看更多+去VIP金色标签
- 胶囊:首页智能体胶囊白底深色字; side胶囊加阴影
- 对话流:reverse=false,今日健康出现在顶部; 对话页input bar匹配主页面样式
- 其他:个人资料去紫色+去多余入口;设置页白底图标;蓝牙页加返回按钮;报告管理改名
- 后端:加DELETE /api/reports/{id}; 修复manage_exercise数据类型转换;AI提示优化中文数字
|
2026-06-10 23:46:45 +08:00 |
|
MingNian
|
63d2092c24
|
feat: UI全面改造 + 后端多项修复
【后端修复】
- 删除diet/consultation agent假工具声明
- 修复DayOfWeek实体注释
- 修复Vision API content序列化
- cleanup_service级联删除修复
- 用药提醒时区偏差修复
- 统一DateTime处理(UtcNow+8)
- 新增UTC DateTime JSON转换器
【前端UI重构】
- 配色体系全面更新(#8B5CF6淡紫+#F0ECFF背景)
- 登录页重设计
- 首页重设计(透明顶栏、渐变背景、胶囊输入区)
- 聊天卡片加白蓝边框、渐变标题
- 侧边栏重构(渐变背景、合并顶部、删除底部设置)
- 确认卡片可编辑字段恢复
- 所有子页面加返回按钮
- catch异常加日志
- 删除后refresh provider缓存
|
2026-06-10 18:27:38 +08:00 |
|
MingNian
|
16d1d3d305
|
feat: 用药打卡全面重构 - 按次追踪 + 独立打卡页 + 任务区汇总
- 后端用药提醒改为按次粒度(每个服药时间独立判断)
- 新增 per-dose 打卡/取消打卡 API
- 新增 MedicationCheckInPage 独立打卡页(每药每时间单独toggle)
- 用药列表删底部弹窗(编辑/停药),点药品直接进该药打卡页
- 任务区用药汇总为一行(过期待服已服)
- 支持隔天(EveryOtherDay)/每周频率判断
- 删历史对话功能(ConversationItem + conversationListProvider + UI)
|
2026-06-08 16:21:13 +08:00 |
|
MingNian
|
fc7150ad60
|
feat: 统一智能体路由 + 删除 onboarding
- 新增 Unified 智能体(合并 health/diet/medication/exercise/default 全部工具)
- AI 自动判断意图并调用对应工具,前端胶囊自动切换
- 删除 onboarding 智能体及所有建档引导 UI
- 前端始终发 unified 类型,通过 tool_result 事件同步胶囊状态
|
2026-06-08 14:55:38 +08:00 |
|
MingNian
|
287eab80a9
|
fix: 全面修复 - 实时通讯、报告AI流程、健康概览、用药运动提醒
- SignalR Hub消息持久化+防重复+跨端广播
- 报告VLM+LLM真实AI流程(验证→提取→解读)
- 医生审核页重构(严重程度/建议模板/综合评语)
- 健康概览五合一趋势图(fl_chart+指标切换)
- 用药提醒时区修复+跨午夜+过期提醒
- 运动打卡DayOfWeek映射修复+计划覆盖查询
- 体重与其他四指标同级(Abnormal检查/确认卡牌)
- AI Agent支持多种类多时段批量录入
- 删除硬编码假数据(张三/假医生/假AI解读)
- 随访/报告审核数据链路全部打通
|
2026-06-07 23:04:23 +08:00 |
|
MingNian
|
d0d7d8428d
|
feat: 医生端Web后台 + SignalR实时问诊
- 新增 doctor_web/ React前端 (dashboard/患者/问诊/报告/随访)
- 后端新增 doctor_endpoints (14个医生API) + ConsultationHub (SignalR)
- Flutter端 SignalR 替换轮询实现实时聊天
|
2026-06-05 17:46:07 +08:00 |
|
MingNian
|
20a5ce1199
|
fix: 数据确认面板修复 - 显示实际数值+确认关闭+侧边栏刷新+清理旧数据
- Handler返回value/unit/isAbnormal到metadata
- DataConfirmCard显示实际数值和单位
- 确认按钮关闭卡片+刷新健康概览
- 健康Agent欢迎卡简化为'查看趋势'
- 清空87条旧健康测试数据
|
2026-06-04 21:57:02 +08:00 |
|
MingNian
|
cd65bc4d65
|
fix: 用药模块重做 + 运动计划不限7天 + 打卡可切换 + 删除修复
- 用药: 重写列表页(标签筛选+详情弹窗+打卡切换+滑动删除)
- 用药: 重写编辑页(选择器替代输入+同列布局+频率改为每天几次)
- 用药: 加Notes字段+DELETE端点+修复重复端点
- 运动: 不限7天, startDate+索引推算当天
- 打卡: 药/运动打卡可切换(点✓取消)
- 删除: 修复滑动删除热区, 一次点击即删除
- 侧边栏: 一键清理历史对话
- 饮食/运动/用药/问诊 API路径加/api/前缀
- 通知时机修正: 新建计划不再提前弹窗
|
2026-06-04 21:15:23 +08:00 |
|
MingNian
|
b944a31983
|
fix: VLM识别修复 + 饮食CRUD + 侧边栏美化 + UI优化
- VLM: ChatMessage.Content string→object, 修复视觉content双重序列化
- 饮食: diet/medication端点 record→手动JSON解析, 修复循环引用
- 饮食记录: 左滑删除 + 去评分 + AI饮食评语(DeepSeek)
- 侧边栏: 功能区统一Row+Expanded, 服务包compact模式
- 历史对话: 点击加载历史消息
- 登录页: 居中布局, 去底部空白
- UI: 主色加深#6C5CE7, maxWidth:1024防图片超大
|
2026-06-04 16:27:03 +08:00 |
|
MingNian
|
c44917b8e9
|
fix: VLM识别修复 - 去System Message + 低温 + 精简提示词
|
2026-06-04 15:02:12 +08:00 |
|
MingNian
|
0e0e8ce72b
|
feat: 问诊对话+建档引导+报告+日历+趋势页重写+视觉统一
- 问诊对话页: 新建consultation_provider, 完整AI分身聊天UI
- 首次建档引导: OnboardingPrompt+ManageArchiveTool+前端卡片
- 报告模块: POST端点 + report_agent_handler接VLM
- 健康日历: GET /api/calendar端点 + 前端接API
- 趋势页重写: 删除Mock数据 + 真实API + 手动录入
- 饮食保存: submit按钮接后端API
- 侧边栏: 健康概览横排 + 统一紫色配色
- 运动计划: 修复JSON反序列化(record→手动解析)
- VLM: prompt优化 + 模型切qwen3-vl-plus + 1280px压缩
- UI颜色: 加深主色 8B9CF7→6C5CE7
- 个人信息页精简 + 健康档案可编辑重设计
- 保洁: 删除无用agent_bar + 删除意见反馈/关于我们
- 新增AI提示词文档
|
2026-06-04 13:49:43 +08:00 |
|
MingNian
|
c2399b952f
|
refactor: 4层架构重构 + 饮食VLM接入 + 多项修复
- 后端: remaining_endpoints拆分为6个独立文件
- 后端: AI Agent Handler从ai_chat_endpoints抽取为7个独立处理器
- 后端: 食物识别prompt改为输出结构化JSON
- 前端: 饮食识别从Mock替换为真实VLM API调用
- 前端: 首页图片上传URL修复(/api/upload→/api/files/upload)
- 前端: 拍饮食按钮导航到独立DietCapturePage
- 前端: 删除无用agent_bar.dart
- 前端: 修复widget_test.dart过期属性名
- 前端: 恢复ServicePackageCard和详情页
- 新增6份实施文档(情况/问诊/报告/建档/日历/视觉统一)
|
2026-06-03 23:17:37 +08:00 |
|
MingNian
|
f46c30f8e7
|
test: 更新 DefaultPrompt 测试(已移除阿福)
|
2026-06-03 20:33:24 +08:00 |
|
MingNian
|
07ddf2577a
|
feat: 用药提醒功能 + 移除医生相关页面
- 后端新增 GET /api/medications/reminders 接口
- 前端任务卡片区显示真实用药提醒
- 移除 DoctorListPage/DoctorChatPage 路由
- 移除"找医生"面板按钮
- 医生端另做 Web 页面
|
2026-06-03 15:11:12 +08:00 |
|
MingNian
|
36ad334643
|
fix: 首页UI修复 - 底部溢出/胶囊/折叠/抽屉/screen适配
- 底部溢出:移除手动 viewInsets,让 Scaffold 默认处理键盘
- 智能体胶囊:新增常驻选择条,6个胶囊始终可见
- 任务卡片:双向切换,折叠后显示"点击展开"条
- 侧边栏:去掉固定高度,自适应内容
- K70适配:头像/字号/padding 全面紧凑化
|
2026-06-03 13:51:51 +08:00 |
|
MingNian
|
7b898f8660
|
chore: 清理测试文件和上传目录
|
2026-06-03 11:19:16 +08:00 |
|
MingNian
|
78573eaa5f
|
fix: VLM 参数优化 - temperature 0.7, top_p 0.8, 指令放 system+user
- VisionAsync 新增 Temperature=0.7, TopP=0.8
- system prompt 用专业营养识别指令
- userText 用简短"请看图识别食物"配合图片
- 修复重复 prompt 导致 VLM 误读文本的 bug
|
2026-06-03 11:12:06 +08:00 |
|
MingNian
|
c6395ea9b4
|
feat: 全功能前后端联调完成,47/47 测试通过
前端:
- 新增 DietCapturePage 独立拍照识别页
- 5种消息卡片类型完整实现(数据确认/用药/饮食/报告/快捷选项)
- 任务卡片区:异常警告+数据摘要+自动折叠
- 侧滑抽屉:历史对话列表+对话管理
- 运动计划:进度卡片+创建计划+每日打卡
- 报告页:拍照/相册/PDF上传+分析
- 面板按钮补全血氧/体重录入
- UI 升级:紫色主题+动画+气泡样式
- 全部迁移 Riverpod 3.x API
后端:
- 新增 _UpdateMessageTypeAndMetadata,Tool Calling 自动映射消息类型
- SSE answer 事件携带 type 字段
- 提示词优化(移除"阿福",语气规则归位)
- 运动计划支持 AI 创建和打卡
测试:
- 新增 full_e2e_test.py 全流程测试(认证/数据CRUD/6个Agent对话/VLM/报告)
|
2026-06-02 20:31:22 +08:00 |
|
MingNian
|
498708e568
|
fix: 修复 Flutter 前端多项功能 + 后端运动计划 API
- Android 添加相机/存储权限,拍照和相册功能可用
- AI 回复支持 Markdown 渲染(加粗/表格不再显示**乱码)
- 附件按钮接线,支持拍照/相册/文件选择
- 智能体面板按钮全部接线(拍照/上传/手动录入/导航)
- 侧边栏 AI 录入后自动刷新健康数据
- 运动计划页增加创建按钮 + 打卡功能
- 后端运动计划支持 AI 创建和打卡(Tool Calling)
- 修复 CreateExercisePlanRequest JSON 反序列化
|
2026-06-02 16:34:36 +08:00 |
|
MingNian
|
df263baa5d
|
chore: 回退至稳定版本,清理测试文件
- 回退 VLM prompt 至稳定的通用食物识别版本
- 保持 VisionClient 重命名和 VLM_* 配置键
- 清理所有测试图片和临时文件
|
2026-06-02 15:15:34 +08:00 |
|
MingNian
|
cf93b90b24
|
feat: 支持多角度拍照 + 详细营养数据
- 最多上传 8 张照片,多角度拍摄提高份量估算精度
- VLM prompt 升级:识别名称+份量+热量+蛋白质+碳水+脂肪
- 提示 VLM 综合分析多张照片判断份量
|
2026-06-02 14:33:24 +08:00 |
|
MingNian
|
01e0f0adbc
|
fix: VLM prompt 改为通用食物识别,不限于中餐
|
2026-06-02 14:30:52 +08:00 |
|
MingNian
|
b3ea5cc8ea
|
fix: 移除过度压缩,VLM 图片质量提升至近乎无损
- 压缩参数改为 2048px/Q92(肉眼无法区分)
- VLM 模型锁定 qwen3-vl-plus(中餐识别准确)
- 上传限制 20MB,支持 jpg/png/heic
- VLM 只负责识图返回结构化 JSON,饮食分析交 DeepSeek
|
2026-06-02 14:29:43 +08:00 |
|
MingNian
|
d095832a10
|
feat: VLM 模型切换 qwen3-vl-plus + Diet Agent 患者档案联动
- VLM 模型切换为 qwen3-vl-plus(中餐识别准确率大幅提升)
- VLM Prompt 简化为仅识别食物名+份量+热量
- 营养分析/禁忌提醒移至 Diet Agent(可查患者档案)
- Diet Agent Prompt 强化:过敏→红色警告,低盐低脂→黄色提醒
- 上传限制调整至 20MB
- 服务端图片压缩参数优化(960px/Q72)
|
2026-06-02 14:23:40 +08:00 |
|
MingNian
|
27cc920a4a
|
fix: VLM 食物识别全链路修复 + 用药 Agent Prompt 优化
- 图片上传自动压缩(max 860px, JPEG Q65),解决大图超 API 129KB 限制
- 修复 VLM 传 file:// 本地路径 Bug,改为 base64 data URL
- VLM Prompt 优化为中文食堂场景,附带常见中餐热量参考
- 千问 API 错误信息透传,方便调试
- 用药 Agent Prompt 加查询规则:先调 manage_medication 再回答
- 新增 System.Drawing.Common 依赖用于服务端图片压缩
|
2026-06-02 13:44:26 +08:00 |
|
MingNian
|
0e7f0a0b80
|
test: 修复 AI 智能体测试,28/28 全部通过
- 修复 DeepSeekClient 测试的 Authorization header 缺失
- 简化默认 Agent 测试断言,不再检查特定名称
- 新增 API Key 配置检查测试
|
2026-06-02 13:20:59 +08:00 |
|
MingNian
|
e20fc91b95
|
test: 添加 AI 智能体集成测试(28 个用例)
- PromptManager 7 个 Agent 的 System Prompt 验证
- DeepSeekClient 连通性测试
- 5 个 Agent 的端到端 SSE 对话测试:
记数据(血压/心率录入+Tool Calling)
药管家(用药查询)
AI 问诊(症状追问)
默认 Agent(自我介绍)
- 通过后端 API 真实调用 DeepSeek 验证 Tool Calling 逻辑
|
2026-06-02 13:09:40 +08:00 |
|
MingNian
|
9ffd2631c3
|
fix: 修复后端 JSON 反序列化与循环引用问题
- Program.cs 添加 JsonStringEnumConverter + CamelCase 策略,
修复枚举值和 decimal 反序列化失败
- CreateHealthRecordRequest 改为 class + init 属性,
修复 decimal? 在位置记录中的 JSON 反序列化异常
- 运动计划 /current 端点改用匿名对象投影,
修复 EF Core 导航属性循环引用导致 JSON 无限递归
|
2026-06-02 13:01:21 +08:00 |
|
MingNian
|
6e69f1085e
|
chore: 全面规范化代码,遵循 CLAUDE.md 编码规范
- C# 文件命名改为 snake_case(28 个文件重命名)
- C# 类转换为主构造函数(8 个类)
- 空 catch 添加异常类型(2 处)
- 新建 GlobalUsings.cs(Health.Infrastructure、Health.WebApi)
- Flutter 移除 go_router,改用 Riverpod 路由栈
- Flutter 移除 flutter_secure_storage,改用 sqflite 持久化
- 修复 Flutter 构建路径(Flutter SDK 迁至 D 盘)
- 后端端口改为 0.0.0.0:5000,支持局域网访问
|
2026-06-02 12:41:06 +08:00 |
|
MingNian
|
14d7c30d3d
|
Initial commit: 健康管家 AI 健康陪伴助手
- Backend: .NET 10 Minimal API + EF Core + PostgreSQL
- Frontend: Flutter + Riverpod + GoRouter + Dio
- AI: DeepSeek LLM + Qwen VLM (OpenAI-compatible)
- Auth: SMS + JWT (access/refresh tokens)
- Features: AI chat, health tracking, medication management, diet analysis, exercise plans, doctor consultations, report analysis
|
2026-06-02 11:11:29 +08:00 |
|