前言
大家好,我是一诺。国庆假期带儿子回老家带了几天,鬼天气忽冷忽热的 我和儿子都给整生病了。
也没有出去玩,除了在家带娃,空闲时间开源了能豆ai批改助手

说下产品背景
我有个朋友是英语老师,常熬夜批改作文。平时在用 DeepSeek 批改作业,可没办法批量修改,很特别麻烦。就希望能有个可以统一管理作业,沉淀教学数据的工具。
于是就有了"能豆AI"这个产品,集成DeepSeek分析能力,实现了学生在线提交作业 → AI实时批改 → 教师人工核实批改的完整业务闭环。
核心功能-ai批改作业

为什么叫能豆AI。
我在设计 logo ,不知道叫什么好。这时我儿子在扶着墙学走路,他刚9个月刚会爬就想尝试走~ ,那就叫"能豆AI"吧,因为我儿子的小名叫豆豆。
在线预览
在线体验 ai.dslcv.com/
仓库地址
- github ➡️ github.com/yinuoguan/n...
- gitee ➡️ gitee.com/wang-tians-...
- 接口文档 http://124.222.166.174:3002/api/docs
架构图
总体架构图

业务流程

技术选型
前端技术栈
选择 Vue 3 + TypeScript 作为前端框架,之前一诺维护的老项目都是vue2, 这次全面使用Vue3开发,发现用 Composition API 写起来更灵活,特别是处理复杂的业务逻辑时。
Vuex 用来管理全局状态,比如用户登录信息。局部状态还是放在组件里,这样代码更清晰。
Element Plus 是因为组件比较全面。配合 Tailwind CSS 做一些个性化的样式调整,开发速度很快。
后端技术栈
后端用的是 NestJS,说实话一开始也考虑过 Express,但 NestJS 的装饰器和模块化设计确实香,代码组织得很清晰。
JWT 做身份认证,无状态的,扩展性好。Swagger 自动生成 API 文档。
数据存储
MongoDB 选择的原因很简单:作业数据结构比较灵活,不同类型的作业字段差异很大,用文档数据库比关系型数据库方便多了。而且 MongoDB 的查询也够用,性能也不错。
Redis 主要用来缓存一些热点数据和存储用户会话,毕竟内存数据库速度快,用户体验好。
AI大模型
DeepSeek 是主力,性价比真的很高,批改质量也不错。关键是 API 调用稳定,价格也能接受。
后来又集成了豆包,主要是想让 AI 的反馈更温馨一点,豆包在情感表达这块做得比较好,学生看到反馈不会那么有压力。
两个模型配合使用,DeepSeek 负责专业的内容分析,豆包负责鼓励和引导,效果比单用一个模型好很多。
核心模块
1.班级管理
这是系统的基础模块,解决了教师管理多个班级的痛点:
核心功能:
- ✅ 创建班级:支持自定义班级名称、描述和邀请码
- ✅ 学生管理:通过邀请码机制,学生可以自主加入班级
- ✅ 状态管理:可以暂停/激活学生,灵活管理班级人员
- ✅ 实时统计:学生数量和作业完成情况一目了然
2. 作业提交与批改模块
状态流转管理:

核心特性:
- 学生端:专用提交和查看功能,界面简洁易用
- 教师端:批改和统计管理功能,支持批量操作
- 管理员端:AI批改和日志管理,系统监控
3. AI 批改集成
这是系统的技术亮点,与 DeepSeek 的深度集成:
AI批改能力:
AI批改流程:

批改质量保障:
- 多轮提示词优化,确保批改一致性
- 人工复核机制,AI + 人工双重保障
- 批改日志记录,便于分析和改进
- 异步处理机制,不阻塞用户操作
4. 权限管理系统
功能展示

管理员端功能
主要功能:
- 系统配置管理:AI模型参数调整,批改规则配置
- 用户权限管理:教师和学生账号管理,权限分配
- 数据统计分析:批改效率统计,系统使用情况分析
- 批改日志查看:AI批改过程追踪,质量监控
控制台看板

大模型配置 && 用户管理

教师端功能
主要功能:
- 班级创建与管理:一键创建班级,邀请码分享
- 作业发布与管理:灵活的作业类型,截止时间设置
- 批改结果查看:AI初评结果查看,人工复核操作
- 学生成绩统计:班级整体表现分析,个人进步追踪
工作台

创建班级

添加学生

发布作业

配置AI批改规则

作业详情

批改作业

学生端功能
主要功能:
- 班级加入:通过邀请码快速加入班级
- 作业提交:支持草稿保存,多次修改提交
- 批改结果查看:详细的AI评语和教师点评
- 学习进度追踪:个人作业历史,成绩变化趋势
激活账户

学习中心

班级作业

提交作业

查看结果
AI点评和老师批注
