Initial commit

This commit is contained in:
Zylan
2025-03-24 17:24:17 +08:00
parent 22c4e27a75
commit 5c09d536f7
5 changed files with 387 additions and 74 deletions

197
README.md
View File

@@ -1,105 +1,154 @@
# Snap Solver II
[English](README_EN.md) | 中文
## 项目概述
# 📚 Snap-Solver - AI笔试测评工具
Snap Solver II 是基于 Snap Solver 进化而来的强大的截图分析工具可以帮助用户捕获屏幕内容提取文本并使用多种先进的AI模型进行智能分析。该应用程序使用Flask作为后端提供网页界面同时在系统托盘中运行方便快速访问。
> 🔍 一键识别,自动解答
## 主要功能
## ✨ 项目简介
- **屏幕捕获**:快速截取屏幕图像
- **文本提取**:从图像中自动识别和提取文本(通过 mathpix 模型)
- **AI分析**使用多种AI模型包括GPT-4o、Claude、DeepSeek等对提取的内容进行智能分析
- **实时响应**通过WebSocket技术实现实时交互和响应
- **系统托盘集成**:应用在后台运行,通过系统托盘图标轻松访问
Snap-Solver 是一个强大的AI笔试测评工具只需**按下快捷键**,即可自动截取您电脑屏幕上的题目,通过 AI 进行识别并给出详细解答。无论是数学题、物理题、化学题、编程问题还是其他学术问题Snap-Solver 都能为您提供专业的解答。
## 技术栈
**本项目已完全开源,所有功能完全免费使用,无需付费!**
> 如需**代部署服务**,可联系:[zylanjian@outlook.com](mailto:zylanjian@outlook.com)
- **后端**Flask, Flask-SocketIO
- **前端**HTML5, CSS3, JavaScript
- **AI模型集成**
- GPT-4o
- Claude
- DeepSeek (尚在优化中)
- **图像处理**Pillow, Mathpix
- **系统集成**pyautogui, pystray
<img src="pic.jpg" alt="Snap-Solver 截图" width="400" />
## 安装指南
## 🌟 核心功能
### 环境要求
- 🖼️ **一键截图**使用快捷键Alt+Ctrl+S可自定义即可远程监控电脑屏幕
- 🌐 **局域网共享**:一处部署,多处使用,同一网络下**所有设备**均可访问
- 🔍 **OCR 文字识别**:支持 Mathpix API 识别数学公式和图片中的文字
- 🧠 **多模型支持**:同时支持 GPT-4o、Claude-3.7 和 DeepSeek 等多种 AI 模型
- 🔐 **VPN 代理支持**:可自定义 VPN 代理,支持国内用户通过代理访问 AI 模型
- 🌓 **主题切换**:支持明暗主题切换,保护您的眼睛
- 💻 **全平台支持**Windows、MacOS、Linux 系统可用,手机端可通过浏览器访问
- Python 3.8+
- pipPython包管理器
## 🛠️ 技术架构
### 安装步骤
- **后端**Flask + SocketIO提供 Web 服务和 WebSocket 实时通信
- **前端**HTML + CSS + JavaScript提供直观的用户界面
- **AI 接口**
- GPT-4oOpenAI 最的图文理解模型(无推理)
- Claude-3.7Anthropic 的高级思考型模型(默认包含推理)
- DeepSeek国产大模型支持
- Mathpix专业的数学公式和文字识别服务
1. **克隆仓库**
## 📋 使用前准备
```bash
git clone https://github.com/yourusername/Snap-Solver-II.git
cd Snap-Solver-II
```
1. **API Keys**:
- [OpenAI API Key](https://openai.com)(用于 GPT-4o
- [Anthropic API Key](https://anthropic.com)(用于 Claude-3.7,可选)
- [Mathpix API Key](https://mathpix.com)(用于 OCR 文字识别,可选)
2. **创建并激活虚拟环境**(推荐)
2. **运行环境**:
- [Python](https://www.python.org/downloads/) 3.x 版本
- 必要的 Python 依赖包
```bash
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/Mac
source .venv/bin/activate
```
## 🚀 快速开始
3. **安装依赖**
1. **克隆项目**:
```bash
git clone https://github.com/your-username/Snap-Solver.git
cd Snap-Solver
```
```bash
pip install -r requirements.txt
```
2. **进入虚拟环境**:
```bash
py -m venv .venv
.venv/Scripts/activate
```
4. **启动应用**
3. **安装依赖**:
```bash
pip install -r requirements.txt
```
```bash
python app.py
```
4. **启动应用**:
```bash
python app.py
```
应用启动后,会在系统托盘中显示一个图标,同时在同一局域网下的浏览器中访问 `http://XXX.XXX.XXX.XXX:5000` 即可打开Web界面。
5. **访问服务**:
- 本机访问:打开浏览器,访问 http://localhost:5000
- 移动设备访问:使用同一局域网内的手机、平板等设备访问 http://[服务器IP]:5000
## 使用说明
## 💡 使用指南
1. **截图分析**
- 点击"截图"按钮捕获屏幕内容
- 系统自动提取图像中的文本
- 选择AI模型进行智能分析
### 1. 首次配置
2. **文本分析**
- 直接输入或粘贴文本内容
- 选择合适的AI模型进行分析
- 获取实时智能响应
首次使用时,点击右上角的⚙️设置图标,配置
- AI 模型 API 密钥(至少需要一个)
- OCR 识别设置(可选)
- 代理设置(如需)
- 系统提示词(可自定义)
## API密钥配置
### 2. 截图解题
本应用集成了多种AI模型需要相应的API密钥才能正常工作
1. 按下手机或平板上的 `截屏` 按钮键
2. 在手机或平板上,会自动显示您的电脑屏幕截图
3. 在移动设备上裁剪您想解答的题目区域
4. 选择"发送图片至 AI"(直接分析图片)或"提取图中文本"(先识别文字再分析)
5. 等待系统处理并查看详细解答
- OpenAI (GPT-4o)
- Anthropic (Claude)
- DeepSeek
- Mathpix
### 3. 文本解题
请确保在使用相应功能前配置正确的API密钥。
如果已有题目文本,或者想要修改识别出的文字:
1. 使用"提取图中文本"功能
2. 编辑文本框中的内容
3. 点击"发送文本至 AI"获取解答
## 注意事项
## ⚙️ 高级配置
- 应用默认在端口5000上运行
- 首次使用时可能需要授予屏幕截图权限
- 所有分析都在本地处理但AI请求会发送到相应的服务提供商
您可以在设置面板中自定义多项参数:
## 贡献指南
- **AI 模型**:选择不同的 AI 模型GPT-4o、Claude-3.7、DeepSeek 等)
- **语言**:设置 AI 回答的首选语言
- **温度**:调整 AI 回答的随机性(较低值更精确,较高值更创意)
- **系统提示词**:自定义 AI 的基础行为指令
- **代理设置**:配置 HTTP 代理,便于国内用户访问
欢迎贡献代码、报告问题或提出功能建议!请通过以下方式参与项目:
1. Fork仓库
2. 创建功能分支 (git checkout -b feature/amazing-feature)
3. 提交更改 (git commit -m 'Add some amazing feature')
4. 推送到分支 (git push origin feature/amazing-feature)
5. 创建Pull Request
## 📞 获取帮助
## 许可证
[Apache License](LICENCE.md)
- 如有 bug 问题:请在本仓库提交 Issue
- 如需**部署帮助**,可联系:[zylanjian@outlook.com](mailto:zylanjian@outlook.com)
## 🔧 常见问题
### 1. 截图功能无响应?
- 确保以管理员权限运行应用
- 检查是否授予了屏幕录制权限
- 确认 Python 进程正在运行
### 2. 无法连接服务?
- 检查防火墙设置
- 确认移动设备与电脑在同一局域网
- 验证服务器 IP 地址是否正确
### 3. API 调用失败?
- 检查 API Key 是否正确设置
- 确认网络连接是否正常
- 如使用代理,检查代理设置是否正确
## 🔐 安全提示
- 您的 API 密钥存储在本地,不会上传到任何服务器
- 建议只在可信任的局域网中使用本服务
- 定期更新系统和依赖包以保障安全
## 🤝 参与贡献
欢迎提交 Issue 和 Pull Request
1. Fork 本仓库
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 提交 Pull Request
## 📜 开源协议
本项目采用 [Apache](LICENSE) 协议。
---
⭐ 如果这个项目对您有帮助,请给个 Star感谢支持