THU-MAIC/OpenMAIC

Learning Resources

Turns a topic or uploaded material into an interactive AI-taught classroom with slides, quizzes and simulations.

Best position on GitHub Trending (daily): #12. Click to get this badge for your README
42,071
6,506
TypeScript
MIT
7 months old

OpenMAIC (Open Multi-Agent Interactive Classroom) is an open-source, self-hosted platform that turns a prompt or document into a replayable classroom: slides, quizzes, interactive HTML simulations and project-based activities, presented by AI teachers and classmates that speak, draw on a whiteboard and discuss with the learner. It suits educators, course creators and learners who want generated lessons rather than a plain chat answer, and who are willing to run a server.

How a lesson gets made

There are two generation modes. Standard mode uses a two-stage pipeline: an outline from the topic or attached material, then a rich scene for each outline item. Deep Interactive Mode builds hands-on units instead — 3D visualizations, process simulations, mini-games, mind maps and in-browser programming exercises, all responsive across desktop, tablet and phone — with the AI teacher able to operate the interface to point things out. Materials can be PDF, Word, PowerPoint, spreadsheets, text, images, audio or video; extractors convert what they support into generation input. If audio/video extraction is unavailable, those materials are marked failed rather than silently producing an empty transcript.

Running it

The app is Next.js/TypeScript and self-hosted. Local use needs Node.js ≥ 22.19, pnpm ≥ 10 and PostgreSQL 16; without DATABASE_URL the server refuses to start and exits. Generation runs inside a long-running server process, so it continues after the browser leaves the page. This is why Vercel/serverless hosting is supported only up to 1.1.x — 1.2.0 and later need a long-running Node process plus PostgreSQL, via Docker Compose or pnpm start. The supplied Compose file is explicitly a personal installation: it listens on localhost only and runs single-user, so publishing it to a network without setting ACCESS_CODE lets anyone who can reach the port own and delete the whole library.

Models are declared server-side in openmaic.yml, mapping providers to uses such as outline, slide content, speech and search; keys stay in .env.local. Many extras are opt-in: local providers (Lemonade), local speech recognition (FunASR), document parsing (MinerU), self-hosted TTS with voice cloning (VoxCPM2), and MP4 export, which requires a separate Chromium+FFmpeg render container — without it, export falls back to a project ZIP.

Output and upgrades

Classrooms export as editable PPTX, an offline single HTML file that plays the lesson, or a ZIP for backup and transfer between deployments; the offline export inlines external assets so it can play on an air-gapped network, though courses exported before that feature need re-exporting. Upgrades deserve attention: 1.3.0 requires stopping all old instances and offers no rollback below 1.3.0, 1.2.0 changed identity/ownership modes that should be set before first start, and Compose deployments have their own upgrade notes. The repository is MIT-licensed, including commercial use, but two bundled workspace packages carry their own terms (one LGPL-3.0-or-later). Agent-workbench integration (OpenClaw, Codex and others) is optional and depends on that separate workbench.

Project source and documentation

Written by AI from the project's README, updated October 31, 2026. The project's own docs are the source of truth.

Hacker News

Open Multi-Agent Interactive Classroom
▲ 3 · 0 comments · April 15, 2026
AI agents that teach, debate and quiz you in real time
▲ 1 · 0 comments · April 7, 2026