congsh a5897a1cd8 fix: 移除tkinter依赖,改用PyQt6实现
- message_handler.py: 重写为兼容模式,tkinter不可用时使用PyQt6
- result_widget.py: 完全重写为PyQt6版本
- models/__init__.py: 更新导出BaseModel而非Base
- build.bat: 添加PyQt6的hidden-import参数

这样可以解决Windows打包时tkinter模块找不到的问题
2026-02-12 11:25:14 +08:00

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. 克隆项目
git clone <repository_url>
cd CutThenThink
  1. 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/macOS
# 或
venv\Scripts\activate  # Windows
  1. 安装依赖
pip install -r requirements.txt
  1. 配置AI服务

创建配置文件 config.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"

使用方法

启动应用:

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            # 项目说明

开发计划

  • 项目初始化
  • 基础GUI框架搭建
  • 截图功能实现
  • OCR识别集成
  • AI分析功能
  • 数据库存储
  • 历史记录管理
  • 配置系统
  • 快捷键支持
  • 打包发布

贡献指南

欢迎提交Issue和Pull Request

许可证

MIT License

联系方式

  • 项目地址: [GitHub Repository]
  • 问题反馈: [Issues]
Description
No description provided
Readme 334 KiB
Languages
Python 72.2%
HTML 24.2%
Batchfile 2.8%
Shell 0.8%