Learning resources#Text to speech#Multi-agent#3D modeling
OpenMAIC: an open-source AI classroom that teaches and lets you experiment
Tsinghua MAIC open-sourced OpenMAIC: multi-agent lessons with slides, quizzes and interactive simulations, AI teachers and classmates. MIT, 41k stars.
Project facts
GitHub Ecosystem- License
- MIT
- Language
- TypeScript
- Stars
- 40,999
- Data checked
- 2026-10-19
Snapshot figures reflect the check date and may change over time.

Most AI teaching tools hand back a pile of materials: a few slides, a narrated video, a quiz. The material exists, but no lesson happened. OpenMAIC (Open Multi-Agent Interactive Classroom) aims at the second part. Give it a topic or upload documents, images, audio or video, and it builds a classroom where an AI teacher and AI classmates lecture, answer questions, argue, draw on a whiteboard and guide hands-on work. The project comes from Tsinghua’s THU-MAIC team, uses MIT, is primarily TypeScript, and had 40,999 stars on October 19, 2026.

Core features
- Generation runs in two passes: the input is first analyzed into a structured outline, then each scene is generated from that outline. Separating course structure from page content avoids writing and laying out at the same time. Agents are orchestrated with LangGraph, and the teacher, classmates and a classroom director each own a job: explaining, discussing, operating the whiteboard, quizzing and changing scenes.
- Five kinds of interactive scenes: 3D visualization, process or physics simulation, knowledge mini-games, mind maps and in-browser programming. Students adjust parameters and watch results change, while the AI teacher highlights key areas, sets conditions and offers hints.
- A Pro workbench: since v1.0.0 a conversational agent handles lesson preparation. It plans multi-lesson curricula, patches a single scene atomically, uploads and parses documents, audio and video, generates images, clips and narration, and keeps sessions on the server so they can be paused, resumed and given follow-up instructions. Twenty-four built-in skills cover curriculum design, deep research, lectures, workshops, PPTX import and style reuse.
- Three export formats: a
.pptxthat keeps every scene, a single offline.htmlthat plays the whole lesson, and a classroom ZIP you can move to another deployment. Since v1.2.0 export is a first-class feature and server-first generation is stable — closing the tab or restarting the service no longer kills a run. - Models and storage are both swappable:
openmaic.ymldeclares providers and assigns a model to each slot (outline, slides, TTS, web search). OpenAI, Anthropic, Gemini, DeepSeek, Qwen, Kimi, MiniMax, Doubao, Hunyuan, Zhipu, Ollama and Lemonade are supported, plus any OpenAI-compatible API. Courses live in PostgreSQL by default, and media can sit in PostgreSQL or S3.
Typical use cases
- A teacher preparing a new unit: drop in a textbook chapter or a paper, review the generated outline, then produce slides, a quiz and a hands-on experiment, and export a PPTX back into the existing courseware.
- Self-studying an unfamiliar field: skip the video, enter the classroom, let the teacher explain a section, manipulate the simulation, and ask follow-up questions after a wrong answer. Narration runs through TTS; if you want to self-host that piece, VoxCPM covers the local option.
- Training providers producing courses at volume: the Pro workbench keeps resumable sessions, which suits splitting a topic into several lessons and revising over days; the style-reuse skill applies one visual system across courses.
- Starting from a chat tool: an OpenMAIC Skill plugs into OpenClaw, Codex, DeepSeek, WorkBuddy and other workbenches, so a lesson can be kicked off from Feishu, Slack, Telegram or an IDE.
Quick start
You need Node.js 22.19 or newer, pnpm 10 or newer, and PostgreSQL 16 (pnpm db:up starts a development database with Docker):
git clone https://github.com/THU-MAIC/OpenMAIC.git
cd OpenMAIC
pnpm install
cp .env.example .env.local
cp openmaic.example.yml openmaic.yml
pnpm db:up
pnpm dev
Fill in at least one provider key in .env.local, uncomment the DATABASE_URL line, and open http://localhost:3000. Without a DATABASE_URL the server refuses to start and says how to supply one. For production, run pnpm build then pnpm start, and keep the process alive: generation happens on the server and continues after the browser leaves.
Summary
For people who want knowledge turned into something you can operate, OpenMAIC is the most complete open-source attempt so far. It does not stop at generating content; it puts a lecturer, classmates, a whiteboard, quizzes and interactive experiments into one runtime. The 40,999 stars and the release cadence from v0.1 to v1.2.1 show the community is using it.
Three things to know before installing. First, it is not light: it needs PostgreSQL, generation runs as a long-lived server process, Vercel deployments stop at 1.1.x and 1.2 expects self-hosting. Second, you must supply the authorization layer: the README states that ACCESS_CODE is not an account system and that some developer tokens lack user isolation, so add real authentication before multi-user deployment. Third, security patches have been frequent: v1.0.1 through v1.0.3 fixed path validation, stored HTML, SSRF, expiring access codes and a Next.js vulnerability, and v1.1.1 and v1.1.2 added two more, so keep a self-hosted instance current. It does not decide whether a lesson’s goals, difficulty and facts are right; a person still reviews the output. MIT, TypeScript.