
ChatTutor
Visual and Interactive AI Tutor






[!NOTE]
Online Website: ChatTutor is available at https://chattutor.app, please set your own API key and models in the settings. (https://chattutor.app/settings)
ChatTutor is an AI teacher equipped with the ability to use an electronic whiteboard.
Traditional chatbots interact with users primarily through text, which is sufficient in most scenarios. However, with the development of LLM in recent years, more and more people are using AI to assist their learning. In a real-world classroom, teachers have many teaching tools—chalk, computers, blackboards, and other teaching aids—that help students better understand knowledge. But for a chatbot, text can convey very limited information, especially in STEM subjects.
ChatTutor effectively solves this problem by bringing all the teaching tools used in real-world educational scenarios to the forefront, allowing users to interact with them through electronic devices. We've empowered AI with the ability to use these tools, enabling AI to become a truly hands-on teacher.
Features
Math Canvas




Mindmap


Quick Start
Environment Variables
Database Configuration
DATABASE_URL: PostgreSQL connection string
Server & Client
VITE_API_BASE_URL: Base URL for the API server (e.g.,http://localhost:8002)CLINET_BASE_URL: Base URL for the client application (e.g.,http://localhost:8001)
AI Configuration
MODEL_API_KEY: Your API key for the AI service (e.g.,your_api_key_here)MODEL_BASE_URL: Base URL for the AI service (optional, defaults to OpenAI)AGENT_MODEL: Model for the main agent that chats with users (e.g.,gpt-4)AGENT_MODEL_PROVIDER: Model provider (options: refer to Provider Enum)TITLE_MODEL: Model for generating chat titles (optional, defaults toAGENT_MODEL)TITLE_MODEL_PROVIDER: Model provider for title generation (optional, defaults toAGENT_MODEL_PROVIDER, refer to Provider Enum)
Provider Enum
- OpenAI:
openai - Anthropic:
anthropic - DeepSeek:
deepseek
OSS Configuration
OSS_ENDPOINT: OSS endpoint URL (if not set, image upload will be unavailable)OSS_ACCESS_KEY: OSS access keyOSS_SECRET_KEY: OSS secret keyOSS_BUCKET: OSS bucket nameOSS_REGION: OSS region
Run with Docker
Environment
- Docker >= 24.0.0
- Docker Compose >= 2.22.0
Setup
git clone https://github.com/HugeCatLab/ChatTutor.git
cd ChatTutor
cp .env.example .env
Run
cd docker
docker compose up -d
Run with Node & Bun
Environment
- Node.js >= 20
- Bun >= 1.2
- pnpm >= 9.1.0
Setup
git clone https://github.com/HugeCatLab/ChatTutor.git
cd ChatTutor
pnpm i
Development
pnpm dev
Or:
pnpm client:dev
pnpm web:dev
Build
pnpm build
pnpm client:start
pnpm web:start
Tech Stacks
Sponsors
Our sponsors are listed as follows (in no particular order):
- AiHubMix: Open model hub for AI.
Star History
AGPL v3 License
Copyright (c) 2025 Acbox, All rights reserved.