AI智能教育助手: 一个功能完整的开源 AI 驱动个人学习系统,包含前后端,支持自适应评测、知识点画像、个性化学习计划、AI辅导答疑、学情智能分析、成长记录可视化等功能。系统提供 **PC 端**(侧边栏+顶栏桌面布局),采用原生 HTML/CSS/JS 构建,无需任何前端框架。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 20 天前 | ||
| 20 天前 | ||
| 20 天前 | ||
| 20 天前 | ||
| 20 天前 | ||
| 20 天前 | ||
| 20 天前 | ||
| 20 天前 | ||
| 20 天前 |
🎓 AI智能教育助手
一个功能完整的开源 AI 驱动个人学习系统,包含前后端,支持自适应评测、知识点画像、个性化学习计划、AI辅导答疑、学情智能分析、成长记录可视化等功能。系统提供 PC 端(侧边栏+顶栏桌面布局),采用原生 HTML/CSS/JS 构建,无需任何前端框架。
🌐 在线体验 & 开源地址
| 项目 | 内容 |
|---|---|
| 体验地址 | https://qiming.xunnan.net/pc/index.html |
| 用户名 | admin |
| 密码 | 123456 |
| 开源地址 | https://gitee.com/xiangxiang088/ai-smart-education |
为了不影响其他人体验,请不要修改 admin 密码,感谢大家的支持!
🖼️ 产品预览
🏠 学习首页
学科学段切换、掌握度概览、最近评测记录、薄弱知识点、今日学习计划一屏掌握。

📝 智能评测
自适应难度算法,根据答题表现动态调整题目难度,支持入学评测与知识点漏洞扫描。

📅 今日学习计划
AI 根据知识画像量身定制每日学习路径,三维知识图谱雷达图直观展示掌握情况。

📊 能力画像
知识点掌握热力图,五级掌握度分级,快速定位薄弱环节。

🔍 错因分析
AI 智能分析错题原因,按类型归类,提供针对性改进建议。

💬 AI 交互辅导
智能答疑(分步解析 + 同类题推荐)、主观题 AI 批改、口语评测、虚拟实验指导。

📈 学情智能分析
实时看板、正确率趋势、评测得分趋势、学习预警、错题本 + 艾宾浩斯复习提醒。

📔 成长记录
学习日历热力图、当天学习详情面板、掌握度趋势、AI 交互历史统一搜索。

⚙️ 后台管理
学科管理、知识点树管理、题库管理(支持 AI 一键生成题目)、用户管理、角色管理、菜单管理(完整 RBAC 权限体系)。

