OpenMAIC: Free AI Multi-Agent Interactive Classroom Generator

Turn a topic or course material into an interactive AI classroom with teachers, classmates, quizzes, simulations, editable slides, and reusable exports.

OpenMAIC (Open Multi-Agent Interactive Classroom) is a free, open-source AI education app that turns a topic or course material into an interactive classroom with AI teachers, AI classmates, slides, quizzes, and hands-on learning scenes.

You can start with a short topic prompt or upload supported documents, images, audio, and video. OpenMAIC plans the lesson, builds the classroom scenes, runs class-style discussions, and uses a shared whiteboard for explanations and visual work.

The hosted OpenMAIC Chat demo lets you try classroom generation in the browser. A self-hosted deployment supports custom model providers, local AI services, advanced document parsing, server-backed course storage, speech tools, OpenClaw integration, and optional MP4 rendering.

Features

  • Generate editable lesson outlines from topics or uploaded course materials.
  • Create slides, quizzes, simulations, games, mind maps, and coding scenes.
  • Build project-based learning activities for guided classroom sessions.
  • Run AI teachers and classmates with speech, discussion, and whiteboard actions.
  • Edit slide elements directly in Pro Mode.
  • Revise generated lesson content through Edit with AI commands.
  • Export PowerPoint, interactive HTML, classroom ZIPs, resource packs, and MP4 video.
  • Use cloud LLMs, custom endpoints, Ollama, or Lemonade.
  • Route different models to individual classroom-generation stages.
  • Use configurable web search providers during generation.
  • Connect local speech recognition and voice-cloning services.
  • Store classroom documents and runtime sessions in PostgreSQL.
  • Generate classrooms from supported chat apps through OpenClaw.
Official Intro

Official Examples

Teach me Python from scratch in 30 min
How to play the board game Avalon
Analyze the stock prices of Zhipu and MiniMax
Break down the latest DeepSeek paper

How to Use OpenMAIC

Requirements and Installation

OpenMAIC requires Node.js 20 or newer and pnpm 10 or newer for a local source installation.

git clone https://github.com/THU-MAIC/OpenMAIC.git
cd OpenMAIC
pnpm install

Configure an LLM Provider

Copy the example environment file and configure at least one usable LLM provider.

cp .env.example .env.local
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...

You can also use server-providers.yml for server-managed provider configuration.

providers:
  openai:
    apiKey: sk-...
  anthropic:
    apiKey: sk-ant-...

Supported LLM Providers

Provider GroupNotes
OpenAI and Azure OpenAIOpenAI model presets plus Azure deployment-name configuration
Anthropic and Amazon BedrockClaude models through Anthropic or Bedrock-backed deployments
Google GeminiBuilt-in Gemini model presets and the project-recommended Gemini path
DeepSeek, Qwen, Kimi, GLM, MiniMax, Doubao, Hunyuan, MiMo, SiliconFlowBuilt-in presets for major model services
Grok, OpenRouter, Atlas CloudAdditional hosted model-provider options
Ollama and LemonadeLocal model paths for self-hosted AI
OpenAI-compatibleCustom endpoints that use the OpenAI API format

Gemini 3 Flash is the recommended model for balancing generation quality and speed. Gemini 3.1 Pro is the higher-quality option and takes longer to generate.

DEFAULT_MODEL=google:gemini-3-flash-preview

Run Locally

Open http://localhost:3000, enter a topic or upload course materials, review the generated outline, and start classroom generation.

pnpm dev

Production Build

pnpm build && pnpm start

Vercel, Docker, and Shared Deployments

Vercel: Fork the repository, import it into Vercel, configure the required provider environment variables, and deploy.

Docker:

cp .env.example .env.local
docker compose up --build

Shared deployments: Set ACCESS_CODE if visitors should enter a site-level password before accessing the app and protected API endpoints.

ACCESS_CODE=your-secret-code

Optional: Server-Backed Persistence with PostgreSQL

The server-persistence Docker profile stores classroom documents and runtime sessions through the app’s embedded persistence API with PostgreSQL.

cp .env.example .env.local
printf '\nDATABASE_URL=postgres://openmaic:openmaic-dev@postgres:5432/openmaic\nPERSISTENCE_DEV_TOKEN=openmaic-local-dev\n' >> .env.local
NEXT_PUBLIC_PERSISTENCE=1 NEXT_PUBLIC_PERSISTENCE_TOKEN=openmaic-local-dev docker compose --profile server-persistence up --build

The reference persistence token is intended for localhost or trusted-network, single-user deployments. The public NEXT_PUBLIC_PERSISTENCE_TOKEN does not provide user isolation. Production deployments need real session authentication and server-controlled authorization.

Optional: MP4 Video Export

