不写一行代码:用 OpenMAIC 把一页 PPT 变成会互动的 AI 课堂,10 分钟上手
不写一行代码用 OpenMAIC 把一页 PPT 变成会互动的 AI 课堂10 分钟上手【免费下载链接】OpenMAICOpen Multi-Agent Interactive Classroom — Get an immersive, multi-agent learning experience in just one click项目地址: https://gitcode.com/GitHub_Trending/op/OpenMAIC在线课程的体验长期停留在一个根本性局限上视频在播放你可以暂停、倍速但课程本身是固定的。没有谁能回答你随时冒出的问题更不会有人针对你的理解水平调整讲解节奏。OpenMAICOpen Multi-Agent Interactive Classroom正是冲着这个痛点来的——这个由清华大学团队开源、采用 MIT 协议的 TypeScript 项目把课程生产与课堂运行合二为一你给它一个主题或一份材料它在几分钟内生成由 AI 老师与 AI 同学共同出演的沉浸式互动课堂全程不需要编写任何代码。本文不重复社区里流传的架构介绍而是沿着一条真实可走的路径从网页版输入主题开始跟踪每一次请求在仓库源码中的落点最后给你一份十分钟内可执行的验收清单。所有结论均来自当前仓库的实际代码你可以随时对照验证。网页版快速体验从输入主题到生成课堂的完整路径体验 OpenMAIC 最直接的方式是打开官方在线体验站点open.maic.chat按提示配置至少一个 LLM 提供方OpenAI、Anthropic、DeepSeek、Qwen、GLM、Ollama 等任一即可后进入首页。首页的核心是一个自由文本需求框所有关于主题、时长、风格的意图都写在这一段话里正如 UserRequirements 中requirement字段的注释所写——Single free-form text for all user input。提交后页面跳转到 app/generation-preview/page.tsx这里承载了从一句话到一间课堂的完整状态机。其核心方法startGeneration按序执行六个阶段每一阶段都会更新进度指示器素材解析若上传了文档先调用/api/extract-document抽取文本与图片联网检索可选若勾选了联网调用/api/web-search把检索结果压缩为researchContext作为后续生成的上下文补充大纲流式生成请求/api/generate/scene-outlines-stream通过 SSE 逐条推送大纲卡片同时推断课程语言与课程标题大纲审核大纲生成完毕后进入可编辑审核界面默认 2.5 秒无操作自动继续见OUTLINE_REVIEW_AUTO_CONTINUE_MS也可以中途点击流式卡片提前展开编辑器进行修改智能体生成在自动模式下调用/api/generate/agent-profiles由 LLM 依据大纲、可用头像列表与可用音色列表生成教师、同学等角色并以角色卡翻转的交互呈现确认后写入 stage场景生成与语音合成逐场景调用fetchSceneContent、fetchSceneActions生成内容与课堂动作随后为第一个场景生成 TTS 语音最后写入存储并跳转/classroom/[id]。这个流程中值得注意的设计是中途可介入。大纲以流式卡片呈现时用户点击卡片即可提前进入编辑态handleExpandStreamingOutlineSSE 仍在后台继续推送刷新页面后会话从sessionStorage恢复并能依据保存的previewPhase判断用户曾提前打开过编辑器这一意图避免在刷新后误触发自动继续。也就是说生成不是一次不可控的黑盒提交而是每一页结构都可以被确认或修改后才进入内容生成。把 PPT/文档丢进去两阶段内容管道如何处理素材OpenMAIC 对从文档出发的支持不是简单地把文件塞进提示词而是经过一条明确分层的两阶段管道。在 lib/types/generation.ts 的文件头注释中这条管道被定义得清清楚楚Stage 1用户需求 文档 → 逐页场景大纲Scene OutlinesStage 2场景大纲 → 完整场景slide / quiz / interactive / pbl含课堂动作。先看素材进入系统的方式。上传的文档在 app/api/extract-document/route.ts 统一处理支持 multipart 上传与服务端资产引用两种形式抽取器的选择则由 lib/document/extractors/registry.ts 按 MIME 类型完成系统内置了文本类txt/md 等与 PDF 类等多套 provider可在设置中指定首选解析服务。解析结果会经历三层约束见 lib/constants/generation.ts单文件大小上限 50MBMAX_EXTRACT_DOCUMENT_FILE_SIZE_BYTES正文进入模型前截断为 50,000 字符MAX_PDF_CONTENT_CHARS从文档中抽取的图片最多以 20 张进入视觉输入预算MAX_VISION_IMAGES每张图片带有visionPriority字段超出预算时按优先级取舍。随后所有解析结果通过buildDocumentBundle汇总为统一的 bundle——正文、图片及其来源文档归属信息一并写入会话图片存入 IndexedDB 或服务端资产池以imageMapping的形式供大纲与场景两个阶段按 id 引用。进入 Stage 1 后文档正文与图片、联网检索上下文、用户需求被一同送入大纲生成接口。SceneOutline结构lib/types/generation.ts为每个场景预留了类型slide/quiz/interactive/pbl、标题、目的描述、3-5 个要点、教学目的、预估时长以及针对不同场景的专属配置测验的题量与难度、交互组件的 widget 类型与关键变量、PBL 的项目主题与目标技能。文档中提取的图片还会以suggestedImageIds的形式被直接建议给对应的场景页。Stage 2 则把已确认的大纲逐个物化为完整场景先由内容接口生成幻灯片元素、测验题目或 PBL 项目载荷再由动作接口生成该场景下智能体要执行的教学动作序列。生成完成后课堂内的对话并非简单的你问我答而是由 lib/orchestration/director-graph.ts 中的 LangGraph StateGraph 驱动director节点决定下一位发言的智能体单智能体场景走纯代码逻辑零 LLM 调用多智能体场景则由 LLM 决策发言顺序并通过共享记忆与白板动作账本维持课堂连贯性。这段流水线最终产出的不只是一页静态 PPT 的替代品而是会说话、会提问、会画图、会模拟的互动课堂。十分钟验收清单课堂结构、互动点与角色配置生成完成后课堂跳转至/classroom/[id]。在正式使用前建议按下面这份清单在十分钟内完成验收它同时对应了仓库中每一层能力的真实实现。课堂结构是否完整。打开侧边栏或大纲视图核对每个场景的类型与顺序是否符合预期。一页 PPT 变成课堂后通常不应全是幻灯片应有穿插其间的测验quiz支持单选/多选/简答与难度配置、交互组件interactive或 PBL 环节。若你在需求中开启了交互模式课堂将以交互优先的方式生成这是 app/page.tsx 中interactiveMode开关的职责。互动点是否真的能动。交互场景对应一组 widget 类型——模拟、思维导图、3D 可视化、游戏与在线编程等其配置结构见 SceneOutline 的widgetType与widgetOutline字段。验收时建议实际操作一个模拟或 3D 场景确认参数可调、状态可观察。角色配置是否符合预期。在自动模式下角色由 LLM 依据大纲生成头像从仓库内置的 12 个角色形象中选取见 app/generation-preview/page.tsx 中的allAvatars列表并绑定你在全局设置的旁白音色若对自动生成不满意可在设置中切换到预置角色模式agentMode preset固定使用你选择的智能体组合。此外课堂内的 AI 同学会基于你填写的昵称与背景userNickname/userBio进行个性化提问这一点可以在首页需求表单中一并验证。听与说是否通畅。打开 TTS 开关后教师角色的讲解应有语音输出白板应能承载智能体的绘制动作。课堂聊天已支持引用幻灯片元素、交互组件或白板笔迹进行追问v1.1.0 起由 agent loop 驱动可以尝试在播放栏中点选一个元素提问验证老师读课件—查实验状态—联网检索的完整应答链路。收尾与沉淀是否可用。课程结束后应出现完成页测验状态可持久保存v0.2.1 起如需复用可从课堂导出可编辑的.pptx或可离线运行的.htmllib/export 目录下实现了完整的导出管线。这一步是把生成的课堂变成自己的教学资产的关键闭环。完成这五项检查你的第一堂课就通过了验收。从输入主题、确认大纲、翻转角色卡到课堂开讲整个过程没有任何一行代码——OpenMAIC 把多智能体编排、内容生成与课堂运行都收敛到了产品层而你只需要理解一条路径需求与素材进入两阶段管道产出结构化大纲大纲逐页物化为场景场景由智能体驱动运行。这也是它能够在教育场景里被快速落地的根本原因复杂度被封装进了管道而主动权留在了用户手里。【免费下载链接】OpenMAICOpen Multi-Agent Interactive Classroom — Get an immersive, multi-agent learning experience in just one click项目地址: https://gitcode.com/GitHub_Trending/op/OpenMAIC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

