Thanks to visit codestin.com
Credit goes to github.com

Skip to content

👨‍🏫 ChatTutor: Visual and Interactive AI Tutor

License

Notifications You must be signed in to change notification settings

jackspace/ChatTutor

 
 

Repository files navigation

ChatTutor

ChatTutor

Visual and Interactive AI Tutor

Version License Stars Forks Last Commit Issues

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
  • Code Page
  • Mindmap Mindmap
  • Physics Canvas
  • Digital Logic Canvas
  • Problem Solving created by AI to user

Roadmap

Please refer to our Roadmap v0.1 for the detailed roadmap

Quick Start

Environment

  • Node.js >= 20
  • Postgres
  • PNPM

Environment Variables

cp .env.example .env

Fill your config in .env file.

Note

ChatTutor employs a Multi-agent architecture, where Agent represents the agent that chats with the user, and Painter is an expert agent for drawing mathematical graphs.

  • API_KEY: The API key to use.
  • BASE_URL: The base URL to use.
  • AGENT_MODEL: The model to use for the agent.
  • PAINTER_MODEL: The model to use for the painter. Suggest: claude-sonnet-4.5 (optional, default to AGENT_MODEL)
  • TITLE_MODEL: The model to use for generate chat title (optional, default to AGENT_MODEL)
  • DATABASE_URL: The Postgres URL to use.

Warning

If you don't set them, images will be unavailable.

  • OSS_ENDPOINT: The OSS endpoint to use.
  • OSS_ACCESS_KEY: The OSS access key to use.
  • OSS_SECRET_KEY: The OSS secret key to use.
  • OSS_BUCKET: The OSS bucket to use.
  • OSS_REGION: The OSS region to use. (optional)

Initialize

pnpm i
pnpm db:push # Init

Run

pnpm dev

Projects Used on Core Features

  • xsai: Extra-small AI SDK.
  • jsxgraph: Interactive geometry, function plotting, and data visualization library.

Star History

Star History Chart


MIT License

Copyright (c) 2025 Acbox, All rights reserved.

About

👨‍🏫 ChatTutor: Visual and Interactive AI Tutor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 80.9%
  • Vue 14.2%
  • CSS 4.2%
  • JavaScript 0.7%