# CutThenThink 实施计划 ## 项目初始化 ✅ ### 1. 创建项目结构 ✅ ``` CutThenThink/ ├── src/ │ ├── __init__.py │ ├── main.py # 应用入口 │ ├── gui/ # GUI模块 │ │ ├── __init__.py │ │ ├── main_window.py # 主窗口 │ │ ├── widgets/ # 自定义组件 │ │ └── styles/ # 样式表 │ ├── core/ # 核心业务逻辑 │ │ ├── __init__.py │ │ ├── ocr.py # OCR处理 │ │ ├── ai.py # AI分类 │ │ └── storage.py # 数据存储 │ ├── models/ # 数据模型 │ │ ├── __init__.py │ │ └── database.py # SQLAlchemy模型 │ ├── config/ # 配置管理 │ │ ├── __init__.py │ │ └── settings.py │ └── utils/ # 工具函数 │ ├── __init__.py │ └── helpers.py ├── data/ # 数据目录 │ ├── images/ # 图片存储 │ └── cut_think.db # SQLite数据库 ├── design/ # 设计文件 ├── docs/ # 文档 ├── requirements.txt # Python依赖 ├── .gitignore └── README.md ``` ### 2. 创建 requirements.txt ✅ ``` PyQt6==6.6.1 PyQt6-WebEngine==6.6.0 SQLAlchemy==2.0.25 paddleocr==2.7.0.3 paddlepaddle==2.6.0 openai>=1.0.0 anthropic>=0.18.0 requests>=2.31.0 pyyaml>=6.0.1 pillow>=10.0.0 pyperclip>=1.8.2 ``` ### 3. 创建 .gitignore ✅ ``` __pycache__/ *.pyc *.pyo *.pyd .Python env/ venv/ .venv/ data/ *.db *.log dist/ build/ *.spec ``` ## P0: 基础框架 + 核心功能 ### 步骤 1: 数据库模型 ✅ - [x] 创建 `models/database.py` - [x] 定义 Record 模型(id, image_path, ocr_text, category, ai_result, tags, notes, created_at, updated_at) - [x] 创建数据库初始化函数 - [x] 定义 RecordCategory(TODO, NOTE, IDEA, REF, FUNNY, TEXT 6种分类) ### 步骤 2: 配置管理 ✅ - [x] 创建 `config/settings.py` - [x] 定义配置结构(AI配置、OCR配置、云存储配置、UI配置、高级配置) - [x] 实现配置加载/保存(YAML格式) - [x] 实现配置验证功能 - [x] 实现配置管理器(单例模式) - [x] 支持嵌套配置访问(点分隔路径) ### 步骤 3: OCR 模块 ✅ - [x] 创建 `core/ocr.py` - [x] 实现 PaddleOCR 本地识别 - [x] 定义 OCR 接口基类(便于扩展云端OCR) ### 步骤 4: AI 模块 ✅ - [x] 创建 `core/ai.py` - [x] 实现 OpenAI API 调用 - [x] 实现分类提示词模板 - [x] 定义分类结果数据结构 - [x] 支持多个 AI 提供商(OpenAI, Claude, 通义千问, Ollama) - [x] 实现错误处理和重试机制 - [x] 支持 6 种分类类型(TODO, NOTE, IDEA, REF, FUNNY, TEXT) ### 步骤 5: 存储模块 - [ ] 创建 `core/storage.py` - [ ] 实现 CRUD 操作(创建记录、查询记录、更新记录、删除记录) - [ ] 实现按分类查询 ### 步骤 6: 主窗口框架 - [ ] 创建 `gui/main_window.py` - [ ] 实现侧边栏导航 - [ ] 实现主内容区域布局 - [ ] 实现样式表(米白配色方案) ### 步骤 7: 图片处理功能 - [ ] 实现截图功能(全局快捷键) - [ ] 实现剪贴板监听 - [ ] 实现图片文件选择 - [ ] 实现图片预览 ### 步骤 8: 处理流程整合 - [ ] OCR → AI → 存储 流程串联 - [ ] 实现 Markdown 结果展示 - [ ] 实现复制到剪贴板功能 ### 步骤 9: 分类浏览 - [ ] 实现全部记录列表 - [ ] 实现按分类筛选 - [ ] 实现卡片样式展示 ## P1: 批量上传 + 完整分类 ### 步骤 10: 批量上传界面 - [ ] 创建批量上传窗口 - [ ] 实现拖放上传 - [ ] 实现多图片预览列表 - [ ] 实现批量选择/删除 ### 步骤 11: 队列处理 - [ ] 实现任务队列 - [ ] 实现进度显示 - [ ] 实现并发控制 ### 步骤 12: 完整分类支持 - [ ] 支持 6 种分类类型 - [ ] 实现分类颜色标签 - [ ] 实现分类统计 ### 步骤 13: 云端 OCR - [ ] 实现百度 OCR 接口 - [ ] 实现腾讯 OCR 接口 - [ ] 实现自动降级机制 ### 步骤 14: 更多 AI 提供商 - [ ] 支持 Claude API - [ ] 支持通义千问 - [ ] 支持本地 Ollama ## P2: 云存储同步 + 高级配置 ### 步骤 15: 设置界面 - [ ] 创建设置窗口 - [ ] AI 配置面板 - [ ] OCR 配置面板 - [ ] 快捷键配置 - [ ] 提示词模板编辑 ### 步骤 16: 云存储集成 - [ ] WebDAV 支持 - [ ] 阿里云 OSS 支持 - [ ] AWS S3 支持 - [ ] 同步状态显示 ### 步骤 17: 详情弹窗 - [ ] 原图查看 - [ ] Markdown 渲染 - [ ] 编辑功能 - [ ] 删除确认 ## P3: 多用户隔离 + 导入导出 ### 步骤 18: 数据导出 - [ ] 导出全部为 Markdown - [ ] 按分类导出 - [ ] 数据库备份/恢复 ### 步骤 19: 打包配置 - [ ] PyInstaller 配置 - [ ] 图标设置 - [ ] 单文件打包 ## 验证标准 每个步骤完成后需验证: - [ ] 代码运行无错误 - [ ] 功能按预期工作 - [ ] 代码符合项目规范 --- **总计**: 19 个主要步骤,约 50+ 个子任务