双主热备架构解析:高可用、VIP漂移与主主复制实践

双主热备架构解析:高可用、VIP漂移与主主复制实践

双主热备这个词,我第一次认真啃透是在做数据库高可用改造的时候。当时线上一个订单库还是单节点,半夜磁盘直接报了故障,业务停了好几个小时,第二天复盘会上领导只问了一句:能不能让两台机器都干活,一台挂了…

2026/10/10 21:26:12 阅读更多 →
DHUOJ基础题25-27解析:素数判断、整数倒序与回文串的边界处理

DHUOJ基础题25-27解析:素数判断、整数倒序与回文串的边界处理

我最早在DHUOJ上把基础题从1刷到24的时候,一直觉得OJ也就那么回事:输入、循环、判断、输出,套模子而已。但等到25、26、27这三题连在一块做的时候,我第一次感觉到自己的“循环”和“边界处理”还远没到家。当时我是在东华大学的在…

2026/10/10 21:26:12 阅读更多 →
自注册、AST发现与中央分发派系:弹性工具运行时架构解析

自注册、AST发现与中央分发派系:弹性工具运行时架构解析

先说一个我遇到的具体场景。我手里维护着一套代码分析平台,最开始只有十几个工具,每个新工具加进来就是改一遍注册表、配一次路由、再处理一下启动顺序,虽然啰嗦倒也还撑得住。等工具数量突破五十个之后,这套玩法开始崩——新工具…

