ChatTutor is an open source visual interactive AI teaching aid. Traditional chatbots mainly interact with each other through text, which is sufficient in most scenarios, but in science and engineering learning, the information that can be conveyed by pure text is very limited.ChatTutor's goal is to solve this problem by equipping AI with a variety of teaching tools like whiteboards, simulating the use of blackboards and teaching aids by teachers in a real classroom, and allowing AI to teach through graphics, code, mind maps, and other methods, thus becoming a real "hands-on" teacher. This allows the AI to teach through graphics, code, mind maps and other methods, thus becoming a real "hands-on" teacher. The project adopts a multi-intelligent body architecture, where one intelligent body is responsible for chatting with users and another "painter" intelligent body is specifically responsible for drawing mathematical graphics, aiming to provide users with a more intuitive and efficient learning experience.

Function List
- Math Canvas:: Support for interactive geometry, function plotting and data visualization.
- code page:: Provide an environment for code writing and presentation.
- mind map:: Help users to organize and understand the structure of knowledge.
- physical canvas:: For visual simulation of physical scenes.
- digital logic canvas (DLC): For visualization of logical relationships such as digital circuits.
- AI asks the questions.: AI can create practice questions for users based on what they are learning.
- multi-intelligent body architecture (MIBA): Use different AI intelligences to divide up the work, with one responsible for general-purpose conversations and the other specializing in graphic drawing, to boost performance on specialized tasks.
- Online use:: Official website provided
https://chattutor.app, users can set up their API key on the website and then use it directly.
Using Help
ChatTutor as an open source project, users can deploy it on their own devices. Here is the detailed installation and usage process.
1. Environmental preparation
Before starting the installation, make sure that the following software is installed on your system:
Node.js: Version requirements are greater than or equal to 20.Docker:: Used to quickly build and run application environments.
2. Access to project code
First, use thegitcommand to clone the project's source code from GitHub. Open a terminal (command line tool) and enter the following command:
git clone https://github.com/sheepbox8646/ChatTutor.git
Then, go to the project directory:
cd ChatTutor
3. Configuring environment variables
The project needs some API keys and database configuration to run properly. You need to create a.envfile to hold this configuration information. A sample file is provided in the project.env.exampleYou can just copy and rename it.
In the project root directory, execute the copy command:
cp .env.example .env
Next, you'll need to open this newly created.envfile and fill in your personal configuration. Below is a detailed description of each parameter:
- Large Model Related Configurations:
API_KEY: Required. Your Big Language Model API key (e.g. OpenAI, Anthropic, etc.).BASE_URL: Required. the address of the API request.AGENT_MODEL: Required. The name of the model used by the intelligences used for chat conversations.PAINTER_MODEL: Optional. The model used by the "painter" intelligence for drawing graphics. It is recommended to use a more capable model, such asclaude-sonnet-4.5, if not set, the default is to use theAGENT_MODELThe value of theTITLE_MODEL: Optional. The model used to generate the chat headers, if not set, it will be used by defaultAGENT_MODELThe value of the
- Database Configuration:
DATABASE_URL: Required. the connection address of the PostgreSQL database.
- Object Storage (OSS) Configuration (for storing pictures).
warnings: If you do not configure these parameters below, the image generation and display functions of the application will not be available.
OSS_ENDPOINT: Required. The access address for the object storage service.OSS_ACCESS_KEY: Required. The access key ID of the object store.OSS_SECRET_KEY: Required. The access key for the object store Secret.OSS_BUCKET: Required. The name of the storage bucket used to store the file.OSS_REGION: Optional. The area of the object storage service.
4. Launching the application
Once the configuration is complete, use Docker Compose to launch the application with one click in the project root directory. Execute the following command:
docker compose up -d
-dparameter indicates that it is running in the background.Docker will automatically download the required images and build the container. After a successful startup, you can access thehttp://localhost:3000to use ChatTutor now.
5. Use of the online version
If you don't want to deploy it yourself, you can also just use the officially provided online site https://chattutor.appThe
In order to use it properly, you need to first configure your own API key and the model you want to use on the settings page. Visit the https://chattutor.app/settings You can access the settings page.
application scenario
- STEM education and learning
For students who are studying mathematics, physics, computer science, and other science and engineering subjects, ChatTutor can explain abstract concepts through visualization. For example, students can ask the AI to graph a function, demonstrate a physical process, or construct a numerical logic diagram to visualize complex knowledge and make it easy to understand. - Assisting teachers in lesson planning
Teachers can use ChatTutor to quickly create teaching materials such as mind maps, interactive examples and practice questions. This not only saves time in lesson preparation, but also enriches the teaching tools and improves the interactivity and fun of the classroom. - Self-directed exploration and research
Researchers or technology enthusiasts can utilize ChatTutor as an interactive exploration tool when learning something new. Complex technical principles and algorithms can be understood faster through conversations and visual interactions with AI.
QA
- What is ChatTutor?
ChatTutor is an open source visual interactive AI teaching assistant. It does this by providing AI with teaching tools such as whiteboards so that it can teach like a human teacher through graphics, code, mind maps, etc. It is especially suitable for learning scenarios such as science and engineering that require visualization. - Do I have to pay to use ChatTutor?
The ChatTutor project itself is open source and free. However, you need to provide your own API keys for large language models, and using these API services usually incurs a cost depending on the model you choose and the amount of usage. - Do I have to install it locally to use it?
Not. You can visit the official website directlychattutor.appOnline use. However, in order to get full functionality (e.g. image generation), you still need to configure your own API key in the settings page of the website. - Why do some features (like drawing) not work?
If you are deploying locally, image-related features require that the Object Storage (OSS) environment variables are properly configured. If not configured, images will not be stored and displayed properly. Please check your.envHas the document been filled out with a completeOSSRelated Parameters.






























