OpenMAIC (Open Multi-Agent Interactive Classroom) is an open-source platform that turns a topic or a set of documents into a full interactive lesson. It's built for educators, self-learners, and developers who want to generate structured teaching content, complete with AI teachers and AI classmates who lecture, discuss, and answer questions in real time. The project is written in TypeScript on Next.js and React, with LangGraph handling multi-agent orchestration.
At its core, OpenMAIC takes a prompt or uploaded material (documents, audio, video) and produces a lesson made of slides, quizzes, interactive HTML simulations, and project-based learning (PBL) activities. Agents can draw on a whiteboard, write formulas, and speak explanations using text-to-speech. A newer agent workbench adds a chat-first mode where you steer the course build step by step instead of getting a one-shot result.
.pptx slides or interactive .html pages for offline useOpenMAIC fits well if you're a teacher or trainer who wants to turn a topic or a document into a structured lesson without building slides and quizzes by hand. It also works for self-learners who want an interactive, conversational way to study a subject, complete with a whiteboard and spoken explanations. Teams building custom internal training material from existing documents (PDFs, transcripts, recordings) can use the document parsing and PBL features to generate courses from source content.
It's also a reasonable choice if you want to run everything locally: it supports Ollama, Lemonade, and FunASR for local LLM, TTS, and ASR, so you're not locked into a cloud provider. Developers integrating course generation into a chat-based workflow can use the OpenClaw skill instead of building a custom UI.
It's not a fit if you need a finished, review-ready curriculum without human editing. Generated lessons can be edited (there's a Pro editor and "Edit with AI"), but content still needs a review pass before use in a formal or certified setting. It's also not a learning management system (LMS) replacement. It doesn't handle grading records, enrollment, or institutional compliance requirements. And running it meaningfully requires at least one LLM provider (cloud key or local model), so it's not zero-setup if you want cloud-quality output without any configuration.
Requirements: Node.js >= 20 and pnpm >= 10.
Clone and install dependencies:
git clone https://github.com/THU-MAIC/OpenMAIC.git
cd OpenMAIC
pnpm install
Copy the environment file and configure at least one LLM provider key:
cp .env.example .env.local
OPENAI_API_KEY=sk-...
# or ANTHROPIC_API_KEY, GOOGLE_API_KEY, GROK_API_KEY, OPENROUTER_API_KEY, etc.
Providers can also be configured via server-providers.yml. For local, no-API-key setups, OpenMAIC supports Ollama, Lemonade (local LLM, image, TTS, ASR), and FunASR (local ASR):
LEMONADE_BASE_URL=http://localhost:13305/v1
funasr-server --device cuda --model fun-asr-nano
Run the dev server:
pnpm dev
Open http://localhost:3000. For production:
pnpm build && pnpm start
An ACCESS_CODE environment variable is available to password-protect shared deployments. A one-click Vercel deploy button is also provided in the repository.