# OpenMAIC 全流程实验报告

## 结论

OpenMAIC 的安装、工作区编译、PPTX 导出专项测试和正式构建已经跑通。我们用项目自己的生产导出函数生成了一套 4 页中文课堂 PPTX，并对文件结构和关键文本做了机器校验。

完整测试没有全绿。7163 项测试中 7039 项通过，45 项失败，79 项跳过。多智能体生成依赖模型服务，本次遵守零付费原则，没有填写模型密钥，因此没有把离线导出成功写成整套 AI 课堂能力已经验证。

## 种子区

2026 年 8 月 31 日复核 GitHub Trending 全球 Today，THU-MAIC/OpenMAIC 位列第 1。站内历史没有已经完成的 OpenMAIC 实验。仓库公开、未归档，采用 MIT 许可证，最近提交为 `dfebbcf33f3a56064129903faeab70a9e4243146`。

项目把课件、测验、互动 HTML、PBL、白板、语音与导出放进同一套多智能体课堂工作台。这个范围很大，所以本次先验证能够在不购买 API 的前提下复现的代码、测试、构建和导出能力。

## 播种区

测试环境使用 Node.js v24.19.0 和 pnpm 11.19.0。

首轮安装的供应链检查通过，OpenMAIC 自己的工作区包也完成编译，但仓库 `pnpm-workspace.yaml` 中的 `allowBuilds` 仍是待选择占位值。pnpm 11 因此拦截第三方构建脚本，安装最终退出 1。

第二轮在测试副本中把许可项改成明确布尔值，只放行导出所需的 `esbuild`。重新安装退出 0。其余第三方安装脚本仍然禁用。

完整测试结果如下。

| 项目 | 通过 | 失败 | 跳过 |
| --- | ---: | ---: | ---: |
| 测试文件 | 645 | 3 | 9 |
| 测试项 | 7039 | 45 | 79 |

主要失败集中在浏览器并发存储和 RuntimeStore 测试的五秒超时。另有一个使用远程图片 URL 的 PPTX 插入测试超时。随后单独运行本次使用的文本内容、文本格式和背景导出测试，3 个文件 5 项测试全部通过。

正式执行 `pnpm build`，Next.js 构建退出 0，共生成 52 个静态页面。构建器保留两条 Edge Runtime 警告，指向 `instrumentation.ts` 中的 `process.once`。

## 收成区

实验脚本直接调用 `buildPptxBlob`。它是 OpenMAIC 在 `lib/export/use-export-pptx.ts` 中的生产导出函数。

最终导出 `jian-ai-lab-openmaic-offline-classroom.pptx`，大小 79,985 字节，共 4 页。微课主题为如何判断 GitHub Trending 项目值不值得用，内容覆盖来源、安装、成果和小测验。

导出后使用 JSZip 解包 PPTX，确认存在四个 `ppt/slides/slide*.xml`。四个预设文本锚点全部命中。文件 SHA-256 为 `797c657437ad6e96923604c12351295af279c6f8b6ddeffd231203bfe9c93e1e`。

同时生成结果卡、竖版封面和 21 秒证据视频。视频只展示本次真实记录和成果，不冒充 AI 课堂自动生成的过程录像。

## 收获记

OpenMAIC 适合需要把资料、讲解、课件和互动环节集中管理的教师、培训团队与知识型创作者。当前代码已经显示出完整产品结构，PPTX 导出链也能离线复现。

它的真正门槛在模型服务、媒体生成和课堂运行环境。想验证多智能体生成质量，必须选择模型并承担相应调用成本。本次没有获得付费许可，所以停在离线可复现边界。

## 竞技场判定

推荐给愿意自托管、能够处理 Node.js 环境、希望把课程生产做成工作流的用户。

暂时不推荐给只想安装后立刻免费生成整套 AI 课程、又不准备模型或本地推理环境的普通用户。

本站状态标为已产出。这个状态只覆盖安装、构建、导出和公开成果，不覆盖多智能体课堂生成、实时互动、TTS、视频生成或商业模型集成。

## 重要来源

- [GitHub Trending Today](https://github.com/trending?since=daily)
- [OpenMAIC 官方仓库](https://github.com/THU-MAIC/OpenMAIC)
- [OpenMAIC 中文说明](https://github.com/THU-MAIC/OpenMAIC/blob/main/README-zh.md)
- [OpenMAIC 官方演示](https://open.maic.chat/)