2026/10/10 21:26:12 阅读更多 →

最新新闻

IP5385P单芯片45W快充充电宝方案设计与量产实践

IP5385P单芯片45W快充充电宝方案设计与量产实践

接了一个45W大功率充电宝项目,工期紧,老板压得厉害。最初我们看了一圈方案,有的需要外置协议IC,有的要自己写复杂的MCU快充协商逻辑,有的整体BOM成本根本压不下来。最后翻到英集芯选型表,看到IP5385P这颗芯…

2026/10/10 22:17:05 阅读更多 →
Python 一键灌卡:把真题词表批量变成 Anki 牌组

Python 一键灌卡:把真题词表批量变成 Anki 牌组

Python 一键灌卡:把真题词表批量变成 Anki 牌组 【免费下载链接】anki Anki is a smart spaced repetition flashcard program 项目地址: https://gitcode.com/GitHub_Trending/an/anki 背单词圈的共识越来越一致:Anki 不是"背单词软件"…

2026/10/10 22:17:05 阅读更多 →
从Copilot到Co-Engineer:L3 AI Coding如何重构软件研发的底层逻辑——TaoToken统一Key接入实战

从Copilot到Co-Engineer:L3 AI Coding如何重构软件研发的底层逻辑——TaoToken统一Key接入实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 22:17:05 阅读更多 →
revit-mcp 服务配置答疑:uvx 启动失败与 MCP 连接排查,把 endpoint 改到 TaoToken

revit-mcp 服务配置答疑:uvx 启动失败与 MCP 连接排查,把 endpoint 改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 22:17:05 阅读更多 →
Claude BugHunter 技能分析报告:把 Burp MCP 接到 TaoToken 的配置与验证

Claude BugHunter 技能分析报告:把 Burp MCP 接到 TaoToken 的配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 22:17:04 阅读更多 →
GA-HIDMSPSO优化LSTM超参数:时间序列分类实战

GA-HIDMSPSO优化LSTM超参数:时间序列分类实战

1. 从"调参调到怀疑人生"说起:为什么要把遗传算法塞进粒子群做时间序列分类预测的人,大概都有过这种体验:LSTM网络结构搭好了,数据也清洗干净了,结果一跑起来,准确率死活上不去。回头一查&#x…

2026/10/10 22:16:04 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →