Skip to content

HugeCatLab/ChatTutor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ChatTutor

ChatTutor

Visual and Interactive AI Tutor

Version License Stars Forks Last Commit Issues

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
Math Canvas Math Canvas
Math Canvas Math Canvas
Mindmap
Mindmap 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 to AGENT_MODEL)
  • TITLE_MODEL_PROVIDER: Model provider for title generation (optional, defaults to AGENT_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 key
  • OSS_SECRET_KEY: OSS secret key
  • OSS_BUCKET: OSS bucket name
  • OSS_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):

Star History

Star History Chart


AGPL v3 License

Copyright (c) 2025 Acbox, All rights reserved.