{"repo":"datawhalechina/whale-tutor","free":true,"listed":false,"github":"https://github.com/datawhalechina/whale-tutor","clone":"git clone https://github.com/datawhalechina/whale-tutor.git","description":"🐳 AI 驱动的开源交互式学习引擎","language":"TypeScript","stars":17,"topics":["ai","course-authoring","datawhale","deepseek","education","interactive-learning","llm","markdown","mastery-learning","nestjs"],"license":"AGPL-3.0","category":"ai-agents","readme_excerpt":"⚡ 三秒钟看懂 你是谁 你能做什么 看哪里 ----------------------------------- ------------------------------------------------------ ----------------------------------------------------------- 🎓 学生 / 学习者 跟着已有课程交互式学习,卡住时 AI 出\"换说法\"题 + 求提示 找一个 部署版直接学 ✍️ 课程作者 (老师/教研/内容编辑) 写 markdown 讲稿 → AI 一键生成完整可交互课程 AUTHORING.md 🛠️ 开发者 加新 pattern / 新 endpoint / 新 UI / 改架构 CONTRIBUTING.md + CLAUDE.md 📸 看看长什么样 CLI 生成的课程 ( whale-tutor 启动 + 运行中): 课程的若干交互模式： 它和 ChatGPT 直接对话有什么区别? ChatGPT 是开放对话 ,没有路径设计、没有 mastery 跟踪、没有系统性推进。学完不知道学了什么,卡住没有兜底机制。 Whale Tutor 是教学引擎 : - 📐 课程作者用 YAML 预设学习路径 (LO + 必做题 + adaptive 题型集),AI 在路径内动态出题 / 评估 / 兜底 - 🎯 每个学习目标(LO, Learning Objective)有 mastery 状态机 (untouched → exposed → practicing → mastered) - 🔁 答错自动触发 AI 出\"换说法\"题 (同一概念换场景),连续错 3 次强制回 LO 讲解兜底 - 💡 梯度提示(StuckProtocol) :作者写 1-5 级 hint,没写则 AI 自动生成 3 级缓存 - 💬 侧支 QA 提问 :答题时随时 drawer 提问 / 嵌套追问,不影响主路径 - 📊 完整事件流 :每次学习者行为入 events 表,支持后续个体化档案 / 班级分析 / 群体智能 适合 我有教学体系,要帮学生系统学习 场景,不是\"零散问问题\"。 🎬 试一试 共同前置(三种方式都需要) : - Node.js ≥ 22 :官网下载(LTS 版本即可),装完跑 node --version 看到 v22.x 就 OK - MySQL ≥ 8.0 :可以直接装 MySQL 官方版(Windows/Mac/Linux 都有);或者装 Docker Desktop 用容器跑(开发期推荐) - DeepSeek API Key (可选,但强烈推荐):去 DeepSeek 平台 申一个,没有的话 AI 评估走 fallback 文案,但 whale-tutor build 不可用 路径 A:用 CLI(课程作者 / 试用学习者)⭐️ 推荐 第一步(共同):创工作目录 + 装 CLI + 初始化 完成共同步骤后, 留在 whale-workspace/ 目录里 ,二选一: 选项 1 — 跑内置 python-basics 示例 学完想加自己的课程?复制 courses/python-basics/ 当模板手改,或者上选项 2。 选项 2 — 用 AI 一键生成你自己的课程(交互式向导) 这是个 交互式命令 ,问几个问题就完事: 回答完几分钟后, 完整可学的课程已经生成 。AI 干了三件事: 1. 写课程大纲 — 决定 course id / subject / ","default_branch":null,"files":null,"tree":[],"storefront":"/r/datawhalechina","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/datawhalechina/whale-tutor/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}