ChatTutor
配备电子白板的 AI STEM 教师,AI 可在 Geogebra 数学画板和 Mermaid 思维
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
配备电子白板的 AI STEM 教师,AI 可在 Geogebra 数学画板和 Mermaid 思维
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
小明在复习高等数学「分部积分」时,遇到了一道需要反复画图理解的题目。他在传统 AI 聊天机器人里输入了题目,AI 给了详细的文字推导——可是公式套来套去,他越看越懵。「如果有个白板能把每一步画出来就好了」,小明嘀咕道。
这就是 ChatTutor 诞生的初衷:打破 AI 教学「只会打字」的局限,让 AI 真正像老师一样「动手」在电子白板上画图、推导、演示。
ChatTutor 由独立开发团队 HugeCat Lab 于 2025 年 11 月开源,项目聚焦于 STEM(科学、技术、工程、数学)学科的 AI 辅助教育。团队观察到,尽管 ChatGPT、Claude 等通用大模型在教育场景已有大量应用,但它们与真实课堂中的教师相比,始终缺少一个关键能力——可视化表达。在数学推导、几何证明、物理建模等需要大量图形辅助的场景中,文字的局限性尤为突出。
作为一个定位明确的垂直工具,ChatTutor 没有试图做通用 AI 导师,而是专精于「交互式白板 + AI」的结合。2025 年上线后迅速获得关注,目前在 GitHub 已积累超过 1200 Stars,主要用户群体为 STEM 学习者和教育科技开发者。
ChatTutor 最大的创新在于将 Geogebra 数学画板 和 Mermaid 思维导图 嵌入 AI 教学流程中。AI 代理在对话过程中,可以根据语义自动决定何时调用白板工具,在对应的画板上实时渲染数学图形、几何构造或结构化图表。
具体来说,AI 教师会使用 GGBScript(Geogebra 脚本语言)在画板上动态添加交互元素:函数图像随参数变化实时更新,几何图形标注关键点与角度,复杂证明可以分步骤逐帧展示。每一块白板都有独立的页面(page),AI 可以「翻页」组织教学内容,这与真实课堂的讲课节奏高度吻合。

图1:ChatTutor 数学画板演示,AI 在电子白板上动态绘制函数图像与几何标注
Mermaid 模式则用于生成结构化图表,适合讲解知识框架、流程逻辑、分类体系等需要全局视图的内容。与纯文字描述相比,可视化图表能帮助学生快速建立知识结构的「地图感」。

图2:ChatTutor Mermaid 思维导图,AI 动态生成知识结构图
ChatTutor 采用了 pnpm Monorepo 架构,项目根目录管理多个独立子包:
| 子包 | 技术栈 | 职责 |
|---|---|---|
packages/agent | TypeScript + Vercel AI SDK | AI 代理核心:流式对话、白板指令解析、多页管理 |
packages/client | Bun + Elysia.js + TypeScript | API 服务端:聊天路由、跨域处理、错误处理 |
packages/web | Vue 3 + Vite + TypeScript | Web 前端界面 |
packages/db | 数据库集成 | 数据持久化 |
packages/shared | TypeScript 共享类型 | 跨包共享类型定义 |
Agent 模块 是整个系统的核心。它基于 Vercel AI SDK 的 streamText 实现流式对话,Agent 在接收用户输入后,会根据 Prompt 中定义的 System Prompt(专门的 STEM 教学专家角色)决定输出策略——是继续文字讲解,还是调用白板工具。工具调用通过解析 LLM 返回的 ggbscript[...] 指令块来实现,代码中的 block-parser.ts 负责识别和分发这些指令到对应的白板页面。

图3:ChatTutor 数学画板支持多步骤推导与交互式参数调节
AI 模型的调用通过 gateway.ts 统一封装,支持 OpenAI、Anthropic 和 DeepSeek 三大主流 LLM 提供商,用户可在设置页自由切换模型。这种灵活性确保了不同预算和使用场景下的可用性。
前端 使用 Vue 3 + Vite 构建,提供流畅的交互体验。服务端由 Bun 运行时驱动 Elysia.js(类 Express 的高性能 Web 框架),通过 Bun 的原生 HTTP 处理实现低延迟响应。
ChatTutor 对部署体验做了充分优化。项目根目录提供了开箱即用的 docker-compose.yml,包含三个核心服务:
packages/client/Dockerfile 构建,基于 oven/bun:1 多阶段镜像packages/web/Dockerfile 构建,Nginx 托管静态资源用户只需三步即可完成本地部署:
git clone 克隆仓库.env.example 为 .env,填入 AI API Key 和数据库密码docker compose up -d 启动整个部署不依赖 GPU,适合普通开发机和学生用户。需要注意的是,由于 AI 对话功能依赖用户自备的 API Key,无法在纯离线环境下运行。
尽管 ChatTutor 概念新颖,但它也存在一些不可回避的问题:
1. 依赖外部 AI API Key。项目本体只提供前端和调度逻辑,所有对话生成都走外部 LLM API。这意味着用户必须持有 OpenAI/Anthropic/DeepSeek 的账户和额度,无法开箱即用。这对于技术小白或教育欠发达地区用户来说,仍有一定门槛。
2. 学科覆盖仍较窄。当前版本主要面向 STEM,尤其是数学和理工科。Mermaid 思维导图适合结构化知识,但人文社科类学科的「可视化」需求差异很大,目前的能力边界尚未拓展到这些领域。
图3不支持自动评分或知识追踪。系统目前只能「教」,不能评估学生掌握程度。如果要实现自适应学习路径,还需要额外的数据层支持。
ChatTutor 的出现折射出一个更大的趋势:AI 教育工具正在从「问答式」向「教学式」进化。传统的 AI 辅助学习主要是问答机器人——学生提问,AI 回答。但真实的教学还包括演示、练习、反馈等多个环节,而可视化的电子白板恰好填补了「演示」这一环。
从 GitHub Stars 增长曲线看,STEM 垂直赛道的 AI 教育工具正在快速崛起。ChatTutor 凭借明确的定位(Geogebra + AI)和相对完整的部署方案,在同类项目中具备差异化竞争力。未来如果能结合自动评分系统或知识图谱,将进化为一个真正的自适应 AI 教学平台。