How github4kid/openmaic works
OpenMAIC is an AI-powered interactive classroom and course-building platform. Its main journey is to provide a topic or learning materials, generate a course of scenes and activities, edit or steer that course, then present it as an interactive classroom with agent discussion and playback. The README also describes a Pro workbench with durable sessions, reusable skills, and configurable model, media, search, and storage providers. Edges use README-level capability statements where implementation wiring was not sampled; unsampled details are intentionally not inferred.
Main entry points: [id]/page.tsx Classroom View · stage.tsx Stage Editor · generation-preview/page.tsx Course Generator · client.tsx Agent Workbench
Components 22
Course Creation
- Course Generator
app/generation-preview/page.tsx - Outline Generation
app/api/generate/scene-outlines-stream/route.ts - Document Extraction
app/api/extract-document/route.ts
Agent Workbench
- Agent Workbench
app/workbench/new/client.tsx - Agent Runtime
lib/agent-runtime/lifecycle.ts - Durable Sessions
app/api/agent/sessions/route.ts - Course Skills
app/api/agent/skills/route.ts
Course Authoring
- Stage Editor
components/stage.tsx - Slide Editing
components/slide-renderer/Editor/index.tsx - Action Engine
lib/action/engine.ts - Stage Data
lib/types/stage.ts
Learning Experience
- Classroom View
app/classroom/[id]/page.tsx - Scene Renderer
components/stage/scene-renderer.tsx - Playback Engine
lib/playback/engine.ts - Live Discussion
components/roundtable/index.tsx - Project Learning
components/scene-renderers/pbl-renderer.tsx - Chat Sessions
lib/utils/chat-storage.ts
Runtime Services
- Provider Settings
lib/store/settings.ts - Runtime Storage
lib/runtime/store.ts - Stage Persistence
lib/utils/stage-storage.ts - Video Export
app/api/export-video/render/route.ts
Other components
- Learner / Author
Connections 22
- Learner / Author → Course Generator: starts generation
README.md - Course Generator → Outline Generation: requests outlines
README.md - Learner / Author → Document Extraction: provides materials
README.md - Learner / Author → Agent Workbench: steers course
README.md - Agent Workbench → Agent Runtime: delegates building
README.md - Agent Workbench → Durable Sessions: uses durable runs
README.md - Agent Runtime → Course Skills: uses course tools
README.md - Agent Runtime → Document Extraction: builds from materials
README.md - Course Generator → Stage Editor: creates course
README.md - Stage Editor → Stage Data: edits scenes
README.md - Stage Editor → Slide Editing: provides editing
README.md - Learner / Author → Classroom View: opens course
README.md - Classroom View → Scene Renderer: presents scenes
README.md - Classroom View → Playback Engine: runs actions
lib/playback/engine.ts - Playback Engine → Action Engine: executes actions
lib/playback/engine.ts - Classroom View → Live Discussion: hosts discussions
README.md - Classroom View → Project Learning: presents projects
README.md - Live Discussion → Chat Sessions: persists sessions
- Provider Settings → Course Generator: configures providers
- Stage Editor → Stage Persistence: saves course
- Learner / Author → Video Export: requests export
README.md - Stage Persistence → Runtime Storage: uses runtime storage
lib/utils/stage-storage.ts