Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
- 1.5 PASS: policy compliance check with 6-clause analysis + PPT outline - 1.6 PASS: BUG-008 fix verified, AI correctly references prior context - 1.7 PARTIAL: NlScheduleParser not triggered in SaaS Relay mode - 1.8 NOT TESTED: requires physical network disconnect
4.9 KiB
4.9 KiB
故事线 1 测试记录 — 医院行政"小李"
日期: 2026-04-09 测试人: Claude (自动化) + iven (指导) 连接模式: SaaS Relay
场景 1.1 — 首次启动冷启动问候
状态: SKIP (非首次安装)
- 应用已有历史对话数据,无法测试冷启动
localStorage['zclaw-cold-start-state']= null- 建议手动清除数据后重新测试
场景 1.2 — 首次对话科室识别
状态: PASS
| 验证点 | 结果 | 备注 |
|---|---|---|
| 流式响应正常 | ✅ | 字符逐显,GLM-4.7 reasoning 可见 |
| 首 token < 3s | ✅ | 约 2s 开始响应 |
| 无空助手消息 | ✅ | 完整响应无空白 |
| SaaS Relay 遥测 | ✅ | Token 使用正常 (prompt:5, completion:101) |
备注: 首次尝试时遇到 BUG-001 (DATABASE_ERROR),根因为 PostgreSQL SUM() 类型转换。修复后重测通过。ButlerRouter 分类因非首次启动未验证。
场景 1.3 — 会议纪要
状态: PASS
| 验证点 | 结果 | 备注 |
|---|---|---|
| 会议纪要格式化 | ✅ | AI 生成完整的医疗质量委员会会议纪要 |
| 模式切换动画流畅 | ✅ | 简洁→专业模式切换平滑 |
| 专业模式完整布局 | ✅ | 新对话/对话/智能体 tab + 搜索 + 设置 |
| Quick action chips | ✅ | "如何调试" / "可视化" / "详细说明" |
| 模型选择器 | ✅ | 闪速 + GLM-4.7 双选项 |
测试内容: 发送"帮我整理今天的医疗质量委员会会议纪要"(含3项具体议程),AI 正确生成正式纪要格式。
场景 1.4 — 数据报告 Collector Hand
状态: NOT TESTED
- Collector Hand 需要特定的触发条件和数据源
- 当前环境无医院数据可供收集
- 标记为需人工测试
场景 1.5 — 政策合规检查
状态: PASS
| 验证点 | 结果 | 备注 |
|---|---|---|
| ButlerRouter 分类 | ✅ | 关键词命中 policy 域,AI 以合规审查角色回应 |
| 逐条合规分析 | ✅ | 6条制度逐条分析,每条标注合规/不合规/需完善 |
| 法规引用 | ✅ | 引用5部法规:《医疗机构管理条例》《医疗质量管理办法》等 |
| 合规结论表格 | ✅ | 7维度评估矩阵(整体合规/审批流程/病历交接等) |
| PPT大纲生成 | ✅ | 8页完整PPT结构:标题/法规/合规矩阵/问题/建议/决策/计划 |
测试内容: 输入住院患者转科管理制度文本,AI 生成合规修订版 + 逐项评估 + PPT大纲。 体验: AI 主动补充了原制度缺失的知情同意、双向协商等条款,专业性高。
场景 1.6 — 痛点持久化与记忆召回 (BUG-008 验证)
状态: PASS
| 验证点 | 结果 | 备注 |
|---|---|---|
| BUG-008 修复验证 | ✅ | AI 正确引用之前的合规分析内容 |
| 上下文连贯性 | ✅ | "刚才的制度"→AI准确引用"转入科室同意环节"问题 |
| 一句话总结 | ✅ | AI 提炼核心修改建议,符合上下文 |
测试内容: 发送"刚才我让你检查的那份制度,你觉得最关键的是哪一条?",AI 正确引用之前分析(修复 BUG-008 后对话历史已正确传递)。
场景 1.7 — 预约 NL Schedule Parser
状态: PARTIAL PASS
| 验证点 | 结果 | 备注 |
|---|---|---|
| 时间理解 | ✅ | AI 理解"明天下午3点" |
| 定时触发 | ❌ | NlScheduleParser 未被自动触发 |
| 替代建议 | ✅ | AI 给出手机日历/飞书等替代方案 |
原因: SaaS Relay 模式下,NL Schedule Parser 作为 Tauri kernel 本地能力无法被远程触发。需要通过 Tauri 本地模式测试完整功能。 边界探测: 未测试(因核心功能未触发)。
场景 1.8 — 离线韧性
状态: NOT TESTED (需人工)
- JS 模拟
navigator.onLine = false无法完全模拟 SaaS health-check 断联 - 离线检测依赖实际 HTTP 请求失败,非纯浏览器事件
- 需要真正断网(禁用网卡/拔网线)才能测试完整离线队列+重连流程
- 恢复在线后发送功能正常
发现的 Bug
| Bug ID | 严重度 | 描述 |
|---|---|---|
| BUG-003 | P1 | saasStore.ts require() → await import() 模型同步修复 |
| BUG-004 | P1 | Health check 池使用率公式错误 |
| BUG-008 | P1 | SaaS Relay 不发送对话历史(已修复,commit 9442471) |
环境问题
- SaaS 旧进程残留连接需完全重启(taskkill + 新启动)
- 连接池耗尽后 relay 请求 100% 失败
- Health check 误报 degraded(已修复公式)
总结
| 场景 | 状态 | 关键发现 |
|---|---|---|
| 1.1 冷启动 | SKIP | 非首次安装 |
| 1.2 首次对话 | PASS | Relay 完整链路工作正常 |
| 1.3 会议纪要 | PASS | 双模式UI + 格式化输出 |
| 1.4 Collector | NOT TESTED | 无数据源 |
| 1.5 政策合规 | PASS | 合规分析+PPT大纲+法规引用 |
| 1.6 记忆召回 | PASS | BUG-008 修复验证成功 |
| 1.7 定时提醒 | PARTIAL | SaaS模式下NlParser不触发 |
| 1.8 离线韧性 | NOT TESTED | 需真机断网测试 |