refactor: 重构为极简截图上传工具
- 简化项目定位:从智能工具转为极简截图上传工具 - 移除重型依赖:torch、transformers、paddleocr、SQLAlchemy - 新增轻量级核心模块: - config.py: 简化 YAML 配置管理 - database.py: 原生 SQLite 存储 - screenshot.py: 截图功能(全屏/区域) - uploader.py: 云端上传(支持 custom/telegraph/imgur) - plugins/ocr.py: 可选 RapidOCR 插件 - 重写主窗口:专注核心功能,移除复杂 UI - 更新依赖:核心 ~50MB,OCR 可选 - 更新文档:新的 README 和需求分析 v2 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
166
README.md
166
README.md
@@ -1,125 +1,113 @@
|
||||
# CutThenThink
|
||||
|
||||
智能截图OCR与AI分析工具
|
||||
**极简截图上传工具**
|
||||
|
||||
## 项目简介
|
||||
|
||||
CutThenThink 是一款基于 PyQt6 的桌面应用程序,集成了OCR文字识别和AI智能分析功能。用户可以通过截图、选择区域,然后使用OCR提取文字,并利用多种AI模型进行智能分析和处理。
|
||||
CutThenThink 是一个轻量级的桌面截图工具,专注于:
|
||||
- 📷 快速截图(全屏/区域)
|
||||
- ☁️ 云端上传(支持多种服务)
|
||||
- 📁 历史记录管理
|
||||
- 🔍 可选 OCR 文字识别
|
||||
|
||||
## 主要功能
|
||||
## 特点
|
||||
|
||||
- **智能截图**: 支持多种方式截图(矩形选择、窗口选择、全屏等)
|
||||
- **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
|
||||
- **轻量级**:核心依赖仅 ~50MB
|
||||
- **可选 OCR**:RapidOCR 插件,按需安装
|
||||
- **无重型依赖**:移除了 torch、transformers、paddleocr
|
||||
- **简单配置**:YAML 单文件配置
|
||||
- **跨平台**:支持 Windows、macOS、Linux
|
||||
|
||||
## 安装
|
||||
|
||||
### 环境要求
|
||||
### 基础安装
|
||||
|
||||
- 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
|
||||
python src/main.py
|
||||
```
|
||||
|
||||
4. 配置AI服务
|
||||
### 可选:安装 OCR 支持
|
||||
|
||||
创建配置文件 `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
|
||||
pip install -r requirements-ocr.txt
|
||||
```
|
||||
|
||||
## 使用方法
|
||||
|
||||
启动应用:
|
||||
```bash
|
||||
python src/main.py
|
||||
```
|
||||
### 快捷键
|
||||
|
||||
默认快捷键:
|
||||
- `Ctrl+Shift+A`: 截图并分析
|
||||
- `Ctrl+Shift+S`: 仅截图
|
||||
- `Ctrl+Shift+H`: 打开历史记录
|
||||
- `Esc`: 取消截图
|
||||
| 快捷键 | 功能 |
|
||||
|--------|------|
|
||||
| `Ctrl+Shift+A` | 全屏截图 |
|
||||
| `Ctrl+Shift+R` | 区域截图 |
|
||||
| `Ctrl+Shift+U` | 上传最后截图 |
|
||||
| `Esc` | 退出 |
|
||||
|
||||
### 配置
|
||||
|
||||
配置文件位于 `~/.cutthenthink/config.yaml`:
|
||||
|
||||
```yaml
|
||||
upload:
|
||||
provider: custom # custom, telegraph, imgur
|
||||
endpoint: https://...
|
||||
api_key: your-key
|
||||
auto_copy: true
|
||||
|
||||
screenshot:
|
||||
format: png # png, jpg, webp
|
||||
save_path: ~/Pictures/Screenshots
|
||||
|
||||
hotkeys:
|
||||
capture: Ctrl+Shift+A
|
||||
region: Ctrl+Shift+R
|
||||
upload: Ctrl+Shift+U
|
||||
|
||||
ocr:
|
||||
enabled: false # 是否启用 OCR
|
||||
auto_copy: false # 识别后自动复制
|
||||
```
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
CutThenThink/
|
||||
├── src/
|
||||
│ ├── gui/ # GUI组件
|
||||
│ │ ├── widgets/ # 自定义控件
|
||||
│ │ └── styles/ # 样式文件
|
||||
│ ├── core/ # 核心功能
|
||||
│ ├── models/ # 数据模型
|
||||
│ ├── config/ # 配置管理
|
||||
│ └── utils/ # 工具函数
|
||||
├── data/ # 数据目录
|
||||
│ ├── images/ # 截图存储
|
||||
│ └── database/ # 数据库文件
|
||||
├── requirements.txt # 项目依赖
|
||||
├── .gitignore # Git忽略文件
|
||||
└── README.md # 项目说明
|
||||
│ ├── main.py # 入口
|
||||
│ ├── config.py # 简化配置
|
||||
│ ├── core/
|
||||
│ │ ├── database.py # SQLite 存储
|
||||
│ │ ├── screenshot.py # 截图功能
|
||||
│ │ └── uploader.py # 上传功能
|
||||
│ ├── gui/
|
||||
│ │ └── main_window.py # 主窗口
|
||||
│ ├── plugins/ # 可选插件
|
||||
│ │ └── ocr.py # RapidOCR 插件
|
||||
│ └── utils/ # 工具函数
|
||||
├── requirements.txt # 核心依赖
|
||||
├── requirements-ocr.txt # 可选 OCR
|
||||
└── config.yaml # 配置文件
|
||||
```
|
||||
|
||||
## 开发计划
|
||||
## 开发
|
||||
|
||||
- [x] 项目初始化
|
||||
- [ ] 基础GUI框架搭建
|
||||
- [ ] 截图功能实现
|
||||
- [ ] OCR识别集成
|
||||
- [ ] AI分析功能
|
||||
- [ ] 数据库存储
|
||||
- [ ] 历史记录管理
|
||||
- [ ] 配置系统
|
||||
- [ ] 快捷键支持
|
||||
- [ ] 打包发布
|
||||
```bash
|
||||
# 安装开发依赖
|
||||
pip install -r requirements.txt
|
||||
|
||||
## 贡献指南
|
||||
# 运行
|
||||
python src/main.py
|
||||
```
|
||||
|
||||
欢迎提交Issue和Pull Request!
|
||||
## 构建
|
||||
|
||||
使用 PyInstaller 打包:
|
||||
|
||||
```bash
|
||||
pyinstaller CutThenThink.spec
|
||||
```
|
||||
|
||||
## 许可证
|
||||
|
||||
MIT License
|
||||
|
||||
## 联系方式
|
||||
|
||||
- 项目地址: [GitHub Repository]
|
||||
- 问题反馈: [Issues]
|
||||
|
||||
Reference in New Issue
Block a user