2026-02-11 18:21:31 +08:00
|
|
|
|
# CutThenThink
|
|
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
**极简截图上传工具**
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
|
|
|
|
|
## 项目简介
|
|
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
CutThenThink 是一个轻量级的桌面截图工具,专注于:
|
|
|
|
|
|
- 📷 快速截图(全屏/区域)
|
|
|
|
|
|
- ☁️ 云端上传(支持多种服务)
|
|
|
|
|
|
- 📁 历史记录管理
|
|
|
|
|
|
- 🔍 可选 OCR 文字识别
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
## 特点
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
- **轻量级**:核心依赖仅 ~50MB
|
|
|
|
|
|
- **可选 OCR**:RapidOCR 插件,按需安装
|
|
|
|
|
|
- **无重型依赖**:移除了 torch、transformers、paddleocr
|
|
|
|
|
|
- **简单配置**:YAML 单文件配置
|
|
|
|
|
|
- **跨平台**:支持 Windows、macOS、Linux
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
|
|
|
|
|
## 安装
|
|
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
### 基础安装
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-02-12 15:50:51 +08:00
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
|
python src/main.py
|
2026-02-11 18:21:31 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
### 可选:安装 OCR 支持
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-02-12 15:50:51 +08:00
|
|
|
|
pip install -r requirements-ocr.txt
|
2026-02-11 18:21:31 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
## 使用方法
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
### 快捷键
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
| 快捷键 | 功能 |
|
|
|
|
|
|
|--------|------|
|
|
|
|
|
|
| `Ctrl+Shift+A` | 全屏截图 |
|
|
|
|
|
|
| `Ctrl+Shift+R` | 区域截图 |
|
|
|
|
|
|
| `Ctrl+Shift+U` | 上传最后截图 |
|
|
|
|
|
|
| `Esc` | 退出 |
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
### 配置
|
|
|
|
|
|
|
|
|
|
|
|
配置文件位于 `~/.cutthenthink/config.yaml`:
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
```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 # 识别后自动复制
|
|
|
|
|
|
```
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
CutThenThink/
|
|
|
|
|
|
├── src/
|
2026-02-12 15:50:51 +08:00
|
|
|
|
│ ├── 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 # 配置文件
|
2026-02-11 18:21:31 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
## 开发
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 安装开发依赖
|
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
|
|
|
|
|
|
|
# 运行
|
|
|
|
|
|
python src/main.py
|
|
|
|
|
|
```
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
## 构建
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
使用 PyInstaller 打包:
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
2026-02-12 15:50:51 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
pyinstaller CutThenThink.spec
|
|
|
|
|
|
```
|
2026-02-11 18:21:31 +08:00
|
|
|
|
|
|
|
|
|
|
## 许可证
|
|
|
|
|
|
|
|
|
|
|
|
MIT License
|