项目初始化 - 创建完整项目结构(src/, data/, docs/, examples/, tests/) - 配置requirements.txt依赖 - 创建.gitignore P0基础框架 - 数据库模型:Record模型,6种分类类型 - 配置管理:YAML配置,支持AI/OCR/云存储/UI配置 - OCR模块:PaddleOCR本地识别,支持云端扩展 - AI模块:支持OpenAI/Claude/通义/Ollama,6种分类 - 存储模块:完整CRUD,搜索,统计,导入导出 - 主窗口框架:侧边栏导航,米白配色方案 - 图片处理:截图/剪贴板/文件选择/图片预览 - 处理流程整合:OCR→AI→存储串联,Markdown展示,剪贴板复制 - 分类浏览:卡片网格展示,分类筛选,搜索,详情查看 技术栈 - PyQt6 + SQLAlchemy + PaddleOCR + OpenAI/Claude SDK - 共47个Python文件,4000+行代码 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
126 lines
2.8 KiB
Markdown
126 lines
2.8 KiB
Markdown
# CutThenThink
|
||
|
||
智能截图OCR与AI分析工具
|
||
|
||
## 项目简介
|
||
|
||
CutThenThink 是一款基于 PyQt6 的桌面应用程序,集成了OCR文字识别和AI智能分析功能。用户可以通过截图、选择区域,然后使用OCR提取文字,并利用多种AI模型进行智能分析和处理。
|
||
|
||
## 主要功能
|
||
|
||
- **智能截图**: 支持多种方式截图(矩形选择、窗口选择、全屏等)
|
||
- **OCR识别**: 基于PaddleOCR的高精度文字识别
|
||
- **AI分析**: 支持多种AI模型(OpenAI GPT、Anthropic Claude等)
|
||
- **内容编辑**: 内置编辑器,支持图片标注和文字编辑
|
||
- **历史记录**: 本地数据库保存所有截图和分析记录
|
||
- **快捷操作**: 全局快捷键支持,快速截图和分析
|
||
|
||
## 技术栈
|
||
|
||
- **GUI框架**: PyQt6 6.6.1
|
||
- **数据库**: SQLAlchemy 2.0.25
|
||
- **OCR引擎**: PaddleOCR 2.7.0.3
|
||
- **AI模型**: OpenAI API、Anthropic API
|
||
- **图像处理**: Pillow 10.0.0
|
||
|
||
## 安装
|
||
|
||
### 环境要求
|
||
|
||
- Python 3.8+
|
||
- 操作系统: Windows / macOS / Linux
|
||
|
||
### 安装步骤
|
||
|
||
1. 克隆项目
|
||
```bash
|
||
git clone <repository_url>
|
||
cd CutThenThink
|
||
```
|
||
|
||
2. 创建虚拟环境
|
||
```bash
|
||
python -m venv venv
|
||
source venv/bin/activate # Linux/macOS
|
||
# 或
|
||
venv\Scripts\activate # Windows
|
||
```
|
||
|
||
3. 安装依赖
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
4. 配置AI服务
|
||
|
||
创建配置文件 `config.yaml`:
|
||
```yaml
|
||
ai:
|
||
provider: "openai" # 或 "anthropic"
|
||
openai:
|
||
api_key: "your-openai-api-key"
|
||
model: "gpt-4"
|
||
anthropic:
|
||
api_key: "your-anthropic-api-key"
|
||
model: "claude-3-sonnet-20240229"
|
||
```
|
||
|
||
## 使用方法
|
||
|
||
启动应用:
|
||
```bash
|
||
python src/main.py
|
||
```
|
||
|
||
默认快捷键:
|
||
- `Ctrl+Shift+A`: 截图并分析
|
||
- `Ctrl+Shift+S`: 仅截图
|
||
- `Ctrl+Shift+H`: 打开历史记录
|
||
- `Esc`: 取消截图
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
CutThenThink/
|
||
├── src/
|
||
│ ├── gui/ # GUI组件
|
||
│ │ ├── widgets/ # 自定义控件
|
||
│ │ └── styles/ # 样式文件
|
||
│ ├── core/ # 核心功能
|
||
│ ├── models/ # 数据模型
|
||
│ ├── config/ # 配置管理
|
||
│ └── utils/ # 工具函数
|
||
├── data/ # 数据目录
|
||
│ ├── images/ # 截图存储
|
||
│ └── database/ # 数据库文件
|
||
├── requirements.txt # 项目依赖
|
||
├── .gitignore # Git忽略文件
|
||
└── README.md # 项目说明
|
||
```
|
||
|
||
## 开发计划
|
||
|
||
- [x] 项目初始化
|
||
- [ ] 基础GUI框架搭建
|
||
- [ ] 截图功能实现
|
||
- [ ] OCR识别集成
|
||
- [ ] AI分析功能
|
||
- [ ] 数据库存储
|
||
- [ ] 历史记录管理
|
||
- [ ] 配置系统
|
||
- [ ] 快捷键支持
|
||
- [ ] 打包发布
|
||
|
||
## 贡献指南
|
||
|
||
欢迎提交Issue和Pull Request!
|
||
|
||
## 许可证
|
||
|
||
MIT License
|
||
|
||
## 联系方式
|
||
|
||
- 项目地址: [GitHub Repository]
|
||
- 问题反馈: [Issues]
|