Files
fastapi/frontend/README.md
T
2026-06-01 09:25:26 +08:00

82 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 医疗问诊 Agent Vue Demo
这是第一版 Demo 的 Vue 3 测试前端,用于展示和验证当前 FastAPI 后端已实现的问诊训练闭环。它不是最终生产 UI,但页面结构、接口封装和状态管理已按后续正式前端扩展保留边界。
## 技术栈
- Vue 3 + Vite + TypeScript
- Pinia
- Vue Router
- Axios + Fetch SSE
- 原生 CSS,移动端优先
## 启动
```powershell
cd D:\Code\newfounder\medical-consultation-agent\frontend
npm.cmd install
npm.cmd run dev -- --host 127.0.0.1 --port 5173
```
访问:
```text
http://127.0.0.1:5173
```
构建:
```powershell
npm.cmd run build
```
## 后端配置
默认 API
```text
http://127.0.0.1:8000/api/v1
```
所有业务请求都会携带:
- `X-User-Id`
- `X-Entry-Scene`
入口页可修改 `user_id`、API Base 和入口场景。默认 `user_id``demo_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` 决定,前端只展示后端返回结果。