Favicon of OpenMAIC

OpenMAIC

OpenMAIC is an open-source platform that turns a topic or document into an interactive classroom with AI teachers, slides, quizzes, and simulations.

OpenMAIC website screenshot
OpenMAIC GitHub repository preview

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.

Key features

  • One-click generation: describe a topic or attach materials and get a full lesson built automatically
  • Agent workbench: a chat-based workspace that plans, builds, and revises whole courses, with durable server-backed sessions you can pause, resume, or cancel
  • Multi-agent classroom: AI teachers and peer agents lecture, discuss, and interact with you during the lesson
  • Rich scene types: slides, quizzes, interactive HTML simulations, and project-based learning activities
  • Whiteboard and TTS: agents draw diagrams, write formulas, and explain content out loud
  • Session materials: upload documents, audio, and video, or pull from web search, and the agent builds from them
  • Export options: download editable .pptx slides or interactive .html pages for offline use
  • Provider-neutral: works with OpenAI, Anthropic, Google Gemini, Amazon Bedrock, DeepSeek, Qwen, and other providers, plus local options like Ollama, Lemonade, and FunASR
  • OpenClaw integration: generate classrooms directly from Feishu, Slack, Telegram, Discord, and other messaging apps through an AI assistant skill

Ideal use cases

OpenMAIC 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.

Installation

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.

Frequently asked questions

Share:

Stars
41K
Forks
6.4K
Last commit
14 hours ago
Repository age
7 months
License
MIT
Self-hosted
No
Activity score
86/100
View Repository
Ad
Favicon

 

  
 

Similar to OpenMAIC

Favicon

 

  
 
Favicon

 

  
 
Favicon