AI智能教育助手:基于 Node.js 与原生 HTML/CSS/JS 的 AI 驱动个人学习系统

AI智能教育助手: 一个功能完整的开源 AI 驱动个人学习系统,包含前后端,支持自适应评测、知识点画像、个性化学习计划、AI辅导答疑、学情智能分析、成长记录可视化等功能。系统提供 **PC 端**(侧边栏+顶栏桌面布局),采用原生 HTML/CSS/JS 构建,无需任何前端框架。

分支1Tags0
文件最后提交记录最后更新时间
20 天前
20 天前
20 天前
20 天前
20 天前
20 天前
20 天前
20 天前
20 天前

🌐 语言 / Language: 中文 | English

🎓 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 交互历史统一搜索。

成长记录

⚙️ 后台管理

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

后台管理-学科 后台管理-知识点树 后台管理-题库 AI生成题目


🎯 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定制我的领域