````markdown # AI 阅卷助手(AI Grading Assistant) > **技术开发文档 V1.0** > > 技术栈:**Electron + Vue3 + TypeScript + Node.js** > > 更新时间:2026-07-15 --- # 1. 项目简介 ## 1.1 项目背景 目前高校、中小学普遍已使用网上阅卷系统,但教师仍需要逐题阅读学生答案并手动评分,存在以下痛点: - 重复性劳动强 - 主观评分容易受疲劳影响 - 阅卷效率低 - 长时间阅卷容易漏判、误判 AI 阅卷助手定位为**桌面端 AI Copilot**,通过悬浮工具栏辅助教师完成阅卷,而不是替换现有阅卷系统。 整体工作流程如下: ```text 学校阅卷系统 │ ▼ 教师查看学生答案 │ ▼ 快捷键截图 │ ▼ AI 自动评分 │ ▼ 展示建议分数及扣分原因 │ ▼ 教师确认或修改 ``` 整个过程无需修改学校现有系统,实现"零侵入式"接入。 --- # 2. 项目目标 构建一款跨平台桌面应用,实现以下能力: - 全局悬浮工具栏 - 全局快捷键截图 - AI 图片识别 - AI 智能阅卷 - 评分标准管理 - 历史记录管理 - 多模型切换 - 本地模型支持(后续) --- # 3. 技术架构 ## 3.1 技术栈 | 模块 | 技术 | |------|------| | 桌面框架 | Electron | | 前端框架 | Vue3 | | 开发语言 | TypeScript | | UI组件 | Element Plus | | 状态管理 | Pinia | | 路由 | Vue Router | | 网络请求 | Axios | | AI接口 | OpenAI Compatible API | | 数据库 | SQLite | | ORM | Prisma(可选) | | 配置管理 | electron-store | | 日志 | electron-log | | 图片处理 | Sharp | | OCR(可选) | PaddleOCR | --- ## 3.2 系统架构 ```text Electron ┌──────────────────────┐ │ Main Process │ └──────────┬────────────┘ │ IPC ┌────────────────────┼────────────────────┐ │ │ │ ▼ ▼ ▼ Renderer Screenshot AI Service (Vue3) Module (Node) │ │ │ │ ▼ │ │ Image Processing │ │ │ └───────────────► SQLite ◄────────────────┘ ``` --- # 4. 项目目录结构 ```text ai-grading-assistant ├── electron │ ├── main │ │ ├── main.ts │ │ ├── window.ts │ │ ├── shortcut.ts │ │ ├── screenshot.ts │ │ ├── ipc.ts │ │ └── tray.ts │ │ │ └── preload │ └── preload.ts │ ├── src │ ├── api │ ├── assets │ ├── components │ ├── composables │ ├── layouts │ ├── pages │ ├── router │ ├── stores │ ├── services │ ├── styles │ ├── types │ ├── utils │ ├── App.vue │ └── main.ts │ ├── database │ ├── sqlite.ts │ ├── schema.sql │ └── migration │ ├── prompts │ ├── config │ ├── logs │ └── package.json ``` --- # 5. 功能模块设计 ## 5.1 悬浮工具栏 ### 功能 始终悬浮于所有窗口顶部。 功能按钮: ```text ┌────────────────────────────────────┐ │ 📷截图 │ ⚡阅卷 │ 📚模板 │ 📜历史 │ ⚙设置 │ └────────────────────────────────────┘ ``` 特点: - 无边框 - 半透明 - 可拖拽 - 自动吸附屏幕边缘 - 支持隐藏 Electron 配置: ```typescript new BrowserWindow({ width: 420, height: 60, frame: false, transparent: true, alwaysOnTop: true, skipTaskbar: true, resizable: false }) ``` --- ## 5.2 全局快捷键 默认: ```text Alt + Q ``` 支持: - 修改快捷键 - 多快捷键配置 例如: ```text Alt+Q 开始截图 ``` --- ## 5.3 截图模块 流程: ```text 快捷键 ↓ 显示遮罩层 ↓ 鼠标拖动 ↓ 生成截图 ↓ 发送AI ``` 功能: - 全屏截图 - 区域截图 - Esc取消 - Enter确认 输出: ```text PNG ``` --- ## 5.4 AI阅卷模块 支持模型: - GPT - Claude - Gemini - Qwen-VL - GLM - DeepSeek 支持: 图片直接发送。 无需OCR。 输入: ``` 图片 评分标准 Prompt ``` 输出: ```json { "score":9, "confidence":0.96, "deductions":[ "未说明ACK作用" ], "comment":"回答完整" } ``` --- ## 5.5 评分标准模块 每场考试: ``` 课程 ↓ 试卷 ↓ 题目 ↓ 评分标准 ``` 例如: ```text Java 期末考试 第5题 ``` 评分标准: ```text 满分 10 评分点 ① 多态 ② 继承 ③ 封装 ``` 数据库保存。 --- ## 5.6 AI评分展示 右侧弹窗: ```text ──────────────────── AI建议: 9分 可信度: 96% 扣分: ① 未说明第三次握手意义 评价: 回答基本完整。 ──────────────────── ``` 按钮: ``` 确认 修改 重新评分 ``` --- ## 5.7 历史记录 保存: - 截图 - AI评分 - 教师评分 - 时间 - AI耗时 支持: - 查询 - 删除 - 导出Excel --- # 6. 系统流程 ## AI阅卷流程 ```text 开始阅卷 ↓ 快捷键 ↓ 截图 ↓ AI识别图片 ↓ 评分标准匹配 ↓ AI评分 ↓ 返回JSON ↓ 前端展示 ↓ 教师确认 ``` --- # 7. Vue 前端架构 ```text App │ ├── FloatingToolbar ├── ScreenshotOverlay ├── ResultDrawer ├── SettingDialog ├── HistoryPage ├── TemplatePage └── AboutPage ``` --- # 8. Electron IPC 通信 ```text Vue ↓ ipcRenderer.invoke() ↓ Main Process ↓ 执行任务 ↓ 返回数据 ``` 事件: | 名称 | 描述 | |------|------| | screenshot:start | 开始截图 | | screenshot:end | 截图完成 | | ai:grade | AI阅卷 | | ai:result | AI返回 | | history:list | 获取历史 | | settings:get | 获取配置 | --- # 9. 数据库设计 ## exam ```sql id INTEGER PRIMARY KEY name TEXT course TEXT created_at DATETIME ``` --- ## question ```sql id INTEGER PRIMARY KEY exam_id INTEGER title TEXT max_score INTEGER rubric TEXT ``` --- ## history ```sql id INTEGER PRIMARY KEY question_id INTEGER image_path TEXT student_answer TEXT ai_score REAL teacher_score REAL confidence REAL created_at DATETIME ``` --- # 10. AI接口封装 统一接口: ```typescript interface AIProvider { grade( image:string, rubric:string ):Promise } ``` 实现: ```text OpenAIProvider GeminiProvider ClaudeProvider QwenProvider ``` 方便切换。 --- # 11. Prompt设计 系统Prompt: ```text 你是一名经验丰富的高校教师。 请依据评分标准严格评分。 要求: 1、识别学生答案 2、分析答案 3、依据评分标准逐项评分 4、输出JSON 禁止输出Markdown。 ``` 输出: ```json { "score":0, "confidence":0, "deductions":[], "comment":"" } ``` --- # 12. 配置管理 支持: ```text API Key Base URL 模型 快捷键 主题 字体 代理 超时时间 ``` 保存: ``` electron-store ``` --- # 13. 日志系统 记录: ```text 程序启动 截图 AI请求 AI耗时 异常 退出 ``` 使用: ``` electron-log ``` --- # 14. 异常处理 截图失败: ``` 重新截图 ``` AI失败: ``` 重新评分 ``` JSON解析失败: ``` 重新生成 ``` 网络异常: ``` 请检查网络连接 ``` --- # 15. 开发计划 ## 第一阶段(MVP) 预计:2 周 完成: - Electron 初始化 - Vue3 页面 - 悬浮工具栏 - 快捷键截图 - AI 调用 - AI 评分展示 --- ## 第二阶段 预计:2 周 完成: - 评分模板 - 历史记录 - 设置页面 - 多模型支持 --- ## 第三阶段 预计:3 周 完成: - OCR 支持 - 本地模型 - 自动识别题号 - 自动填分 - 自动切换下一题 --- # 16. 后续优化方向 ## AI能力 - 本地部署 Qwen-VL - DeepSeek-R1 推理 - 自定义 Prompt - AI 连续阅卷 ## 产品能力 - 自动识别当前题号 - 自动关联评分模板 - 一键批量阅卷 - 自动填写分数(RPA) - 教师评分统计 - AI 与教师评分一致率分析 - 导出阅卷报告 ## 企业级能力 - 用户登录 - 云端同步评分模板 - 多教师共享评分标准 - AI 模型统一配置 - 学校私有化部署 --- # 17. MVP 核心功能 ✅ Electron 桌面应用 ✅ Vue3 + TypeScript 前端 ✅ 悬浮工具栏 ✅ 全局快捷键截图 ✅ AI 图片阅卷 ✅ 建议分数展示 ✅ 扣分原因分析 ✅ 教师人工确认 该版本可作为最小可行产品(MVP),能够在不改造现有阅卷系统的前提下,为教师提供高效、可靠的 AI 辅助阅卷体验。 ````