Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenMAIC - Enhanced Version (自动做课增强版)

OpenMAIC Banner

This repository is an enhanced version of the original OpenMAIC project. It focuses on transforming OpenMAIC into an end-to-end automated course generation pipeline (自动做课流水线), while fundamentally improving the course recording experience, API stability, and overall reliability.


📖 About OpenMAIC (Original Project)

OpenMAIC (Open Multi-Agent Interactive Classroom) is an open-source AI platform that turns any topic or document into a rich, interactive classroom experience.

Key Highlights:

  • One-click lesson generation from topics or materials.
  • Multi-agent classroom with AI teachers and peers.
  • Rich scene types including slides, quizzes, and HTML simulations.
  • Whiteboard & TTS for real-time visual and vocal explanations.
  • Export capabilities to .pptx and .html.

✨ 新增核心功能 (New Enhancements)

此增强版本在原版基础上,引入了诸多面向“专业自动化课程生产”的关键特性:

1. 🤖 AI 全自动多课时做课流水线 (Automated Multi-Lesson Pipeline)

这是本版本的核心亮点,彻底改变了手动单节课制作的低效流程:

  • PDF 大纲智能语义拆分:不再依赖生硬的正则匹配(如查找“第一课”)。系统可直接读取上传的 PDF 课时大纲文本,调用大模型根据语义逻辑,自动、自然地将内容切分为多个独立的结构化课时。
  • 无人值守连续生产:实现了“上传大纲 → 智能解析 → 生成第一课场景 → 全屏沉浸式播放与录制 → 自动返回主控台 → 自动开始第二课”的端到端闭环流水线。
  • 跨页面状态持久化:采用 localStoragesessionStorage 相结合的持久化方案。确保在自动跳转录播页时,主控台的进度不会丢失,彻底解决内存状态重置的痛点。
  • 状态机并发锁:优化了事件监听机制与渲染顺序,杜绝了 React 生命周期导致的“跳课”、“重复触发生成”或“死循环跳回第一页”的严重 Bug。

2. 🎥 专业级沉浸式录播系统 (Professional Recording System)

  • 自动全屏纯净捕获:在开始录制时,系统会自动申请进入全屏模式,屏蔽浏览器与操作系统的多余 UI,确保导出的教学视频纯净专业。
  • 音视频严格同步与防黑屏:通过前置预热(Pre-warm)浏览器的 AudioContext,彻底修复了原版偶发的“静音视频”问题。新增 Silent Track Fallback(静音轨道回退) 策略,即使 AI 教师尚未开口,录制引擎也能保持活跃,防止视频损坏。
  • 大文件可靠分片保存:引入 1 秒级别的数据切片(Data Chunking)策略,配合 5 秒的文件导出生命周期缓冲,确保几百 MB 甚至 GB 级的长视频能稳定保存到本地。

3. 🗣️ 增强版 TTS 语音集成 (Enhanced TTS Integration)

  • 智谱 GLM-TTS 深度优化
    • 修复了 GLM Provider 的 API Header 冲突及默认参数导致调用失败的问题。
    • 将默认的讲师语音映射到智谱高音质的 tongtong(彤彤)模型。
    • 改进了错误捕获解析,TTS 合成失败时会在控制台提供清晰的报错反馈。

4. 🛠️ 系统稳定性与开发者体验 (System Stability & Developer Experience)

  • API 连通性测试套件 (api_test.py):新增了独立的 Python 测试脚本,只需一行命令即可在启动项目前验证 LLM、搜索引擎、TTS 服务的 API Keys 配置是否正确。
  • 修复 SSR & Hydration 异常:添加了 Hydration Guards,防止 Next.js 初始页面加载时因为客户端/服务端渲染不一致导致的崩溃。
  • 修复 Windows 构建环境:解决了在 Windows 环境下由于内部包(pptxgenjs)导致的 EPERM 权限拒绝和打包失败问题。

🚀 详细快速开始指南 (Quick Start)

1. 环境准备

确保您的计算机已安装以下环境:

2. 克隆项目与安装依赖

git clone https://github.com/magiclab2233/OpenMAIC4course.git
cd OpenMAIC4course
pnpm install

3. 配置环境变量

项目根目录下包含一个 .env.example 文件。请将其复制并重命名为 .env.local

cp .env.example .env.local

打开 .env.local 文件,配置您所需要的 API 密钥。例如(若您使用智谱和 MiniMax):

# 大语言模型配置 (推荐使用 MiniMax 或智谱)
MINIMAX_API_KEY=你的_MINIMAX_API_KEY
ZHIPU_API_KEY=你的_ZHIPU_API_KEY

# 语音 TTS 服务 (强烈推荐智谱 GLM-TTS)
TTS_PROVIDER=zhipu
ZHIPU_TTS_API_KEY=你的_ZHIPU_API_KEY

4. 验证 API 连通性 (推荐)

在启动整个笨重的项目前,强烈建议先用提供的脚本测试一下配置是否生效:

python api_test.py

注:该脚本会自动读取 .env.local,并依次测试基础对话、搜索引擎以及 TTS 语音合成接口。如果全部显示 SUCCESS,则说明配置无误。

5. 启动项目

pnpm dev

打开浏览器访问 http://localhost:3000 即可进入系统。


🎓 如何使用“全自动做课”流水线?

  1. 准备课程大纲:准备一份包含多个课时章节的 PDF 文件(例如:“第一节:XXX,第二节:YYY...”)。
  2. 进入自动做课面板:在系统主界面,点击左侧或首页的 "自动做课 (Auto Course)" 模块。
  3. 上传并解析:上传您的 PDF 大纲。系统会自动调用 AI 进行语义拆分,稍等片刻,您会看到页面列出了解析好的多个课时。
  4. 一键启动:点击底部的 "开始自动做课"
  5. 挂机等待
    • 系统将自动请求 AI 为第一个课时生成剧本、幻灯片、测验等。
    • 生成完毕后,浏览器将自动请求全屏并开始带语音的自动播放录制(请勿切换标签页以防录制中断)。
    • 播放完毕后,录制的视频文件将自动下载到您的电脑。
    • 系统自动跳回主面板,标记第一课为“已完成”,并自动触发第二课的生成
    • 循环直至所有课时制作完毕。

📄 License

This project follows the original GNU Affero General Public License v3.0.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages