基于 PaddleOCR + LangChain Agent 的智能错题本生成系统。上传试卷 PDF 或图片,自动识别文档结构、智能分割题目、OCR 纠错,导出为 Markdown 错题本并存入错题库。支持 AI 解题与教学讲解、笔记整理、独立 AI 对话、错题复习计划与数据统计。
| 首页 | 错题工作台 |
|---|---|
![]() |
![]() |
| 笔记整理 | 主题切换 |
|---|---|
![]() |
![]() |
| AI 找题 | Provider 配置 |
|---|---|
![]() |
![]() |
- 智能分割:LLM Agent 自动识别题目边界,支持批次并行处理,跨页去重
- OCR 纠错:LLM 对识别结果进行结构化纠错,还原原题格式
- 手写擦除:EnsExam 模型自动擦除手写字迹,提升 OCR 精度
- OCR 预览:识别结果 bbox 框标注叠加在原图上,直观预览
- 错题库:SQLite 持久化存储,支持按科目、题型、知识点筛选和统计
- 笔记整理:上传手写笔记图片,OCR + LLM 自动结构化整理为 Markdown
- AI 解题:独立解题 Agent,逐步给出解题过程
- AI 教学:教学讲解 Agent,绑定错题上下文的一对一辅导
- AI 对话:独立多轮对话,支持 SSE 流式输出和深度思考(DeepSeek Reasoner);会话对外使用 UUID public_id,避免暴露数据库自增主键,并支持
/app/ai-chat/:sessionId直达历史会话 - 复习计划:间隔复习,追踪错题掌握状态
- 数据统计:Dashboard 可视化,按科目/题型/时间维度分析
- 导出:导出为 Markdown 文件,按大题分组
├── apps/
│ ├── backend/ # Flask API、OCR/Agent 工作流和 SQLite
│ ├── frontend/ # Vue 3 Web 应用
│ ├── mobile/ # Flutter 手机客户端
│ └── ui-showcase/ # Web 基础组件展示站
├── docs/
│ ├── development/ # 架构和代码规范
│ ├── workflow/ # 环境、测试与协作流程
│ ├── deploy/ # 部署与 CI/CD 文档
│ └── assets/ # 文档图片和演示资源
├── scripts/ # 本地初始化、检查和开发启动脚本
└── .github/workflows/ # 分应用 CI 与生产发布流程
详细目录职责和数据流见项目结构说明。
README 只介绍项目定位、功能和目录结构;完整入口见项目文档:
- 项目结构说明:应用边界、目录职责、请求流和 CI/CD 边界
- 开发启动规则:本地环境要求、PowerShell 启动、自动重载和可选 Docker 开发模式
- 环境配置规则:依赖、
.env、Provider 和新人初始化 - 测试构建规则:后端测试、前端测试和生产构建
- 变更同步规则:代码、文档、配置和测试的同步要求
- 协作提交流程规则:fork、分支、PR 和 review 流程
- 生产环境 CI/CD 发布流程
- 1Panel 服务器初始化
- 移动端文档:Flutter 启动、BLE 权限和构建
PDF(.pdf)、图片(.jpg .jpeg .png .bmp .tiff .webp),单次上传限制 50 MB。
项目规则和协作约定集中维护在 AGENTS.md 与项目文档。
本项目基于 AGPL-3.0 开源。任何修改或基于本项目的衍生作品(包括网络服务部署)均须以相同许可证开源。





