ChatTutor是一款开源的可视化交互式AI助教工具。传统的聊天机器人主要通过文字互动,这种方式在多数场景下够用,但在理工科学习中,纯文本能传递的信息非常有限。ChatTutor的目标是解决这个问题,它为AI配备了像电子白板一样的多种教学工具,模拟真实课堂中老师使用黑板、教具的场景,让AI能够通过图形、代码、思维导图等多种方式进行教学,从而成为一个真正能“动手”的老师。该项目采用多智能体架构,一个智能体负责与用户聊天,另一个“画家”智能体则专门负责绘制数学图形,旨在为用户提供更加直观、高效的学习体验。

功能列表
- 数学画布: 支持交互式几何、函数绘图和数据可视化。
- 代码页面: 提供代码编写和展示的环境。
- 思维导图: 帮助用户梳理和理解知识结构。
- 物理画布: 用于物理场景的可视化模拟。
- 数字逻辑画布: 用于数字电路等逻辑关系的可视化。
- AI出题: AI可以根据学习内容为用户创建练习题。
- 多智能体架构: 使用不同的AI智能体分工协作,一个负责通用对话,另一个专精于图形绘制,提升专业任务的表现。
- 在线使用: 提供了官方网站
https://chattutor.app,用户可以在网站上设置自己的API密钥后直接使用。
使用帮助
ChatTutor作为一个开源项目,用户可以将其部署在自己的设备上。以下是详细的安装和使用流程。
1. 环境准备
在开始安装之前,请确保你的系统已经安装了以下软件:
Node.js: 版本要求大于或等于20。Docker: 用于快速构建和运行应用环境。
2. 获取项目代码
首先,使用git命令从GitHub上克隆项目的源代码。打开终端(命令行工具),输入以下命令:
git clone https://github.com/sheepbox8646/ChatTutor.git
然后,进入项目目录:
cd ChatTutor
3. 配置环境变量
项目需要一些API密钥和数据库配置才能正常运行。你需要创建一个.env文件来存放这些配置信息。项目中提供了一个示例文件.env.example,你可以直接复制并重命名它。
在项目根目录下,执行复制命令:
cp .env.example .env
接下来,你需要用文本编辑器打开这个新建的.env文件,并填写你的个人配置。以下是各个参数的详细说明:
- 大模型相关配置:
API_KEY: 必需。你的大语言模型API密钥(例如OpenAI, Anthropic等)。BASE_URL: 必需。API的请求地址。AGENT_MODEL: 必需。用于聊天对话的智能体所使用的模型名称。PAINTER_MODEL: 可选。用于绘制图形的“画家”智能体所使用的模型。建议使用能力更强的模型,如claude-sonnet-4.5,如果未设置,则默认使用AGENT_MODEL的值。TITLE_MODEL: 可选。用于生成聊天标题的模型,如果未设置,则默认使用AGENT_MODEL的值。
- 数据库配置:
DATABASE_URL: 必需。PostgreSQL数据库的连接地址。
- 对象存储(OSS)配置 (用于存储图片):
警告: 如果不配置以下这些参数,应用的图像生成和显示功能将无法使用。
OSS_ENDPOINT: 必需。对象存储服务的访问地址。OSS_ACCESS_KEY: 必需。对象存储的访问密钥ID。OSS_SECRET_KEY: 必需。对象存储的访问密钥Secret。OSS_BUCKET: 必需。用于存储文件的存储桶名称。OSS_REGION: 可选。对象存储服务的区域。
4. 启动应用
配置完成后,在项目根目录下,使用Docker Compose一键启动应用。执行以下命令:
docker compose up -d
-d参数表示在后台运行。Docker会自动下载所需的镜像并构建容器。启动成功后,你就可以在浏览器中访问http://localhost:3000来使用ChatTutor了。
5. 在线版本使用
如果你不想自己部署,也可以直接使用官方提供的在线网站 https://chattutor.app。
为了正常使用,你需要先在设置页面配置你自己的API密钥和想使用的模型。访问 https://chattutor.app/settings 即可进入设置页面。
应用场景
- STEM教育和学习
对于正在学习数学、物理、计算机科学等理工科目的学生来说,ChatTutor可以通过可视化的方式解释抽象概念。例如,学生可以要求AI绘制函数图像、演示物理过程或构造数字逻辑图,将复杂的知识变得直观易懂。 - 辅助教师备课
教师可以利用ChatTutor快速创建教学材料,如思维导图、交互式示例和练习题。这不仅能节省备课时间,还能丰富教学手段,提高课堂的互动性和趣味性。 - 自主探索与研究
研究人员或技术爱好者在学习新知识时,可以利用ChatTutor作为一个交互式探索工具。通过与AI的对话和可视化互动,可以更快地理解复杂的技术原理和算法。
QA
- ChatTutor是什么?
ChatTutor是一个开源的可视化交互式AI助教。它通过为AI提供电子白板等教学工具,使其能够像人类老师一样,通过图形、代码、思维导图等方式进行教学,特别适合理工科等需要可视化的学习场景。 - 使用ChatTutor需要付费吗?
ChatTutor项目本身是开源免费的。但你需要自行提供大语言模型的API密钥,使用这些API服务通常会产生费用,具体取决于你选择的模型和使用量。 - 我必须在本地安装才能使用吗?
不是。你可以直接访问官方网站chattutor.app在线使用。但为了获得全部功能(如图像生成),你仍然需要在网站的设置页面中配置自己的API密钥。 - 为什么有些功能(比如画图)无法使用?
如果你是在本地部署,图像相关功能需要正确配置对象存储(OSS)的环境变量。如果没有配置,图像将无法正常存储和显示。请检查你的.env文件中是否已填写完整的OSS相关参数。






























