目 录CONTENT

文章目录

推荐一个企业级AI教育Agent开源项目

ByteNews
2026-08-20 / 0 评论 / 0 点赞 / 2576 阅读 / 0 字

[toc]

推荐一个企业级AI教育Agent开源项目(功能太强了)

  • 项目是清华THU-MAIC团队做的,清华这个开源教育Agent(功能太强了)。
  • 这个AI教育Agent就可以自己选skill、调研、规划课程结构,最后出一套可交互、有AI配音的完整课件。

项目代码仓库地址,在文章最后。

项目简介

OpenMAIC(Open Multi-Agent Interactive Classroom)是一个开源的 AI 互动课堂平台,能够将任何主题或文档转化为丰富的互动学习体验。基于多智能体协作引擎,它可以自动生成演示幻灯片、测验、交互式模拟实验和项目制学习活动——由 AI 教师和 AI 同学进行语音讲解、白板绘图,并与你展开实时讨论。内置 OpenMAIC Skill,可以在 OpenClaw 以及 Codex、DeepSeek、WorkBuddy 等 Agent 工作台中使用,直接在飞书、Slack、Telegram 等聊天应用或 IDE 里生成课堂。

核心亮点

  • 一键生成课堂 — 描述一个主题或附上学习材料,AI 几分钟内构建完整课堂
  • 多智能体课堂 — AI 老师和智能体同学实时授课、讨论、互动
  • 丰富的场景类型 — 幻灯片、测验、HTML 交互式模拟、项目制学习(PBL)
  • 白板 & 语音 — 智能体实时绘制图表、书写公式、语音讲解
  • 灵活导出 — 下载可编辑的 .pptx 幻灯片或交互式 .html 网页
  • Agent 工作台集成 — OpenMAIC Skill 支持 OpenClaw、Codex、DeepSeek、WorkBuddy 等,在飞书、Slack、Telegram 等 20+ 聊天应用或 IDE 里直接生成课堂

项目功能

课堂组件

功能模块 核心说明
幻灯片(Slides) AI 老师配合聚光灯和激光笔动作进行语音讲解——如同真实课堂。
测验(Quiz) 交互式测验(单选 / 多选 / 简答),支持 AI 实时判分和反馈。
交互式模拟(Interactive) 基于 HTML 的交互实验,用于可视化、动手学习——物理模拟器、流程图等。
项目制学习(PBL) 选择一个角色,与 AI 智能体协作完成结构化项目,包含里程碑和交付物。

多智能体互动

  • 课堂讨论 — 智能体主动发起讨论话题,你可以随时加入或被点名互动
  • 圆桌辩论 — 多个不同人设的智能体围绕话题展开讨论,配合白板讲解
  • 自由问答 — 随时提问,AI 老师通过幻灯片、图表或白板进行解答
  • 白板 — AI 智能体在共享白板上实时绘图——逐步推导方程、绘制流程图、直观讲解概念

Agent 工作台集成

OpenMAIC 的技能包(skills/openmaic/)采用标准 SKILL.md 格式,可被各类 Agent 工作台加载——除了 OpenClaw,也包括 CodexDeepSeekWorkBuddy 等。它是一份引导式 SOP:覆盖在线体验、本地部署、课堂生成和基于 @openmaic/* SDK 的二次开发。

其中 OpenClaw 是一个连接你日常使用的消息平台(飞书、Slack、Discord、Telegram、WhatsApp 等)的个人 AI 助手。通过这个集成,你可以直接在聊天应用中生成和查看互动课堂,无需碰命令行。

深度交互模式

功能模块 核心说明
思维导图 结构化知识组织,帮助学习者建立整体概念框架。
AI 教师引导 AI 教师可以主动操作界面引导学生——高亮关键区域、设置条件、提供提示、在恰当时机引导注意力。
多设备适配 所有生成的交互界面完全响应式——桌面、平板、手机均可使用。

项目结构

项目结构清晰感人

OpenMAIC/
├── app/                        # Next.js App Router
│   ├── api/                    #   服务端 API 路由(26 个端点组)
│   │   ├── generate/           #     场景生成流水线(大纲、内容、图片、TTS…)
│   │   ├── generate-classroom/ #     异步课堂生成提交与轮询
│   │   ├── chat/               #     多智能体讨论(SSE 流式传输)
│   │   ├── pbl/                #     项目制学习端点
│   │   ├── persistence/        #     内嵌持久化服务(Runtime/Document Store HTTP 契约)
│   │   ├── export-video/       #     MP4 视频导出(对接 render-service)
│   │   └── ...                 #     quiz-grade, parse-pdf, web-search, transcription 等
│   ├── classroom/[id]/         #   课堂回放页面
│   └── page.tsx                #   首页(生成输入)
│
├── lib/                        # 核心业务逻辑
│   ├── generation/             #   两阶段课堂生成流水线
│   ├── orchestration/          #   LangGraph 多智能体编排(导演图)
│   ├── playback/               #   回放状态机(idle → playing → live)
│   ├── action/                 #   动作执行引擎(语音、白板、特效)
│   ├── ai/                     #   LLM 服务商抽象层
│   ├── api/                    #   Stage API 门面(幻灯片/画布/场景操作)
│   ├── store/                  #   Zustand 状态管理
│   ├── types/                  #   集中式 TypeScript 类型定义
│   ├── audio/                  #   TTS & ASR 服务商
│   ├── media/                  #   图片 & 视频生成服务商
│   ├── export/                 #   PPTX & HTML 导出
│   ├── hooks/                  #   React 自定义 Hooks(55+)
│   ├── i18n/                   #   国际化(zh-CN, zh-TW, en-US, ja-JP, ko-KR, ru-RU, ar-SA, pt-BR, es-MX, fr-FR, vi-VN, de-DE)
│   └── ...                     #   prosemirror, storage, pdf, web-search, utils
│
├── components/                 # React UI 组件
│   ├── slide-renderer/         #   基于 Canvas 的幻灯片编辑器和渲染器
│   │   ├── Editor/Canvas/      #     交互式编辑画布
│   │   └── components/element/ #     元素渲染器(文本、图片、形状、表格、图表…)
│   ├── scene-renderers/        #   测验、交互、PBL 场景渲染器
│   ├── generation/             #   课堂生成工具栏和进度
│   ├── chat/                   #   聊天区域和会话管理
│   ├── settings/               #   设置面板(服务商、TTS、ASR、媒体…)
│   ├── whiteboard/             #   基于 SVG 的白板绘图
│   ├── agent/                  #   智能体头像、配置、信息栏
│   ├── ui/                     #   基础 UI 组件(shadcn/ui + Radix)
│   └── ...                     #   audio, roundtable, stage, ai-elements
│
├── packages/                   # 工作区子包
│   ├── @openmaic/              #   OpenMAIC SDK 系列(已发布至 npm)
│   │   ├── dsl/                #     课程 DSL 定义与资产清单
│   │   ├── generation/         #     两阶段课堂生成流水线
│   │   ├── renderer/           #     课程渲染
│   │   ├── importer/           #     课堂导入
│   │   ├── editor/             #     幻灯片编辑
│   │   └── storage/            #     Runtime/Document/资产存储层(Postgres、S3 等)
│   ├── pptxgenjs/              #   定制化 PowerPoint 生成
│   └── mathml2omml/            #   MathML → Office Math 转换
│
├── render-service/             # MP4 视频导出渲染服务(Chromium + FFmpeg,独立容器)
│
├── skills/                     # OpenClaw / ClawHub skills
│   └── openmaic/               #   OpenMAIC 引导式 SOP skill
│       ├── SKILL.md            #   轻量路由层 + 确认规则
│       └── references/         #   按需加载的 SOP 分段(生成、部署、二开等)
│
├── configs/                    # 共享常量(形状、字体、快捷键、主题…)
└── public/                     # 静态资源(logo、头像)

核心架构

  • 生成流水线 (@openmaic/generation) — 两阶段:大纲生成 → 场景内容生成
  • 多智能体编排 (lib/orchestration/) — 基于 LangGraph 的状态机,管理智能体轮次和讨论
  • 回放引擎 (lib/playback/) — 驱动课堂回放和实时互动的状态机
  • 动作引擎 (lib/action/) — 执行 28+ 种动作类型(语音、白板绘图/文字/形状/图表、聚光灯、激光笔…)
  • 存储层 (@openmaic/storage) — Runtime/Document/资产存储抽象,附 Postgres 参考实现,HTTP 契约可对接任意外部存储服务

本地快速启动

环境要求

  • Node.js >= 22.19
  • pnpm >= 10

1. 克隆 & 安装

git clone https://github.com/THU-MAIC/OpenMAIC.git
cd OpenMAIC
pnpm install

2. 配置

cp .env.example .env.local

至少填写一个 LLM 服务商的 API Key:

OPENAI_API_KEY=sk-...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_BASE_URL=https://YOUR-RESOURCE.openai.azure.com/openai
AZURE_OPENAI_MODELS=YOUR-DEPLOYMENT-NAME
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
GROK_API_KEY=xai-...
OPENROUTER_API_KEY=sk-or-...
TENCENT_API_KEY=sk-...
XIAOMI_API_KEY=...
# 或使用 AWS 凭证和 BEDROCK_REGION 配置 Amazon Bedrock。

也可以通过 server-providers.yml 配置服务商:

providers:
  openai:
    apiKey: sk-...
  azure:
    apiKey: ...
    baseUrl: https://YOUR-RESOURCE.openai.azure.com/openai
    models:
      - YOUR-DEPLOYMENT-NAME
  anthropic:
    apiKey: sk-ant-...
  bedrock:
    models:
      - us.anthropic.claude-sonnet-5
      - us.anthropic.claude-opus-4-8

支持的服务商:OpenAIAzure OpenAIAnthropicAmazon BedrockGoogle GeminiDeepSeek通义千问 QwenKimiMiniMaxGrok (xAI)OpenRouter豆包腾讯混元 / TokenHub小米 MiMo智谱 GLMOllama(本地)、Lemonade(本地 LLM / 图像 / TTS / ASR)、FunASR(本地 ASR)以及任何兼容 OpenAI API 的服务。

3. 启动

pnpm dev

打开 http://localhost:3000 开始学习!

4. 生产环境构建

pnpm build && pnpm start

可选:ACCESS_CODE(共享部署)

为部署添加站点级密码保护,在 .env.local 中设置:

ACCESS_CODE=your-secret-code

设置后,访客需要输入密码才能使用,所有 API 路由也会受到保护。不设置则无影响。

Docker 部署

cp .env.example .env.local
# 编辑 .env.local 填入你的 API Key,然后:
docker compose up --build

项目代码仓库地址: https://github.com/THU-MAIC/OpenMAIC

0
广告 广告

评论区