完整实现 Tauri + Vanilla JS 轻量级截图工具 Phase 1 - 项目搭建 - Tauri 2.x 项目初始化 - Vite 前端项目搭建 - 基础 UI 框架(CSS 变量、组件库) - 构建配置优化 Phase 2 - 核心截图功能 - 全屏/区域/窗口截图 - 截图预览和管理 - 文件命名和缩略图 - 全局快捷键集成 Phase 3 - 上传与存储 - 多图床上传(GitHub/Imgur/自定义) - 配置管理系统 - SQLite 数据库 Phase 4 - OCR 集成 - 云端 OCR(百度/腾讯云) - 插件管理系统 - 本地 OCR 插件(Go) - OCR 结果处理 Phase 5 - AI 分类系统 - Claude/OpenAI API 集成 - Prompt 模板引擎 - 模板管理界面 - 自动分类流程 Phase 6 - 历史记录与管理 - 图库视图(网格/列表) - 搜索与筛选 - 批量操作 - 导出功能(JSON/CSV/ZIP) Phase 7 - 打包与发布 - 多平台构建配置 - CI/CD 工作流 - 图标和资源 - 安装包配置 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8.1 KiB
8.1 KiB
Phase 5 - AI 分类功能测试指南
本文档提供 AI 分类功能的详细测试步骤和验证方法。
前置条件
1. 环境准备
# 确保在项目根目录
cd /home/congsh/CodeSpace/ClaudeSpace/cutThink_lite
# 安装依赖(如果尚未安装)
npm install
# 启动开发服务器
npm run tauri dev
2. API Key 准备
Claude API Key
- 访问 https://console.anthropic.com/
- 登录或注册账号
- 进入 API Keys 页面
- 创建新的 API Key
- 保存 Key(格式:sk-ant-xxx)
OpenAI API Key
- 访问 https://platform.openai.com/api-keys
- 登录或注册账号
- 点击 "Create new secret key"
- 保存 Key(格式:sk-xxx)
测试步骤
测试 1: AI 配置功能
步骤
- 启动应用
- 点击 "⚙️ AI 配置" 按钮
- 选择 Claude 配置
- 输入 Claude API Key
- 选择模型(推荐:claude-3-5-sonnet-20241022)
- 点击 "保存并启用 Claude"
预期结果
- ✅ 保存成功提示
- ✅ "已配置" 徽章显示
- ✅ "AI 功能: 可用"
测试 OpenAI
- 切换到 OpenAI 配置
- 输入 OpenAI API Key
- 选择模型(推荐:gpt-4o)
- 点击 "保存并启用 OpenAI"
预期结果
- ✅ 保存成功提示
- ✅ 提供商切换成功
测试 2: 模板管理功能
步骤
- 点击 "📝 模板管理" 按钮
- 查看内置模板列表
- 应该看到 4 个内置模板:
- 通用分类
- 代码片段分类
- 票据发票分类
- 对话内容分类
预期结果
- ✅ 所有内置模板正确显示
- ✅ 每个模板显示名称、描述、变量数量
测试 3: 模板测试功能
步骤
- 在模板管理界面
- 双击 "通用分类" 模板
- 在测试对话框中输入变量:
content_type: text content: 这是一段关于 Python 编程的代码示例 - 点击 "运行测试"
预期结果
- ✅ 显示渲染后的 System Prompt
- ✅ 显示渲染后的 User Prompt
- ✅ User Prompt 包含输入的内容
测试 4: 创建自定义模板
步骤
- 点击 "+ 新建模板"
- 填写模板信息:
名称: 文档分类 描述: 用于分类文档类型 分类: documents 系统提示词: 你是一个文档分类专家 用户提示词模板: 请分类此文档:{{content}} - 点击 "保存模板"
预期结果
- ✅ 模板保存成功
- ✅ 出现在自定义模板列表中
- ✅ 可以编辑、测试、导出、删除
测试 5: 模板导入/导出
导出测试
- 选择任意自定义模板
- 点击 "导出" 按钮
- 保存 JSON 文件
预期结果
- ✅ 文件下载成功
- ✅ JSON 格式正确
导入测试
- 点击 "导入模板" 按钮
- 选择刚才导出的文件
- 检查导入结果
预期结果
- ✅ 模板导入成功
- ✅ ID 自动更新避免冲突
测试 6: 文本分类(非流式)
准备测试内容
def hello_world():
print("Hello, World!")
return True
步骤
- 创建或选择一条文本记录
- 粘贴上述代码
- 打开 AI 分类功能
- 选择 "代码片段分类" 模板
- 取消勾选 "流式模式"
- 点击 "开始分类"
预期结果
- ✅ 分类执行中提示
- ✅ 分类结果显示:
- 主分类: 代码
- 子分类: Python
- 置信度: > 0.8
- 标签包含: Python, 编程, 函数
测试 7: 文本分类(流式)
步骤
- 使用相同的测试内容
- 勾选 "流式模式"
- 点击 "开始分类"
预期结果
- ✅ 显示 "实时预览" 区域
- ✅ 文本逐步显示
- ✅ 完成后显示完整结果
测试 8: OCR 内容分类
准备测试图片
- 截取包含文本的图片(如代码截图、发票等)
- 确保 OCR 功能已配置
步骤
- 对图片执行 OCR
- 获得 OCR 文本后
- 点击 "AI 分类"
- 选择合适的模板
- 执行分类
预期结果
- ✅ OCR 文本正确传递
- ✅ 分类结果准确
- ✅ 置信度合理
测试 9: 分类历史
步骤
- 对同一条记录执行多次分类
- 使用不同模板
- 查看分类历史
预期结果
- ✅ 每次分类都记录在历史中
- ✅ 显示时间戳
- ✅ 显示每次的分类结果
测试 10: 分类统计
步骤
- 对多条记录执行分类
- 确保至少有 5-10 条记录
- 查看分类统计
预期结果
- ✅ 显示所有分类
- ✅ 每个分类显示数量
- ✅ 按数量降序排列
测试 11: 错误处理
无效 API Key 测试
- 输入无效的 API Key
- 尝试执行分类
预期结果
- ✅ 显示错误提示
- ✅ 不崩溃或挂起
网络错误测试
- 断开网络连接
- 尝试执行分类
预期结果
- ✅ 显示网络错误
- ✅ 优雅处理
无效模板测试
- 创建包含无效变量的模板
- 尝试使用该模板
预期结果
- ✅ 显示模板错误
- ✅ 不执行 API 调用
测试 12: 性能测试
大文本测试
- 准备 5000 字以上的长文本
- 执行分类
预期结果
- ✅ 分类正常完成
- ✅ 响应时间 < 30 秒
- ✅ UI 不卡顿
批量测试
- 准备 10 条记录
- 快速连续分类
预期结果
- ✅ 所有请求都处理
- ✅ 限流正常工作
- ✅ 无请求失败
测试用例
用例 1: 代码分类
输入: Python 代码片段
预期: category=代码, subcategory=Python, confidence>0.9
用例 2: 对话分类
输入: 聊天记录
预期: category=对话, confidence>0.8
用例 3: 票据分类
输入: 发票 OCR 文本
预期: category=票据, 包含金额信息, confidence>0.7
用例 4: 通用文本
输入: 随机文章段落
预期: category=文本或文章, confidence>0.6
验证清单
功能验证
- Claude API 正常工作
- OpenAI API 正常工作
- 所有内置模板可加载
- 自定义模板 CRUD 正常
- 模板导入/导出正常
- 非流式分类正常
- 流式分类正常
- 分类结果保存
- 分类历史记录
- 分类统计准确
用户体验验证
- 界面直观易用
- 加载状态清晰
- 错误提示友好
- 响应速度快
- 结果展示清晰
性能验证
- 单次分类 < 10 秒
- 流式响应延迟 < 2 秒
- 内存占用合理
- CPU 占用正常
安全性验证
- API Key 安全存储
- 输入验证正常
- HTTPS 通信
- 错误信息不泄露敏感数据
常见问题
Q: 分类结果不准确
A:
- 尝试不同的模板
- 调整 Prompt 模板
- 使用更强的模型(如 Claude Opus)
- 提供更多上下文信息
Q: API 调用失败
A:
- 检查 API Key 是否正确
- 检查网络连接
- 检查 API 配额
- 查看错误详情
Q: 流式响应卡住
A:
- 检查网络稳定性
- 切换到非流式模式
- 重试请求
Q: 分类速度慢
A:
- 使用更快的模型(如 Claude Haiku)
- 减少输入内容长度
- 调整 max_tokens 参数
测试报告模板
# AI 分类功能测试报告
**测试日期:** YYYY-MM-DD
**测试人员:** [姓名]
**环境:** [开发/生产]
## 测试结果摘要
- 总测试项: XX
- 通过: XX
- 失败: XX
- 通过率: XX%
## 详细结果
### 功能测试
| 测试项 | 状态 | 备注 |
|-------|------|------|
| AI 配置 | ✅/❌ | |
| 模板管理 | ✅/❌ | |
| 文本分类 | ✅/❌ | |
| 流式分类 | ✅/❌ | |
### 性能测试
| 指标 | 目标 | 实际 | 状态 |
|-----|------|------|------|
| 响应时间 | <10s | XXs | ✅/❌ |
| 流式延迟 | <2s | XXs | ✅/❌ |
### 问题和建议
1. [问题描述]
- 重现步骤:
- 预期结果:
- 实际结果:
- 严重程度: 低/中/高
### 总体评价
[总体评价和建议]
下一步
完成测试后:
-
修复问题
- 记录所有发现的问题
- 按优先级修复
- 重新测试验证
-
优化改进
- 根据测试结果优化
- 改进用户体验
- 提升性能
-
文档更新
- 更新用户文档
- 添加常见问题
- 编写使用教程
-
发布准备
- 代码审查
- 最终测试
- 发布说明
需要帮助?查看: