refactor(middleware): 移除数据脱敏中间件及相关代码
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
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. 删除data_masking模块 2. 清理loop_runner中的unmask逻辑 3. 移除前端saas-relay-client.ts中的mask/unmask实现 4. 更新中间件层数从15层降为14层 5. 同步更新相关文档(CLAUDE.md、TRUTH.md、wiki等) 此次变更简化了系统架构,移除了不再需要的敏感数据处理逻辑。所有相关测试证据和截图已归档。
This commit is contained in:
312
docs/E2E_TEST_REPORT_2026_04_16.md
Normal file
312
docs/E2E_TEST_REPORT_2026_04_16.md
Normal file
@@ -0,0 +1,312 @@
|
||||
# ZCLAW 端到端功能完整性测试报告
|
||||
|
||||
> **测试日期**: 2026-04-16 18:00-18:40
|
||||
> **测试环境**: Windows 11 Pro, ZCLAW v0.9.0-beta.1, Tauri 桌面端
|
||||
> **测试方法**: Tauri MCP 工具模拟真实用户操作(点击、输入、状态验证)
|
||||
> **连接模式**: SaaS 云端 (saas-relay, http://127.0.0.1:8080)
|
||||
> **当前模型**: GLM-4.7 (可用), deepseek-chat (无 API Key), kimi-for-coding (无 API Key)
|
||||
|
||||
---
|
||||
|
||||
## 测试概要
|
||||
|
||||
| 指标 | 数值 |
|
||||
|------|------|
|
||||
| 测试链路数 | 8 |
|
||||
| 测试用例数 | 22 |
|
||||
| 通过 | 17 |
|
||||
| 失败 | 3 |
|
||||
| 部分通过 | 2 |
|
||||
| 通过率 | 77% |
|
||||
|
||||
---
|
||||
|
||||
## 1. 核心聊天链路
|
||||
|
||||
### TC-1.1: 发送消息并验证流式响应
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 1. 在输入框输入"你好,这是一个端到端测试消息,请简短回复确认收到。" 2. 点击发送按钮 3. 等待响应 |
|
||||
| **预期结果** | 消息发送成功,收到 AI 流式回复 |
|
||||
| **实际结果** | 消息发送成功,收到回复"领导,收到您的测试消息。" |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-1.2: 流式响应完整性验证
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 1. 输入"请详细解释什么是量子计算,包括其基本原理、应用场景和未来发展。" 2. 发送 3. 等待完整响应 |
|
||||
| **预期结果** | 收到完整的量子计算解释,覆盖基本原理、应用场景和未来 |
|
||||
| **实际结果** | 收到完整响应,包含:基本原理(叠加态、纠缠)、应用场景(密码学、药物发现、机器学习、金融建模)、未来发展(技术挑战、NISQ→容错→通用、商业前景、时间预测) |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-1.3: 流式响应取消
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 发送长问题后立即尝试取消 |
|
||||
| **预期结果** | 可取消流式响应 |
|
||||
| **实际结果** | 响应速度过快,在取消操作前已完成。无法验证取消功能 |
|
||||
| **状态** | ⚠️ N/A (响应速度过快导致无法测试) |
|
||||
|
||||
### TC-1.4: 错误消息显示(无 API Key 的模型)
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 切换到 deepseek-chat 模型后发送消息 |
|
||||
| **预期结果** | 显示明确的错误信息 |
|
||||
| **实际结果** | 显示 "LLM 响应错误: LLM error: API error 404 Not Found: Provider 545ea594-8176-4573-bac6-0627ea5304b7 没有可用的 API Key",并显示"重试"按钮 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-1.5: 思考过程展开
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 查看"思考过程"按钮 |
|
||||
| **预期结果** | 消息上有思考过程按钮可展开 |
|
||||
| **实际结果** | 多条消息显示"思考过程"按钮,功能可用 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
---
|
||||
|
||||
## 2. 模型切换链路
|
||||
|
||||
### TC-2.1: 推理模式切换
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 1. 点击模式选择器 2. 查看4种模式 3. 切换到"思考"模式 |
|
||||
| **预期结果** | 显示闪速/思考/Pro/Ultra 4种模式,切换成功 |
|
||||
| **实际结果** | 4种模式均可见(含描述),从 Ultra 切换到"思考"成功,UI 即时更新 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-2.2: LLM 模型列表查看
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 点击模型选择器查看可用模型 |
|
||||
| **预期结果** | 显示可用模型列表,带搜索功能 |
|
||||
| **实际结果** | 显示 3 个模型: deepseek-chat, GLM-4.7, kimi-for-coding。含搜索框(placeholder: "搜索模型...") |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-2.3: 模型切换并验证
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 1. 从 GLM-4.7 切换到 deepseek-chat 2. 验证 UI 显示 3. 发送消息验证切换生效 |
|
||||
| **预期结果** | 模型切换成功,发送消息使用新模型 |
|
||||
| **实际结果** | UI 切换成功显示 deepseek-chat。发送消息返回 404 错误(无 API Key),说明切换确实生效,请求被路由到了新模型 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-2.4: 切回 GLM-4.7
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 从 deepseek-chat 切回 GLM-4.7 |
|
||||
| **预期结果** | 切回成功 |
|
||||
| **实际结果** | 切回成功,显示 GLM-4.7 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
---
|
||||
|
||||
## 3. Agent/分身管理链路
|
||||
|
||||
### TC-3.1: 智能体标签页
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 点击侧边栏"智能体"标签 |
|
||||
| **预期结果** | 显示 Agent 列表和创建入口 |
|
||||
| **实际结果** | 显示"当前"分类下"默认助手",以及"创建新 Agent"入口 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-3.2: Agent 创建向导 (6步流程)
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 完整走完 6 步创建向导: 1. 行业模板(选择空白) 2. 认识用户(输入姓名+角色) 3. Agent身份(名称+角色+昵称) 4. 人格风格(Emoji+风格) 5. 使用场景(选择3个) 6. 工作环境(预览+完成) |
|
||||
| **预期结果** | 向导流畅走完,每步表单验证正确 |
|
||||
| **实际结果** | 6步全部正常: ①空白Agent模板可选 ②姓名和角色输入正常 ③Agent名称/角色/昵称表单正常 ④Emoji选择(🤖)+专业严谨风格选择正常 ⑤编程开发/数据分析/研究调研选择正常 ⑥配置预览正确显示 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-3.3: Agent 创建后端提交
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 在向导最后一步点击"完成" |
|
||||
| **预期结果** | Agent 创建成功,出现在列表中 |
|
||||
| **实际结果** | 后端返回 "HTTP 502: Bad Gateway",Agent 未创建成功 |
|
||||
| **状态** | ❌ FAIL — SaaS 后端 502 错误 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 对话管理链路
|
||||
|
||||
### TC-4.1: 对话列表显示
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 切换到"对话"标签页 |
|
||||
| **预期结果** | 显示历史对话列表 |
|
||||
| **实际结果** | 显示 2 个历史对话: "淇淇你好...(14条消息)" 和 "早上好(17条消息)" |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-4.2: 创建新对话
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 点击"新对话"按钮 |
|
||||
| **预期结果** | 创建空白对话,聊天区显示欢迎信息 |
|
||||
| **实际结果** | 聊天区显示"欢迎..."空白初始状态,输入框清空 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-4.3: 切换对话
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 点击历史对话项切换 |
|
||||
| **预期结果** | 加载历史对话的完整消息记录 |
|
||||
| **实际结果** | 成功加载所有历史消息(淇淇你好、端到端测试、量子计算等全部可见) |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-4.4: 对话搜索过滤
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 在搜索框输入"早上好" |
|
||||
| **预期结果** | 对话列表只显示匹配的对话 |
|
||||
| **实际结果** | 从 2 条过滤为 1 条,只显示"早上好"对话 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
---
|
||||
|
||||
## 5. 设置面板链路
|
||||
|
||||
### TC-5.1: 设置面板导航
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 点击"设置和更多"打开设置面板 |
|
||||
| **预期结果** | 显示完整设置分类 |
|
||||
| **实际结果** | 显示 18 个设置分类: 通用、模型与API、MCP服务、IM频道、工作区、数据与隐私、安全存储、SaaS平台、订阅与计费、技能管理、语义记忆、安全状态、审计日志、定时任务、心跳配置、系统健康、提交反馈、关于 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-5.2: 通用设置内容
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 查看"通用"设置页 |
|
||||
| **预期结果** | 显示 Gateway 连接状态和外观设置 |
|
||||
| **实际结果** | Gateway 已连接(http://127.0.0.1:8080), 版本 saas-relay, 模型 GLM-4.7。外观设置含主题模式、开机自启、显示工具调用、界面模式切换 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-5.3: SaaS 平台设置
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 查看"SaaS 平台"设置页 |
|
||||
| **预期结果** | 显示账号信息、云端功能状态、安全设置 |
|
||||
| **实际结果** | Admin/super_admin 已登录。云端同步/团队协作/高级分析均"可用"。双因素认证"未启用"。中转任务列表显示历史任务(含 Key Pool 耗尽错误) |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-5.4: 系统健康面板
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 查看"系统健康"设置页 |
|
||||
| **预期结果** | 显示各子系统健康状态 |
|
||||
| **实际结果** | Agent心跳正常(引擎运行中, 35min间隔)、连接正常(SaaS云端已连接)、设备已注册(连续失败0)、记忆管道正常(357条目, 62.3KB)。1条告警:记忆统计未同步(低级别) |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-5.5: 语义记忆页面
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 查看"语义记忆"设置页 |
|
||||
| **预期结果** | 显示记忆管理界面 |
|
||||
| **实际结果** | 仅显示功能说明(SQLite+TF-IDF描述),无可操作的管理界面 |
|
||||
| **状态** | ⚠️ PARTIAL — 信息展示正常,但缺少实际操作功能 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 管家模式链路
|
||||
|
||||
### TC-6.1: 简洁/专业模式切换
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 1. 点击"简洁"切换到简洁模式 2. 点击"专业模式"切回 |
|
||||
| **预期结果** | 简洁模式隐藏复杂功能,专业模式恢复 |
|
||||
| **实际结果** | 简洁模式: 侧边栏简化为仅新对话+搜索+专业模式切换+设置。专业模式: 恢复对话/智能体标签页和完整工具栏 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-6.2: 侧面板
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 点击"打开侧面板"按钮 |
|
||||
| **预期结果** | 右侧打开上下文面板 |
|
||||
| **实际结果** | 面板打开(有"关闭面板"按钮),但内容为空 |
|
||||
| **状态** | ⚠️ PARTIAL — 面板可开关,但未显示内容 |
|
||||
|
||||
### TC-6.3: 消息搜索
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 点击"搜索消息"按钮 |
|
||||
| **预期结果** | 打开消息搜索界面 |
|
||||
| **实际结果** | 触发搜索模式,消息折叠为摘要视图,显示"Search"按钮 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
---
|
||||
|
||||
## 7. SaaS 认证链路
|
||||
|
||||
### TC-7.1: 当前认证状态
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 在 SaaS 平台设置中查看认证信息 |
|
||||
| **预期结果** | 显示已登录状态 |
|
||||
| **实际结果** | Admin 角色, super_admin 权限, http://127.0.0.1:8080, 状态"已连接" |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
---
|
||||
|
||||
## 8. UI 布局和导航完整性
|
||||
|
||||
### TC-8.1: 主界面布局
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 检查主界面各区域 |
|
||||
| **预期结果** | 左侧边栏、中间聊天区、顶部工具栏布局正确 |
|
||||
| **实际结果** | 左侧 w-64 侧边栏(Logo+对话列表+设置)、顶部 h-14 工具栏(简洁/详情切换+搜索+侧面板)、主聊天区(消息列表+输入区)、输入区(附件+模式选择+模型选择+发送) |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
### TC-8.2: 工具调用展示
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **测试步骤** | 检查历史消息中的工具调用显示 |
|
||||
| **预期结果** | 工具调用以可展开块展示 |
|
||||
| **实际结果** | 显示工具调用详情: "获取网页 {url:...}"、"shell_exec {command:...}"、"execute_skill {input:...}",支持展开/折叠 |
|
||||
| **状态** | ✅ PASS |
|
||||
|
||||
---
|
||||
|
||||
## 发现的问题汇总
|
||||
|
||||
### P1 (高优先级)
|
||||
|
||||
| ID | 问题描述 | 影响范围 | 发现于 |
|
||||
|----|----------|----------|--------|
|
||||
| BUG-01 | Agent 创建提交返回 HTTP 502 Bad Gateway | Agent 创建功能不可用 | TC-3.3 |
|
||||
| BUG-02 | 历史对话中有 8 条消息显示"重试"按钮,表示过去多次 LLM 响应失败 | 用户历史对话中存在大量失败消息 | TC-4.3 |
|
||||
| BUG-03 | SaaS 中转任务显示大量 "Key Pool 耗尽: 所有 Key 均在冷却中" 错误 | 高频使用时 API Key 限流严重 | TC-5.3 |
|
||||
|
||||
### P2 (中优先级)
|
||||
|
||||
| ID | 问题描述 | 影响范围 | 发现于 |
|
||||
|----|----------|----------|--------|
|
||||
| BUG-04 | deepseek-chat 和 kimi-for-coding 模型无 API Key,但未在选择器中标注 | 用户可能选择不可用模型导致浪费对话 | TC-2.2 |
|
||||
| BUG-05 | 语义记忆设置页仅显示说明文字,无可操作界面 | 记忆管理功能不完整 | TC-5.5 |
|
||||
| BUG-06 | 侧面板打开后内容为空 | 侧面板功能疑似未接入 | TC-6.2 |
|
||||
|
||||
### P3 (低优先级)
|
||||
|
||||
| ID | 问题描述 | 影响范围 | 发现于 |
|
||||
|----|----------|----------|--------|
|
||||
| BUG-07 | 系统健康显示"记忆统计未同步"低级别告警 | 部分健康检查被跳过 | TC-5.4 |
|
||||
| BUG-08 | 双因素认证(TOTP)显示"未启用"且无引导提示 | 安全功能未启用且用户无感知 | TC-5.3 |
|
||||
|
||||
---
|
||||
|
||||
## 测试环境快照
|
||||
|
||||
```
|
||||
应用版本: 0.9.0-beta.1
|
||||
操作系统: Windows 11 Pro (x86_64)
|
||||
显示器: 5120x2880 @ 2.5x 缩放
|
||||
窗口: 3032x2088
|
||||
连接模式: SaaS 云端 (saas-relay)
|
||||
Gateway: http://127.0.0.1:8080 (已连接)
|
||||
可用模型: GLM-4.7 (有效), deepseek-chat (无Key), kimi-for-coding (无Key)
|
||||
记忆条目: 357 (62.3 KB)
|
||||
Agent: 默认助手 (1个)
|
||||
对话数: 2 个历史对话
|
||||
```
|
||||
Reference in New Issue
Block a user