🎯 1. 功能清单
✅ 1.1 智能诊断评测(Module 1)
✅ 1.2 自适应学习引擎(Module 2)
✅ 1.3 AI 交互辅导工具(Module 3)
✅ 1.4 学情智能分析(Module 4)
-
- 停滞预警:近 7 天无答题记录
- 下降预警:近 3 次评测得分连续递减
- 低正确率预警:近 50 题正确率 < 40%
- 24 小时防重推送,写入个人通知中心
✅ 1.5 长期记忆与成长记录(Module 5)
✅ 1.6 学科与知识点管理
✅ 1.7 系统基础功能
✅ 1.8 后台 RBAC 权限体系(新增)
🛠️ 2. 技术栈
| 层次 | 技术 |
|---|---|
| 后端 | Node.js 18+ + Express + mysql2 连接池 |
| 数据库 | MySQL 8.0(支持 5.7),雪花 ID 主键,del_flag 逻辑删除 |
| 认证 | JWT + bcryptjs |
| AI | 智谱 GLM-4-Flash(文本),通过 getAIConfig() 统一配置 |
| 前端 | 原生 HTML/CSS/JS,无框架依赖 |
| 图表 | 原生 Canvas 手写(折线图、雷达图、热力图 DOM 方案) |
| 语音 | 浏览器原生 Web Speech API(口语评测转录) |
3. 部署步骤
3.1 环境要求
- Node.js >= 18(使用原生 fetch 调用 AI 接口)
- MySQL >= 5.7
- 智谱 AI API Key(免费注册:https://open.bigmodel.cn)
3.2 初始化数据库
mysql -u root -p
-- 全新安装,执行教育系统初始化脚本
source /你的路径/ai-smart-education/server/sql/v3.0.x/20260808-edu-init.sql;
初始化后还需执行后续增量脚本(按文件名日期顺序):
source .../server/sql/v3.0.x/20260809-adaptive-engine.sql; -- 自适应引擎三维模型
source .../server/sql/v3.0.x/20260808-tutoring.sql; -- AI辅导三张表
source .../server/sql/v3.0.x/20260808-analytics.sql; -- 错题本与预警日志
以上脚本必须按日期从小到大顺序执行。
3.3 配置环境变量
cd server
cp .env.template .env
编辑 .env 文件:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_mysql_password
DB_NAME=smart_ledger
# 生产环境使用随机字符串
# node -e "console.log(require('crypto').randomBytes(48).toString('hex'))"
JWT_SECRET=your-super-secret-random-key-here
PORT=3001
NODE_ENV=development
ALLOWED_ORIGINS=http://localhost:3001
3.4 配置 AI 功能
启动后登录管理员账号,在「个人资料 → AI 设置」中填入:
- API 地址:
https://open.bigmodel.cn/api/paas/v4/chat/completions - API Key:在智谱 AI 开放平台获取
- 文本模型:
glm-4-flash(免费) - 开启 AI 功能开关
不配置 AI 也可使用评测、画像等基础功能,AI 相关功能(学习计划/错因分析/变式题/答疑)将返回提示。
3.5 安装依赖并启动
cd server
npm install
npm start
# 指定开发环境(Linux/Mac)
NODE_ENV=development npm start
# Windows
cmd /c "set NODE_ENV=development && npm start"
访问 http://localhost:3001/pc/index.html 进入 PC 端。
默认管理员账号:admin / 123456
3.6 生产环境部署
npm install -g pm2
pm2 start server.js --name ai-edu --env production
pm2 save && pm2 startup
Nginx 反向代理配置:
server {
listen 80;
server_name edu.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 10m;
}
}
4. 使用方法速览
| 操作 | 方法 |
|---|---|
| 开始评测 | 侧边栏「📝 智能评测」→ 选学科 → 开始 |
| 查看能力画像 | 侧边栏「📊 能力画像」→ 切换学科查看热力图 |
| 今日学习计划 | 侧边栏「📅 学习计划」→ 选学科,AI 生成建议 |
| 刷新学习计划 | 学习计划页右上角「重新生成」 |
| AI 答疑 | 侧边栏「💬 AI辅导」→ Tab1 智能答疑 |
| 主观题批改 | AI辅导 → Tab2 主观批改,输入题目和答案 |
| 口语练习 | AI辅导 → Tab3 口语评测,点击录音按钮 |
| 查看错题本 | 侧边栏「📈 学情分析」→ 下方错题本区域 |
| 今日待复习 | 学情分析 → 错题本右上角「今日待复习」 |
| AI 变式题 | 错题卡片 → 「生成变式题」按钮 |
| 触发学习预警 | 学情分析 → 预警区「立即检测」 |
| 查看成长记录 | 侧边栏「📔 成长记录」→ 点击日历格子查当天详情 |
| 搜索AI历史 | 成长记录 → 底部历史搜索区输入关键词 |
| 切换主题 | 侧边栏底部「🌙 切换主题」 |
| 查看通知 | 顶栏右上角「🔔」铃铛 |
5. 项目结构
ai-smart-education/
├── server/ # 后端
│ ├── server.js # Express 入口,路由注册,安全中间件,限流
│ ├── db.js # MySQL 连接池
│ ├── logger.js # 操作日志
│ ├── package.json
│ ├── .env / .env.template # 环境变量
│ ├── sql/
│ │ ├── v2.0.x/ # 基础系统表(用户/通知/反馈等)
│ │ └── v3.0.x/ # 教育系统表
│ │ ├── 20260808-edu-init.sql # 7张核心表
│ │ ├── 20260809-adaptive-engine.sql # 三维模型 + 学习计划表
│ │ ├── 20260808-tutoring.sql # 聊天会话/消息/口语评测表
│ │ └── 20260808-analytics.sql # 错题本/预警日志表
│ ├── utils/
│ │ ├── snowflake.js # 雪花 ID 生成器(18位数字)
│ │ └── auditContext.js # AsyncLocalStorage 透传用户 ID
│ ├── middleware/
│ │ ├── auth.js # JWT 认证 + requireAdmin
│ │ └── bookAccess.js # 账本权限(兼容保留)
│ └── routes/
│ ├── auth.js # 注册/登录/用户信息
│ ├── settings.js # AI 配置(含 getAIConfig)
│ ├── notice.js # 系统公告
│ ├── notifications.js # 个人通知
│ ├── feedback.js # 用户反馈
│ ├── upload.js # 图片上传
│ ├── version.js # 版本记录
│ ├── admin-users.js # 用户管理(RBAC)
│ ├── admin-roles.js # 角色管理(RBAC)
│ ├── admin-menus.js # 菜单管理(RBAC)
│ └── education/ # 教育系统路由
│ ├── subjects.js # 学科/知识点树
│ ├── questions.js # 题库管理(含 AI 生成)
│ ├── assessment.js # 评测流程(自适应算法)
│ ├── profile.js # 学生画像/热力图
│ ├── error-analysis.js # AI 错因分析
│ ├── learning-engine.js # 自适应学习计划/推荐题/三维同步
│ ├── tutoring.js # 答疑/批改/口语/虚拟实验
│ ├── analytics.js # 学情看板/预警/错题本
│ └── memory.js # 成长记录/历史搜索/统计
│
└── pc/ # PC 端前端
├── index.html # 学习首页
├── login.html # 登录/注册
├── assessment.html # 智能评测
├── profile.html # 能力画像
├── learning-plan.html # 今日学习计划
├── errors.html # 错因分析
├── tutoring.html # AI 辅导工具
├── analytics.html # 学情分析
├── memory.html # 成长记录
├── my-profile.html # 个人资料
├── admin.html # 后台管理(学科/知识点/题库/用户/角色/菜单)
├── css/
│ ├── pc-layout.css # 侧边栏+顶栏布局
│ ├── pc-components.css # 公共组件样式
│ ├── pc-education.css # 教育系统基础样式
│ ├── pc-assessment.css # 评测页样式
│ ├── pc-learning-plan.css # 学习计划页样式
│ ├── pc-tutoring.css # AI辅导页样式
│ ├── pc-analytics.css # 学情分析样式
│ └── pc-memory.css # 成长记录样式
└── js/
├── pc-common.js # 侧边栏/顶栏/通知/主题/确认框
├── pc-home.js # 首页逻辑
├── pc-assessment.js # 评测流程逻辑
├── pc-education-profile.js # 能力画像逻辑
├── pc-learning-plan.js # 学习计划 + 雷达图
├── pc-errors.js # 错因分析逻辑
├── pc-tutoring.js # AI辅导(聊天/批改/口语/实验)
├── pc-analytics.js # 学情分析 + drawLineChart()
└── pc-memory.js # 成长记录(日历/趋势/历史搜索)
6. 数据库表结构
基础系统表(v2.0.x)
| 表名 | 说明 |
|---|---|
sl_sys_user |
用户账号(bcrypt 加密,含 is_admin 超管标识) |
sl_sys_config |
系统配置(AI Key/模型等键值对) |
sl_sys_notice |
系统公告 |
sl_sys_notice_read |
公告已读记录 |
sl_sys_notification |
个人通知(学习预警等) |
sl_sys_feedback |
用户反馈 |
sl_sys_login_log |
登录日志 |
sl_sys_oper_log |
操作日志 |
sl_sys_version |
版本记录 |
sl_sys_role |
角色表(RBAC) |
sl_sys_user_role |
用户-角色关联(RBAC) |
sl_sys_menu |
侧边栏菜单配置(RBAC) |
sl_sys_role_menu |
角色-菜单关联(RBAC) |
教育系统表(v3.0.x)
| 表名 | 说明 |
|---|---|
edu_subject |
学科(数学/语文/英语/物理/化学/生物) |
edu_knowledge_node |
知识点树(3层),含前置依赖 JSON |
edu_question |
题库(选择/填空/主观),难度 1-5 |
edu_assessment_session |
评测会话(状态/得分/类型) |
edu_answer_record |
答题记录(作答内容/耗时/是否正确) |
edu_student_profile |
知识点掌握画像(mastery_level/score + 三维得分) |
edu_error_analysis |
错因分析(careless/concept/method/prerequisite/unknown) |
edu_learning_plan |
今日学习计划缓存(AI建议+推荐节点) |
edu_chat_session |
AI辅导聊天会话(qa/experiment 类型) |
edu_chat_message |
聊天消息(user/assistant) |
edu_oral_record |
口语评测记录(三维评分+AI反馈) |
edu_wrong_question |
错题本(艾宾浩斯阶段/下次复习时间/变式题缓存) |
edu_alert_log |
预警推送记录(24小时防重去重) |
设计规范
- 主键:全部
BIGINT UNSIGNED,雪花算法生成,字符串传输(前端禁用 parseInt) - 逻辑删除:
del_flag TINYINT(0=正常,1=已删除) - 时间精度:
DATETIME(3)毫秒级 - ID传输:雪花 ID 超过 JS 安全整数范围,全部以字符串形式在 API 中传输
7. 核心 API 接口
教育系统(/api/edu/...)
| 接口 | 方法 | 说明 |
|---|---|---|
/api/edu/subjects |
GET | 学科列表 |
/api/edu/subjects/:id/tree |
GET | 知识点树 |
/api/edu/assessment/start |
POST | 启动评测(自适应) |
/api/edu/assessment/:id/answer |
POST | 提交答案,返回判断+下一题 |
/api/edu/assessment/:id/report |
GET | 评测结果报告 |
/api/edu/profile/me |
GET | 全量知识点掌握画像 |
/api/edu/profile/heatmap/:subject_id |
GET | 热力图数据 |
/api/edu/profile/summary |
GET | 各学科掌握度汇总 |
/api/edu/error-analysis/session/:id |
POST | 对评测批量 AI 分析错因 |
/api/edu/learning-engine/today-plan/:subject_id |
GET | 今日学习计划(缓存优先) |
/api/edu/learning-engine/knowledge-graph/:subject_id |
GET | 三维知识图谱 |
/api/edu/learning-engine/recommend-questions/:subject_id |
GET | 推荐练习题 |
/api/edu/tutoring/chat/start |
POST | 创建答疑会话 |
/api/edu/tutoring/chat/:id |
POST | 发送消息,AI 回复 |
/api/edu/tutoring/grade |
POST | 主观题 AI 批改 |
/api/edu/tutoring/oral/evaluate |
POST | 口语评测评分 |
/api/edu/analytics/dashboard/:subject_id |
GET | 学情看板数据 |
/api/edu/analytics/trend/daily/:subject_id |
GET | 近14天正确率 |
/api/edu/analytics/alert/check |
POST | 触发学习预警检测 |
/api/edu/analytics/wrong-questions |
GET | 错题列表(分页+筛选) |
/api/edu/analytics/wrong-questions/:id/reviewed |
POST | 更新复习结果 |
/api/edu/analytics/wrong-questions/:id/variant |
POST | AI 生成变式题 |
/api/edu/memory/stats/overview |
GET | 全局学习统计 |
/api/edu/memory/timeline/daily |
GET | 近N天日历热力图数据 |
/api/edu/memory/timeline/day-detail/:date |
GET | 某天学习详情 |
/api/edu/memory/timeline/mastery-trend/:subject_id |
GET | 掌握度趋势折线图 |
/api/edu/memory/history/search |
GET | AI交互统一历史搜索 |
8. 数据安全
- 所有数据存储在你自己的服务器,不上传至任何第三方
- AI API Key 仅保存在服务端数据库,接口返回时脱敏显示
- 密码使用 bcrypt 加密存储
- JWT token 有效期 30 天,密钥通过环境变量配置
- 雪花 ID 主键不可枚举,防止 ID 遍历攻击
- 所有 API 需 JWT 认证,用户数据按 user_id 严格隔离
- 安全响应头:X-Frame-Options / X-Content-Type-Options / X-XSS-Protection
- CORS 白名单模式,生产环境需显式配置 ALLOWED_ORIGINS
- 接口限流:登录 10次/分钟,注册 3次/分钟,AI 分析 20次/分钟
- 前端输出均经 esc() 函数 HTML 转义,防止 XSS
9. 📞 联系方式
如有问题或建议,欢迎联系开发者:
微信服务号:正在走向自律1(ID:xiaobawang114AI)

10. 📄 许可证
MIT License
11. 🤝 贡献
欢迎提交 Issue 和 Pull Request!
项目介绍
AI智能教育助手: 一个功能完整的开源 AI 驱动个人学习系统,包含前后端,支持自适应评测、知识点画像、个性化学习计划、AI辅导答疑、学情智能分析、成长记录可视化等功能。系统提供 **PC 端**(侧边栏+顶栏桌面布局),采用原生 HTML/CSS/JS 构建,无需任何前端框架。
https://qiming.xunnan.net/pc/index.html定制我的领域