PowerPoint, interactive HTML, classroom ZIP, and resource-pack exports use the main app. MP4 rendering uses an optional render service with Node.js 22, Chromium, and FFmpeg.

docker compose --profile video-export up --build

When RENDER_SERVICE_URL is configured, the Export Video action sends the self-contained project to the render service and returns an MP4 after rendering. If the render service is unavailable, OpenMAIC downloads the project ZIP for local CLI rendering.

The standard CPU render profile requires at least 8 GiB of host or container memory. A low-memory profile uses screenshot capture and requires at least 4 GiB. The render service uses software rendering and does not require a host GPU.

OpenClaw Integration

Install the OpenMAIC skill in OpenClaw:

clawhub install openmaic

The skill supports hosted and self-hosted modes. Hosted mode uses an access code from open.maic.chat. Self-hosted mode can guide the clone, configuration, and startup process.

Configure the skill through ~/.openclaw/openclaw.json:

{
  "skills": {
    "entries": {
      "openmaic": {
        "config": {
          "accessCode": "sk-xxx",
          "repoDir": "/path/to/OpenMAIC",
          "url": "http://localhost:3000"
        }
      }
    }
  }
}
OpenClaw PhaseWhat It Does
CloneDetects an existing checkout or asks before cloning and installing
StartupOffers pnpm dev, pnpm build && pnpm start, or Docker
Provider KeysRecommends a provider path while you edit .env.local
GenerationSubmits an asynchronous generation job and polls until the classroom link is ready

Document Parsing and Supported Uploads

OpenMAIC accepts text, office documents, images, and selected audio or video formats. Available formats depend on the configured document or media parser.

ParserSupported Inputs
Local text parserTXT, Markdown
MinerU self-hostedPDF, DOCX, PPTX, XLSX, PNG, JPG/JPEG, WebP, GIF, BMP, JP2
MinerU CloudMinerU self-hosted formats plus DOC, PPT, and XLS
AliDocMind documentsPDF, DOCX, PPTX, XLSX, PNG, JPG/JPEG, BMP, GIF
AliDocMind media extractionMP4, MOV, AVI, MKV, WMV, MP3, WAV, AAC

MinerU is useful for course files with tables, formulas, scanned pages, and OCR requirements. Configure the official MinerU API or a self-hosted MinerU instance:

PDF_MINERU_BASE_URL=https://...
PDF_MINERU_API_KEY=...

Optional: VoxCPM2 Voice Cloning

OpenMAIC can connect to a self-hosted VoxCPM2 backend for text-to-speech and voice cloning. Supported backend styles include vLLM-Omni, the official Python API path, and Nano-vLLM.

Voice options include automatic persona-based voices, natural-language voice prompts, and voice cloning from a reference audio clip recorded or uploaded in the browser.

Optional: Local Speech Recognition with FunASR

OpenMAIC includes a local FunASR speech-recognition provider with an OpenAI-compatible server path. The built-in setup supports SenseVoiceSmall, Paraformer, and Fun-ASR-Nano, with CPU and GPU deployment options.

ASR_FUNASR_BASE_URL=http://localhost:8000/v1

Alternatives & Related Resources

  • DeepTutor is an open-source multi-agent learning workspace for tutoring, research, practice questions, and guided mastery.
  • OpenClaw is the self-hosted agent platform used by OpenMAIC’s chat-app classroom skill.
  • Free AI Education Tools collects additional AI tools for studying, teaching, quizzes, flashcards, and academic work.

Pros

  • Free and MIT-licensed
  • Rich multi-agent lesson formats
  • Editable outlines and slides
  • Multiple model providers supported
  • Flexible self-hosting and exports

Cons

  • LLM access required
  • Resource-heavy MP4 rendering
  • Variable classroom generation time

FAQs

Q: Can I run OpenMAIC with a local LLM?
A: Yes. OpenMAIC has built-in local provider config for Ollama and Lemonade and accepts custom OpenAI-compatible endpoints. Model quality, context length, tool use, and local hardware affect the generated classroom.

Q: Which upload formats depend on external parsing services?
A: TXT and Markdown use the local text parser. Office documents, PDFs, images, and supported audio or video formats use MinerU or AliDocMind according to the configured parser and file type.

Q: What happens when the MP4 render service is unavailable?
A: OpenMAIC downloads the self-contained render project as a ZIP for local CLI rendering. One-click MP4 generation needs the optional render service with Node.js 22, Chromium, and FFmpeg.

Q: What changes when PostgreSQL persistence is enabled?
A: Classroom documents and runtime sessions move to the server-backed persistence layer. The reference token configuration is intended for localhost or trusted single-user deployments and needs real authentication for production multi-user use.

Last Updated: August 19, 2026

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the latest & top AI tools sent directly to your email.

Subscribe now to explore the latest & top AI tools and resources, all in one convenient newsletter. No spam, we promise!