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]
|