Files
fastapi/frontend

医疗问诊 Agent Vue Demo

这是第一版 Demo 的 Vue 3 测试前端,用于展示和验证当前 FastAPI 后端已实现的问诊训练闭环。它不是最终生产 UI,但页面结构、接口封装和状态管理已按后续正式前端扩展保留边界。

技术栈

  • Vue 3 + Vite + TypeScript
  • Pinia
  • Vue Router
  • Axios + Fetch SSE
  • 原生 CSS,移动端优先

启动

cd D:\Code\newfounder\medical-consultation-agent\frontend
npm.cmd install
npm.cmd run dev -- --host 127.0.0.1 --port 5173

访问:

http://127.0.0.1:5173

构建:

npm.cmd run build

后端配置

默认 API

http://127.0.0.1:8000/api/v1

所有业务请求都会携带:

  • X-User-Id
  • X-Entry-Scene

入口页可修改 user_id、API Base 和入口场景。默认 user_iddemo_user_001

页面与功能

页面 路由 主要功能
入口 #/ 配置 user_id/API Base,调用 Agent Hello
病例 #/cases 病例列表、病例详情、开始训练
病例导入 #/import 上传接口解析后的 SQL,预检并确认写入病例源表
会话配置 #/session 选择模式、评分类型并创建会话
问诊 #/chat 普通/流式 Chat、查看提示、检查申请、完成问诊
提交 #/submit 提交诊断和治疗方案
报告 #/report 生成评价、查看评分、导出 PDF
历史 #/history 查询当前 user_id 的历史评价
LLM 测试 #/llm-test 测试 Fast/Reason 模型耗时

测试流程

  1. 入口页确认连接成功。
  2. 需要新增病例时进入 #/import,上传 .sql 文件并先执行“解析检查”,确认通过后再“确认导入”。
  3. 病例页选择“支气管肺炎 - 6岁男性患儿”或刚导入的新病例。
  4. 点击“开始训练”,创建练习模式会话。
  5. Chat 中提问并查看 AI 病人流式回复。
  6. 点击“查看提示”验证 Hint Agent。
  7. 申请血常规、CRP、胸片、血氧饱和度、肺部体格检查。
  8. 完成问诊,提交诊断和治疗方案。
  9. 生成 AI 评价报告并导出 PDF。
  10. 历史页刷新并查看报告详情。

交互边界

  • 前端不保存长期聊天历史。
  • Chat 消息只保存在 Pinia 当前状态中,刷新页面后以当前后端会话状态为准。
  • 诊断和治疗表单默认清空;演示模板需要手动点击填入。
  • 检查项目按 item_code 去重,同一会话不会重复申请同一检查。
  • 真实模型、mock 和 fallback 状态由后端 .env 决定,前端只展示后端返回结果。