Back to all resources
OpenMAIC v1.0.1 MIT · free Bring your own model key LIVE

Stop building slides yourself.

Turning one topic into a full course, slides, quiz and all, is a day of work most people redo from scratch every time. OpenMAIC runs an agent that plans the curriculum, builds every page and revises it from your own documents, audio or video. One prompt starts it. You still need your own OpenAI, Anthropic or other model key to run it.

By Raj Singh · September 2026 · 35k stars · v1.0.1 patches four advisories · 6 min read

WHAT IT LOOKS LIKE

The agent workbench on the left, planning and revising the course as you steer it. The generated course on the right: slides, quizzes and an interactive walkthrough, built from your own uploaded material.

An interactive mind-map course screen with clickable nodes
The workbench planning a course from uploaded materialsTHU-MAIC / OpenMAIC
BEFORE YOU INSTALL IT

You bring the model key. OpenMAIC is provider-neutral: no key is bundled. Set OPENAI_API_KEY or ANTHROPIC_API_KEY in .env.local and you are billed by that provider directly, same as any other agent tool you already run.

Deploy is one click or Docker. The README ships a Vercel deploy button that asks for the same env keys, or docker compose up --build for a self-hosted Postgres stack. Node 22.19 or newer if you run it from source.

v1.0.0 shipped four advisories. v1.0.1, released September 6, 2026, is a security and stability release patching four disclosed vulnerabilities and tightening two defaults. Anyone still on v1.0.0 is running with those open.

20 skills come built in. Slides, quizzes, interactives, PBL, images, video and voice generation, plus .pptx import, ship as skills rather than one monolithic generator. You turn off what you do not need.

Licence, in plain English: MIT. Free for commercial work, fine to self-host for a team, no obligation beyond keeping the licence file.

Honest limitIt plans a course from what you give it. A curriculum decision you never wrote down anywhere, in a document or a prompt, is one the agent cannot make for you. Feed it your actual materials, not a one-line topic, if you want the first draft to be close.
Read the whole setup

Get the setup that works.

Drop your email and unlock the rest: what you need, the install, the four settings with my values, the course-building workflow, and the two ways it drifts.

One email. No follow-up unless I ship something that fits.

WHAT YOU NEED
  • Node.js 22.19 or newer if running from source
  • pnpm, the package manager the repo is built on
  • An API key from at least one model provider: OpenAI, Anthropic, Azure OpenAI or Bedrock
  • Docker, only if you want the self-hosted Postgres stack instead of Vercel
INSTALL

Vercel for a quick look, Docker to keep it

The one-click Vercel deploy is the fastest way to see it working. For anything you plan to keep running, clone it and use the Docker Compose stack, which gives you the persistent Postgres backend the Vercel path skips.

The install

terminalcloned repo
$ git clone https://github.com/THU-MAIC/OpenMAIC.git $ cd OpenMAIC && pnpm install $ docker compose up --build → app on :3000, Postgres persistence included

First build compiles the mathml2omml and pptxgenjs packages, which takes a few minutes. That is normal, not a hang.

Prove itOpen localhost:3000, add your model key in Settings, and type a one-line topic. A generated slide deck within a minute or two means the provider connection is live.
CONFIGURE

The env vars that decide what runs

.env.local is where every provider key and feature flag lives. Most of the file is optional; these are the ones that change what you actually get.

.env.localmy values
OPENAI_API_KEY=sk-... NEXT_PUBLIC_ENABLE_VIDEO_EXPORT=true NEXT_PUBLIC_ENABLE_PPTX_IMPORT=true NEXT_PUBLIC_PERSISTENCE=postgres
SettingDefaultWhy I change it
ENABLE_VIDEO_EXPORTfalseOff by default because it needs the video-export Docker profile. Worth turning on once you have watched it run once.
ENABLE_PPTX_IMPORTfalseMost course material starts life as a deck. Turning this on is the difference between retyping content and importing it.
PERSISTENCEmemoryMemory-only loses every course on restart. Postgres is one flag away if you used the Docker stack.
Provider neutralNothing is hardcoded to one model vendor. Swap OPENAI_API_KEY for ANTHROPIC_API_KEY and the same workbench runs on Claude instead, no code change.
DAILY DRIVING

Materials in, then steer

The one-click generator is fine for a quick draft. The agent workbench is the mode worth learning: it holds a session open so you can keep revising instead of starting over.

  • Upload first. Documents, audio or video, or a web search the agent runs itself. The course is only as specific as what you feed it.
  • One prompt to start. State the audience and the outcome, not just the topic. The agent plans a curriculum from that.
  • Revise in the session. Sessions are durable and server-backed. Cancel, come back tomorrow, and resume exactly where the course was.

A course built from an uploaded slide deck and two policy documents comes out closer to what you meant than one built from a single-sentence topic.

WHEN IT DRIFTS

Two failures, both configuration

PPTX import silently fails
NEXT_PUBLIC_ENABLE_PPTX_IMPORT is still false, or the importer sanitization added in v1.0.1 rejected the filename. Rename the file without special characters and retry.
Video export never finishes
The video-export Docker profile is not running. Start it with docker compose --profile video-export up --build rather than the default compose command.
On v1.0.0 stillUpgrade to v1.0.1 before anything else. It patches four disclosed advisories and tightens two defaults the changelog names directly.
THE SHAPE OF IT

Where everything lives

.env.localevery provider key and feature flag app/the Next.js workbench and generator UI packages/generation/the course-building agent logic packages/importer/PPTX and document parsing render-service/the standalone video and slide renderer

A course lives in whichever persistence backend you set. Postgres means it survives a redeploy; memory mode does not.

That is the whole setup

One prompt, an agent that plans and revises, twenty skills already built in. The next course you need to teach starts as a document you already have, not a blank slide deck.

Open on GitHub →

↑ Unlocks the moment you submit the form above.

RS
WRITTEN BY

Raj Singh

I'm Raj Singh, founder of DebtOps.ai and a Claude certified partner. Over the last five years I've managed $25M in ads, built AI solutions for Fortune 100 companies, and installed AI operating systems and AI brains inside small businesses. Everything here is something I've shipped, debugged, or watched a client ship. My goal with AgileSingh is to make you irreplaceable in this AI age.

$25M
Ads managed · 5 yrs
F100
Enterprise AI builds
Claude
Certified partner
26
Guides shipped
More guides

Now give the agent something to remember.

A course-building agent that starts fresh every session is still faster than doing it by hand. One that remembers your last course is faster again. The Claude Code setup guide is the config underneath either one.