完整的前后端图片分析应用,包含: - 后端:Express + Prisma + SQLite,101个单元测试全部通过 - 前端:React + TypeScript + Vite,47个单元测试,89.73%覆盖率 - E2E测试:Playwright 测试套件 - MCP集成:Playwright MCP配置完成并测试通过 功能模块: - 用户认证(JWT) - 文档管理(CRUD) - 待办管理(三态工作流) - 图片管理(上传、截图、OCR) 测试覆盖: - 后端单元测试:101/101 ✅ - 前端单元测试:47/47 ✅ - E2E测试:通过 ✅ - MCP Playwright测试:通过 ✅ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
329 lines
9.0 KiB
Markdown
329 lines
9.0 KiB
Markdown
# 头脑风暴记录 - 图片OCR与智能文档管理系统
|
||
|
||
## 会议时间
|
||
2026-02-21
|
||
|
||
## 参与人员
|
||
- 产品负责人
|
||
- 技术架构师
|
||
- AI/ML专家
|
||
|
||
## 头脑风暴主题
|
||
|
||
### 1. 用户旅程和交互流程
|
||
|
||
#### 1.1 典型使用场景
|
||
**场景A: 会议记录快速转化**
|
||
```
|
||
用户截取线上会议截图 → 上传系统 → OCR识别 → AI提取要点 → 生成待办事项 → 分配截止日期
|
||
```
|
||
|
||
**场景B: 收集资料归档**
|
||
```
|
||
用户看到有用的文章/图表 → 截图保存 → OCR提取文字 → AI自动打标签 → 归档到知识库
|
||
```
|
||
|
||
**场景C: 待办事项管理**
|
||
```
|
||
截图聊天记录中的任务 → OCR识别 → 一键转化为待办 → 设置提醒 → 后续跟踪
|
||
```
|
||
|
||
#### 1.2 交互优化点
|
||
- 支持快捷键触发截图(全局快捷键)
|
||
- OCR完成后自动进入编辑模式
|
||
- AI分析结果可一键应用或手动调整
|
||
- 待办事项支持拖拽排序
|
||
- 标签支持快捷输入(按回车添加)
|
||
|
||
### 2. 边界情况和异常处理
|
||
|
||
#### 2.1 OCR相关
|
||
| 场景 | 处理方案 |
|
||
|------|----------|
|
||
| 图片模糊/质量差 | 提示用户重新上传,提供图片预处理选项 |
|
||
| OCR无文字结果 | 友好提示"未检测到文字",允许手动输入 |
|
||
| OCR部分识别失败 | 标注不确定区域,允许用户修正 |
|
||
| 多语言混合图片 | 自动检测语言或让用户指定 |
|
||
|
||
#### 2.2 AI相关
|
||
| 场景 | 处理方案 |
|
||
|------|----------|
|
||
| AI API调用失败 | 降级到模板匹配或允许手动输入 |
|
||
| API配额用尽 | 提示用户并阻止新请求,提供配额管理 |
|
||
| 响应超时 | 设置合理超时时间,提供重试选项 |
|
||
| 标签/分类不合理 | 允许用户反馈,改进prompt |
|
||
|
||
#### 2.3 文件相关
|
||
| 场景 | 处理方案 |
|
||
|------|----------|
|
||
| 文件过大 | 前端预校验,超出限制友好提示 |
|
||
| 不支持的格式 | 明确告知支持的格式列表 |
|
||
| 网络中断上传失败 | 支持断点续传或重试机制 |
|
||
|
||
### 3. 数据模型优化建议
|
||
|
||
#### 3.1 增加的实体
|
||
- **Folder**: 文件夹,用于组织文档和待办
|
||
- **Reminder**: 提醒记录,支持定时提醒
|
||
- **ActivityLog**: 操作日志,审计追踪
|
||
- **Template**: 模板,预设待办/文档格式
|
||
|
||
#### 3.2 关系优化
|
||
- 支持待办事项之间的依赖关系
|
||
- 文档可以关联多个待办事项
|
||
- 标签支持层级结构
|
||
|
||
### 4. 安全性和权限控制
|
||
|
||
#### 4.1 多租户隔离
|
||
- 每个用户的数据完全隔离
|
||
- 用户间不能查看彼此数据
|
||
- 未来可扩展为团队共享模式
|
||
|
||
#### 4.2 API密钥管理
|
||
- 用户个人的AI API密钥加密存储
|
||
- 支持平台提供密钥(配额管理)
|
||
- 密钥使用量统计和限流
|
||
|
||
#### 4.3 数据安全
|
||
- 定期自动备份
|
||
- 敏感操作二次确认
|
||
- 敏感信息脱敏显示
|
||
|
||
### 5. 性能优化点
|
||
|
||
#### 5.1 前端优化
|
||
- 图片上传前压缩(减少带宽)
|
||
- 虚拟列表(大量文档/待办场景)
|
||
- 图片懒加载
|
||
- Service Worker缓存
|
||
|
||
#### 5.2 后端优化
|
||
- OCR任务队列化(避免阻塞)
|
||
- AI分析异步处理
|
||
- 数据库查询优化(索引、分页)
|
||
- 图片CDN加速(可选)
|
||
|
||
#### 5.3 OCR优化
|
||
- 图片预处理(去噪、锐化、旋转校正)
|
||
- 文字区域检测(ROI裁剪)
|
||
- 缓存OCR结果(避免重复识别)
|
||
|
||
### 6. 可扩展性考虑
|
||
|
||
#### 6.1 插件化架构
|
||
- OCR提供商插件化
|
||
- AI提供商插件化
|
||
- 存储后端插件化(本地/OSS/S3)
|
||
|
||
#### 6.2 Webhook支持
|
||
- OCR完成通知
|
||
- AI分析完成通知
|
||
- 待办事项到期提醒
|
||
|
||
#### 6.3 API开放
|
||
- RESTful API完整文档
|
||
- Web API密钥管理
|
||
- SDK提供(Python/JavaScript)
|
||
|
||
### 7. AI Prompt工程
|
||
|
||
#### 7.1 智能标签生成Prompt(支持动态创建)
|
||
```
|
||
你是一个智能文档助手。请分析以下文本,生成3-5个最相关的标签。
|
||
|
||
要求:
|
||
1. 标签应简洁明了(2-4个字)
|
||
2. 优先提取:主题、领域、关键实体
|
||
3. 如果现有标签库中没有合适的,可以创建新标签
|
||
4. 新标签应该具有普遍性和复用性
|
||
5. 以JSON数组格式返回
|
||
|
||
用户现有标签:
|
||
{existing_tags}
|
||
|
||
文本内容:
|
||
{content}
|
||
|
||
返回格式:
|
||
{
|
||
"tags": ["标签1", "标签2", "标签3"],
|
||
"new_tags": ["新标签1"], // 如果创建了新标签
|
||
"confidence": 0.95
|
||
}
|
||
```
|
||
|
||
#### 7.2 智能分类建议Prompt(支持动态创建分类)
|
||
```
|
||
你是一个智能文档助手。请分析以下文本,判断其最合适的分类。
|
||
|
||
要求:
|
||
1. 首先从现有分类中选择最匹配的
|
||
2. 如果现有分类都不合适,创建一个新分类
|
||
3. 新分类名称应该简洁、清晰、有概括性
|
||
4. 推荐一个合适的图标emoji
|
||
|
||
现有分类:
|
||
{existing_categories}
|
||
|
||
文本内容:
|
||
{content}
|
||
|
||
返回格式:
|
||
{
|
||
"category": "分类名称", // 已有或新建
|
||
"is_new": false, // 是否新建
|
||
"suggested_icon": "📄", // 推荐图标
|
||
"confidence": 0.88,
|
||
"reason": "分类理由"
|
||
}
|
||
```
|
||
|
||
#### 7.3 文档类型智能检测Prompt
|
||
```
|
||
你是一个智能文档类型识别助手。请分析以下文本,判断文档类型。
|
||
|
||
常见文档类型:
|
||
- 会议记录:包含会议、讨论、纪要等关键词
|
||
- 待办事项:包含任务、计划、TODO等
|
||
- 学习笔记:包含笔记、重点、总结等
|
||
- 发票/票据:包含金额、日期、发票等
|
||
- 合同/协议:包含条款、签署、协议等
|
||
- 资料文章:一般性文章、资料
|
||
- 代码/技术:包含代码、技术文档
|
||
- 其他:无法明确分类
|
||
|
||
文本内容:
|
||
{content}
|
||
|
||
返回格式:
|
||
{
|
||
"type": "meeting_notes", // 类型标识
|
||
"type_name": "会议记录", // 类型显示名
|
||
"confidence": 0.92
|
||
}
|
||
```
|
||
|
||
#### 7.4 待办提取Prompt(增强版)
|
||
```
|
||
你是一个智能待办助手。请从以下文本中提取待办事项。
|
||
|
||
要求:
|
||
1. 识别所有行动项和任务
|
||
2. 提取优先级(根据紧急程度关键词:紧急、重要、尽快等)
|
||
3. 如果有明确时间,提取截止日期
|
||
4. 每个待办事项简洁明确
|
||
5. 如果文本本身就是要办事项列表,直接提取
|
||
|
||
文本内容:
|
||
{content}
|
||
|
||
返回JSON格式:
|
||
{
|
||
"todos": [
|
||
{
|
||
"title": "完成项目报告",
|
||
"description": "需要在周五前提交给经理",
|
||
"priority": "high",
|
||
"due_date": "2024-01-12", // 如果有明确日期
|
||
"suggested_tags": ["工作", "报告"]
|
||
}
|
||
],
|
||
"is_todo_list": true // 是否本身就是待办列表
|
||
}
|
||
```
|
||
|
||
#### 7.5 图片质量评估Prompt
|
||
```
|
||
你是一个图片质量评估助手。请评估以下OCR结果的质量。
|
||
|
||
OCR结果:
|
||
{ocr_result}
|
||
置信度:{confidence}
|
||
|
||
请评估:
|
||
1. 文本是否完整可读
|
||
2. 是否有明显错误或乱码
|
||
3. 是否有重要信息缺失
|
||
|
||
返回格式:
|
||
{
|
||
"quality": "good", // good/acceptable/poor
|
||
"confidence_score": 0.75, // 综合质量分数
|
||
"issues": [], // 发现的问题列表
|
||
"suggestion": "continue" // continue/manual/retry
|
||
}
|
||
```
|
||
|
||
### 8. 创意功能想法
|
||
|
||
#### 8.1 智能推荐
|
||
- 基于历史行为推荐标签
|
||
- 相似文档推荐
|
||
- 智能归档建议
|
||
- **动态分类建议**:根据内容自动创建新分类
|
||
- **标签自动补全**:输入时智能推荐相关标签
|
||
|
||
#### 8.2 数据可视化
|
||
- 标签云展示(大小随使用频率变化)
|
||
- 待办完成率图表
|
||
- 文档创建趋势
|
||
- **三种状态待办统计**:未完成/已完成/已确认占比
|
||
|
||
#### 8.3 快捷操作
|
||
- 拖拽截图到浏览器自动上传
|
||
- 邮件转发创建待办
|
||
- 微信/钉钉机器人集成
|
||
- **全局快捷键截图**:系统级快捷键触发截图上传
|
||
|
||
#### 8.4 AI增强
|
||
- 自动提取文档关键信息(日期、人名、金额)
|
||
- 智能总结长文档
|
||
- 多文档合并分析
|
||
- **AI创建新类型**:根据内容自动创建新的文档/待办类型
|
||
- **智能分类图标**:为新分类自动匹配合适的emoji图标
|
||
|
||
#### 8.5 待处理图片优化
|
||
- **图片自动增强**:模糊检测、自动锐化、降噪
|
||
- **批量处理**:一键重试所有待处理图片
|
||
- **智能裁剪**:自动检测并裁剪到文字区域
|
||
- **OCR提示**:对于模糊图片给出改善建议
|
||
|
||
#### 8.6 三状态待办工作流
|
||
- **自动化流转**: overdue自动提醒 → completed自动归档
|
||
- **批量确认**:一键确认所有已完成待办
|
||
- **定时清理**:已确认超过N天的自动归档
|
||
- **完成感奖励**:完成任务时的动效反馈
|
||
|
||
---
|
||
|
||
## 决策记录
|
||
|
||
| 决策点 | 选择方案 | 理由 | 时间 |
|
||
|--------|----------|------|------|
|
||
| 前端框架 | React | 生态丰富,Ant Design组件库成熟 | 2026-02-21 |
|
||
| 后端框架 | Express | 成熟稳定,中间件丰富 | 2026-02-21 |
|
||
| 数据库 | SQLite开发/PG生产 | 开发简单,生产可扩展 | 2026-02-21 |
|
||
| OCR方案 | 可配置(本地+云端) | 灵活性最高,适应不同场景 | 2026-02-21 |
|
||
| AI集成 | 抽象层设计 | 便于扩展新提供商 | 2026-02-21 |
|
||
|
||
---
|
||
|
||
## 待讨论问题
|
||
|
||
1. [ ] 是否需要支持批量导入历史图片?
|
||
2. [ ] 待办事项是否需要支持子任务?
|
||
3. [ ] 是否需要文档版本历史?
|
||
4. [ ] 是否需要支持全文搜索(高亮)?
|
||
5. [ ] 是否需要导出功能(PDF/Word)?
|
||
|
||
---
|
||
|
||
## 下一步行动
|
||
|
||
- [x] 完成需求文档
|
||
- [x] 完成头脑风暴记录
|
||
- [ ] 技术选型确认
|
||
- [ ] 架构设计文档
|
||
- [ ] 详细开发计划
|