一个智能的错题本应用,使用 AI 技术帮助学生识别、分析和纠正错题。
- 📷 智能 OCR 识别:使用智谱AI视觉模型(glm-4.6v-flash)识别题目图片
- 🤖 AI 题目分析:自动分析题目类型、难度、正确答案
- 📝 错题原因分析:识别错误类型(计算错误、概念不清、审题错误、粗心大意)
- 🔄 类似题目生成:根据错题自动生成类似题目供练习
- 👥 用户数据隔离:每个用户只能看到自己的题目和生成的类似题目
- 👤 用户名修改:支持修改用户名、学生姓名和年级信息
- 📊 统计分析:统计错题类型、科目分布、错误趋势
- 🔐 用户认证:支持注册和登录功能
- 📱 视图模式持久化:支持卡片和表格视图切换
- React - UI 框架
- React Router - 路由管理
- Material-UI - UI 组件库
- Axios - HTTP 客户端
- Node.js - 运行时环境
- Express - Web 框架
- MongoDB - 数据库
- JWT - 身份认证
- Python/Flask - OCR 服务
- 智谱AI - 云端 AI 服务(glm-4.6v-flash)
- DeepSeek - 本地 LLM 模型(可选)
- Tesseract OCR - 本地 OCR 备用方案
wrong-question-app/
├── client/ # 前端 React 应用
│ ├── public/
│ ├── src/
│ │ ├── components/ # React 组件
│ │ ├── contexts/ # Context API
│ │ └── ...
│ └── ...
├── server/ # 后端 Node.js 服务器
│ ├── models/ # 数据模型
│ ├── routes/ # API 路由
│ ├── middleware/ # 中间件
│ └── ...
├── ocr_server/ # OCR Python 服务
│ ├── api_llm_client.py # AI 客户端
│ ├── llm_client.py # LLM 客户端
│ ├── app.py # Flask 应用
│ └── requirements.md # 项目依赖说明
└── README.md # 项目说明
- Node.js 18+
- Python 3.8+
- MongoDB 4.4+
- npm 或 yarn
npm installcd ocr_server
pip install -r requirements.txt创建 .env 文件(参考 .env.example):
# 通用 API 密钥
TONGYI_API_KEY=your_tongyi_api_key_here
DEEPSEEK_API_KEY=your_deepseek_api_key_here
ZHIPU_API_KEY=your_zhipu_api_key_here
# 模型配置
ZHIPU_VISION_MODEL=glm-4.6v
ZHIPU_ANALYSIS_MODEL=glm-4.7-flash
# Ollama 模型(可选)
OLLAMA_MODEL=qwen2.5-vl:7b
# API 超时时间(秒)
API_TIMEOUT=60cd server
npm start服务将在以下端口运行:
cd ocr_server
python app.py首次使用需要注册账号:
- 打开应用,点击"注册"
- 填写用户名、密码和邮箱
- 注册后登录
- 点击"上传错题"或"开始识别"
- 选择或拖拽错题图片
- 系统自动识别题目内容、正确答案、学生答案、错误原因等
系统会自动分析并显示:
- 题目内容
- 题目类型(选择题、填空题等)
- 正确答案
- 学生答案
- 错误原因分析
- 错误类型(计算错误、概念不清、审题错误、粗心大意)
- 难度等级
- 在错题详情页面点击"生成类似题目"
- AI 自动生成 3 道类似题目
- 可用于练习巩固
在"统计"页面查看:
- 错题类型分布
- 科目分布
- 错误趋势
- 学习进度
使用 Tesseract OCR 识别图片(备用方案)
使用 Ollama 本地模型分析题目
使用智谱AI视觉模型智能分析题目(推荐)
生成类似题目
POST /api/auth/register- 用户注册POST /api/auth/login- 用户登录GET /api/auth/verify- 验证 Token
POST /api/questions- 创建题目GET /api/questions- 获取题目列表GET /api/questions/:id- 获取题目详情PUT /api/questions/:id- 更新题目DELETE /api/questions/:id- 删除题目
POST /api/ai/analyze- AI 分析题目POST /api/ai/generate-similar- 生成类似题目GET /api/ai/statistics- 获取统计数据
- 支持批量上传图片
- 添加错题标签功能
- 添加学习进度追踪
- 支持错题分享功能
- 添加错题本模板
- 支持导出 PDF
欢迎贡献!请遵循以下步骤:
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
MIT License
如有问题或建议,请提交 Issue 或 Pull Request。
注意:本项目使用 AI 服务,需要配置相应的 API 密钥才能使用完整功能。