OpenMAIC (Open Multi-Agent Interactive Classroom) is a free, open-source AI education web app that turns a topic or document into an interactive classroom.
It uses multiple AI agents to plan a lesson, generate scenes, present slides, ask quiz questions, draw on a shared whiteboard, and run class-style discussions. You can start from a short topic prompt or upload a PDF, then export the finished classroom as PowerPoint, HTML, or a classroom ZIP.
OpenMAIC is most useful when a normal chatbot answer is too flat for the learning task. It builds a session with teachers, classmates, slides, quizzes, simulations, and project-based activities, so the result feels closer to a guided class than a static answer page.
The project has academic roots. It accompanies a peer-reviewed paper published in the Journal of Computer Science and Technology. The current codebase is a full Next.js 16 application with a LangGraph-powered orchestration layer, a multi-provider AI backend, classroom export tools, and a guided OpenClaw skill for chat-app generation.
Features
- Generates a full lesson outline from a plain-text topic description or an uploaded PDF document.
- Lets you review, edit, reorder, add, or delete outline scenes before full classroom generation.
- Generates four main scene types: slide lessons with voice narration, interactive quizzes, HTML-based simulations, and project-based learning activities.
- Adds Deep Interactive Mode for 3D visualizations, simulations, games, mind maps, and online programming scenes.
- Runs AI teachers and AI classmates through a LangGraph state machine that manages speaking turns, whiteboard actions, and live discussions.
- Executes 28+ action types at runtime, including speech, whiteboard drawing, text annotations, chart rendering, spotlight effects, and laser pointer animations.
- Grades quiz responses in real time and delivers AI-generated feedback per answer.
- Supports speech recognition so you can talk to your AI teacher by microphone.
- Exports finished lessons as editable
.pptxfiles with LaTeX formula support, self-contained interactive.htmlpages, classroom ZIPs, or resource packs. - Supports OpenAI, Anthropic, Google Gemini, DeepSeek, Qwen, Kimi, MiniMax, Grok, OpenRouter, Doubao, Tencent Hunyuan, Xiaomi MiMo, GLM, Ollama, Lemonade, and OpenAI-compatible APIs.
- Integrates with OpenClaw to trigger classroom generation directly from Feishu, Slack, Discord, Telegram, and 20+ other messaging apps.
- Searches the web during class through supported search providers, including Brave, Baidu, Bocha, Tavily, and MiniMax depending on configuration.
- Parses complex PDFs with optional MinerU integration for tables, formulas, and scanned documents.
- Supports Pro Mode slide editing, with selectable text, inserted text boxes and images, slide thumbnails, reordering, undo, and redo.
Official Examples
How to Use It
Clone and Install
git clone https://github.com/THU-MAIC/OpenMAIC.git
cd OpenMAIC
pnpm installConfigure Your LLM Provider
Copy the example environment file:
cp .env.example .env.localOpen .env.local and add at least one provider API key to get started.
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...Or create a server-providers.yml file in the project root for YAML-based configuration:
providers:
openai:
apiKey: sk-...
anthropic:
apiKey: sk-ant-...Supported LLM Providers
| Provider | Notes |
|---|---|
| OpenAI | OpenAI models and compatible endpoints |
| Anthropic | Claude models with supported thinking controls |
| Google Gemini | Recommended default path for quality and speed |
| DeepSeek, Qwen, Kimi, GLM, MiniMax, Doubao, Hunyuan, MiMo | Built-in provider presets for major Chinese and international model services |
| Ollama and Lemonade | Local model paths for self-hosted or private setups |
| OpenAI-compatible | Third-party APIs that follow the OpenAI API format |
The recommended model is Gemini 3 Flash for a balance of quality and generation speed. Gemini 3.1 Pro gives higher quality at slower speeds. To set Gemini as the default server model, add this line to .env.local:
DEFAULT_MODEL=google:gemini-3-flash-previewRun Locally
pnpm devOpen http://localhost:3000 in your browser. Type a topic or upload a document, review the outline, then generate the classroom.
Production Build
pnpm build && pnpm startDeployment Options
Vercel:
Fork the repo, import it into Vercel, add your API key environment variables, and deploy. A one-click deploy button is also available in the GitHub README.
Docker:
cp .env.example .env.local
# Add your API keys to .env.local, then:
docker compose up --buildShared deployments: Add ACCESS_CODE in .env.local if you want visitors to enter a site-level password before using the app.
ACCESS_CODE=your-secret-codeOpenClaw: Install the OpenMAIC skill to your OpenClaw instance with one command:
clawhub install openmaicOr copy it manually:
mkdir -p ~/.openclaw/skills
cp -R /path/to/OpenMAIC/skills/openmaic ~/.openclaw/skills/openmaicThe skill supports hosted and self-hosted modes. In hosted mode, use an access code from open.maic.chat. In self-hosted mode, the skill walks through cloning, configuring, and starting the server, with confirmation before each action.
Configure the skill via ~/.openclaw/openclaw.json:
{
"skills": {
"entries": {
"openmaic": {
"config": {
"accessCode": "sk-xxx", // Hosted mode: access code from open.maic.chat
"repoDir": "/path/to/OpenMAIC", // Self-hosted: local repo path
"url": "http://localhost:3000" // Self-hosted: server URL
}
}
}
}
}OpenClaw Skills
| Phase | What It Does |
|---|---|
| Clone | Detects an existing checkout or asks before cloning and installing |
| Startup | Lets you pick pnpm dev, pnpm build && pnpm start, or Docker |
| Provider Keys | Recommends a provider path; you edit .env.local yourself |
| Generation | Submits an async generation job and polls until the classroom link is ready |
Optional: Advanced PDF Parsing with MinerU
For PDFs with complex tables, math formulas, or scanned pages, connect MinerU for better parsing. Use the MinerU official API or self-host your own instance.
Add these variables to .env.local:
PDF_MINERU_BASE_URL=https://...
PDF_MINERU_API_KEY=... # Required only if using a protected MinerU instanceOptional: VoxCPM2 Voice Cloning
OpenMAIC can connect to a self-hosted VoxCPM2 backend for text-to-speech and voice cloning. It supports vLLM-Omni, Nano-VLLM, and the official Python API style through the OpenMAIC adapter.
Use this path when local speech output matters more than a managed cloud TTS provider. You can use Auto Voice, describe a prompt voice, or clone a voice from a short reference audio clip.
Alternatives
- DeepTutor: Open-source, multi-agent AI learning assistant.
Pros
- Generates complete interactive lessons from a topic prompt or PDF in minutes.
- Creates a classroom atmosphere with multiple AI agents that can lecture, discuss, draw, and respond during the lesson.
- Lets you edit the course outline before generation, which reduces wasted runs when the first lesson plan is off target.
- Supports Deep Interactive Mode for hands-on scenes such as simulations, games, 3D views, mind maps, and coding exercises.
- Exports to PowerPoint, interactive HTML, classroom ZIPs, and resource packs.
- Can produce offline-ready exported classrooms by inlining external assets when export can fetch them.
- Runs locally with Docker or deploys to Vercel.
- Integrates with messaging apps through OpenClaw so you can generate classrooms from chat apps.
- Free and open source under the MIT License.
Cons
- You need at least one working LLM provider, local model server, or compatible API endpoint before the app can generate classrooms.
- Generation time depends on lesson length, scene type, selected model, and enabled media features.
- The AI-generated classroom can include factual mistakes, so review lessons before using them with students or publishing the exported material.
- Self-hosted features such as VoxCPM2 TTS, MinerU parsing, local search providers, and OpenClaw setup add configuration work.
FAQs
Q: What is OpenMAIC?
A: OpenMAIC is an open-source AI classroom generator. It turns a topic or PDF into a multi-agent lesson with slides, quizzes, discussions, whiteboard actions, and interactive scenes.
Q: Is OpenMAIC free?
A: Yes. OpenMAIC is free and open source under the MIT License. You still need access to an LLM provider, local model server, or compatible API endpoint to generate classrooms.
Q: Is OpenMAIC Chat the official demo?
A: Yes. The public demo runs at open.maic.chat. For production or private use, self-hosting gives you more control over model keys, access control, and exported classroom data.
Q: Can I run OpenMAIC with a local LLM?
A: Yes. OpenMAIC supports local paths such as Ollama and Lemonade, plus OpenAI-compatible APIs. Local generation quality depends on the model, context window, hardware, and tool-calling reliability.
Q: How long does it take to generate a classroom?
A: A short lesson can finish in a few minutes, while longer classrooms with more scenes, media, TTS, or higher-quality models can take longer. Review the outline before full generation to avoid spending time on the wrong lesson structure.
Q: What file types can I upload?
A: PDF documents are the primary upload format. OpenMAIC parses text, tables, and images from PDFs to build lessons. Plain-text topic descriptions also work if you do not have a document.
Q: Can OpenMAIC export lessons for offline use?
A: Yes. OpenMAIC can export PowerPoint files, interactive HTML pages, classroom ZIPs, and resource packs. Recent export updates can inline external assets for offline playback when those assets can be fetched during export.
Q: How does the whiteboard work during class?
A: The whiteboard is SVG-based and rendered by AI agents in real time. Agents can draw shapes, write text, sketch flowcharts, and solve equations step by step. The whiteboard is shared across the session, so later agents can add to earlier work.
Q: Who should use OpenMAIC?
A: Use OpenMAIC when you want a full interactive learning session with slides, quizzes, agents, and exports. It fits teachers, course builders, self-learners, and technical teams that can handle API keys or self-hosting. For a quick one-paragraph answer, a normal chatbot is faster.
Last Updated: June 27, 2026










