feat: add polished README (EN/ZH), Docker support, and project assets

- Add README.md (English) and README-zh.md (Chinese) with banner, GIF
  demos, feature showcase, use cases, and quick start guide
- Add Dockerfile (multi-stage build), docker-compose.yml, .dockerignore
- Add .env.example with all supported environment variables
- Add MIT LICENSE file
- Move all README assets into assets/ directory
- Update i18n: new slogan and input placeholder text
- Add Vercel one-click deploy button and instructions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
wyuc
2026-03-12 22:04:19 +08:00
co-authored by Claude Opus 4.6
parent 5cb426780a
commit a3546ce202
20 changed files with 671 additions and 34 deletions
+35
View File
@@ -0,0 +1,35 @@
# dependencies
node_modules
.pnpm-store
# build output
.next
out
build
dist
# git
.git
.gitignore
# IDE
.idea
.vscode
# env & secrets
.env*
!.env.example
server-providers*.yml
# misc
assets
*.md
*.pdf
*.pem
.DS_Store
.vercel
coverage
logs
data
docs
.claude
+51
View File
@@ -0,0 +1,51 @@
# ---- Stage 1: Base ----
FROM node:22-alpine AS base
RUN apk add --no-cache libc6-compat
RUN corepack enable && corepack prepare pnpm@10.28.0 --activate
WORKDIR /app
# ---- Stage 2: Dependencies ----
FROM base AS deps
# Native build tools for sharp, @napi-rs/canvas
RUN apk add --no-cache python3 build-base g++ cairo-dev pango-dev jpeg-dev giflib-dev librsvg-dev
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
COPY packages/ ./packages/
RUN pnpm install --frozen-lockfile
# ---- Stage 3: Builder ----
FROM base AS builder
COPY --from=deps /app/node_modules ./node_modules
COPY --from=deps /app/packages ./packages
COPY . .
RUN pnpm build
# ---- Stage 4: Runner ----
FROM node:22-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
ENV HOSTNAME=0.0.0.0
ENV PORT=3000
RUN apk add --no-cache libc6-compat cairo pango jpeg giflib librsvg
RUN addgroup --system --gid 1001 nodejs && \
adduser --system --uid 1001 nextjs
COPY --from=builder /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
USER nextjs
EXPOSE 3000
CMD ["node", "server.js"]
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 THU-MAIC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+285
View File
@@ -0,0 +1,285 @@
<!-- <p align="center">
<img src="assets/logo-horizontal.png" alt="OpenMAIC" width="420"/>
</p> -->
<p align="center">
<img src="assets/banner.png" alt="OpenMAIC Banner" width="680"/>
</p>
<p align="center">
一键生成沉浸式多智能体互动课堂。
</p>
<p align="center">
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" alt="License: MIT"/></a>
<a href="https://open.maic.chat/"><img src="https://img.shields.io/badge/Demo-Live-brightgreen?style=flat-square" alt="Live Demo"/></a>
<a href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FTHU-MAIC%2FOpenMAIC&envDescription=Configure%20at%20least%20one%20LLM%20provider%20API%20key%20(e.g.%20OPENAI_API_KEY%2C%20ANTHROPIC_API_KEY).%20All%20providers%20are%20optional.&envLink=https%3A%2F%2Fgithub.com%2FTHU-MAIC%2FOpenMAIC%2Fblob%2Fmain%2F.env.example&project-name=openmaic&framework=nextjs"><img src="https://vercel.com/button" alt="Deploy with Vercel" height="20"/></a>
<a href="https://github.com/THU-MAIC/OpenMAIC/stargazers"><img src="https://img.shields.io/github/stars/THU-MAIC/OpenMAIC?style=flat-square" alt="Stars"/></a>
<br/>
<img src="https://img.shields.io/badge/Next.js-16-black?style=flat-square&logo=next.js" alt="Next.js"/>
<img src="https://img.shields.io/badge/React-19-61DAFB?style=flat-square&logo=react&logoColor=white" alt="React"/>
<img src="https://img.shields.io/badge/TypeScript-5-3178C6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript"/>
<img src="https://img.shields.io/badge/LangGraph-1.1-purple?style=flat-square" alt="LangGraph"/>
<img src="https://img.shields.io/badge/Tailwind_CSS-4-06B6D4?style=flat-square&logo=tailwindcss&logoColor=white" alt="Tailwind CSS"/>
</p>
<p align="center">
<a href="./README.md">English</a> | <a href="./README-zh.md">简体中文</a>
<br/>
<a href="https://open.maic.chat/">在线体验</a> · <a href="#-快速开始">快速开始</a> · <a href="#-功能特性">功能特性</a> · <a href="#-使用场景">使用场景</a>
</p>
## 📖 项目简介
**OpenMAIC**(Open Multi-Agent Interactive Classroom)是一个开源的 AI 互动课堂平台,能够将任何主题或文档转化为丰富的互动学习体验。基于多智能体协作引擎,它可以自动生成演示幻灯片、测验、交互式模拟实验和项目制学习活动——由 AI 教师和 AI 同学进行语音讲解、白板绘图,并与你展开实时讨论。
<!-- PLACEHOLDER: 产品概览 GIF -->
<!-- <img src="assets/overview.gif" width="100%"/> -->
### 核心亮点
- **一键生成课堂** — 描述一个主题或附上学习材料,AI 几分钟内构建完整课堂
- **多智能体课堂** — AI 老师和智能体同学实时授课、讨论、互动
- **丰富的场景类型** — 幻灯片、测验、HTML 交互式模拟、项目制学习(PBL)
- **白板 & 语音** — 智能体实时绘制图表、书写公式、语音讲解
- **灵活导出** — 下载可编辑的 `.pptx` 幻灯片或交互式 `.html` 网页
---
## 🚀 快速开始
### 环境要求
- **Node.js** >= 18
- **pnpm** >= 10
### 1. 克隆 & 安装
```bash
git clone https://github.com/THU-MAIC/OpenMAIC.git
cd OpenMAIC
pnpm install
```
### 2. 配置
```bash
cp .env.example .env.local
```
至少填写一个 LLM 服务商的 API Key:
```env
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_GENERATIVE_AI_API_KEY=...
```
也可以通过 `server-providers.yml` 配置服务商:
```yaml
providers:
- id: openai
apiKey: sk-...
- id: anthropic
apiKey: sk-ant-...
```
支持的服务商:**OpenAI**、**Anthropic**、**Google Gemini**、**DeepSeek** 以及任何兼容 OpenAI API 的服务。
> **推荐模型:** **Gemini 3 Flash** — 效果与速度的最佳平衡。追求最高质量可选 **Gemini 3.1 Pro**(速度较慢)。
### 3. 启动
```bash
pnpm dev
```
打开 **http://localhost:3000** 开始学习!
### 4. 生产环境构建
```bash
pnpm build && pnpm start
```
### Vercel 部署
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FTHU-MAIC%2FOpenMAIC&envDescription=Configure%20at%20least%20one%20LLM%20provider%20API%20key%20(e.g.%20OPENAI_API_KEY%2C%20ANTHROPIC_API_KEY).%20All%20providers%20are%20optional.&envLink=https%3A%2F%2Fgithub.com%2FTHU-MAIC%2FOpenMAIC%2Fblob%2Fmain%2F.env.example&project-name=openmaic&framework=nextjs)
或者手动部署:
1. Fork 本仓库
2. 导入到 [Vercel](https://vercel.com/new)
3. 配置环境变量(至少一个 LLM API Key)
4. 部署
### Docker 部署
```bash
cp .env.example .env.local
# 编辑 .env.local 填入你的 API Key,然后:
docker compose up --build
```
如需使用 MinerU 文档解析服务,取消 `docker-compose.yml` 中 `mineru` 服务的注释即可。
### 可选:MinerU(增强文档解析)
如需更好地解析复杂表格和公式:
```bash
docker pull opendatalab/mineru:latest
docker run -d --name mineru -p 8080:8080 opendatalab/mineru:latest
```
在 `.env.local` 中设置 `MINERU_API_URL=http://localhost:8080`。
---
## ✨ 功能特性
### 课堂生成
描述你想学习的内容,或附上参考材料。OpenMAIC 的两阶段流水线自动完成剩余工作:
| 阶段 | 说明 |
|------|------|
| **大纲生成** | AI 分析你的输入,生成结构化的课堂大纲 |
| **场景生成** | 每个大纲条目生成为丰富的场景——幻灯片、测验、交互模块或 PBL 活动 |
<!-- PLACEHOLDER: 生成流水线 GIF -->
<!-- <img src="assets/generation-pipeline.gif" width="100%"/> -->
### 课堂组件
<table>
<tr>
<td width="50%" valign="top">
**🎓 幻灯片(Slides)**
AI 老师配合聚光灯和激光笔动作进行语音讲解——如同真实课堂。
<img src="assets/slides.gif" width="100%"/>
</td>
<td width="50%" valign="top">
**🧪 测验(Quiz)**
交互式测验(单选 / 多选 / 简答),支持 AI 实时判分和反馈。
<img src="assets/quiz.gif" width="100%"/>
</td>
</tr>
<tr>
<td width="50%" valign="top">
**🔬 交互式模拟(Interactive)**
基于 HTML 的交互实验,用于可视化、动手学习——物理模拟器、流程图等。
<img src="assets/interactive.gif" width="100%"/>
</td>
<td width="50%" valign="top">
**🏗️ 项目制学习(PBL)**
选择一个角色,与 AI 智能体协作完成结构化项目,包含里程碑和交付物。
<img src="assets/pbl.gif" width="100%"/>
</td>
</tr>
</table>
### 多智能体互动
- **课堂讨论** — 智能体主动发起讨论话题,你可以随时加入或被点名互动
- **圆桌辩论** — 多个不同人设的智能体围绕话题展开讨论,配合白板讲解
- **自由问答** — 随时提问,AI 老师通过幻灯片、图表或白板进行解答
- **白板** — AI 智能体在共享白板上实时绘图——逐步推导方程、绘制流程图、直观讲解概念
<img src="assets/discussion.gif" width="100%"/>
<img src="assets/whiteboard.gif" width="100%"/>
### 导出
| 格式 | 说明 |
|------|------|
| **PowerPoint (.pptx)** | 可编辑的幻灯片,包含图片、图表和 LaTeX 公式 |
| **交互式 HTML** | 自包含的网页,包含交互式模拟实验 |
### 更多功能
- **语音合成(TTS)** — 多种语音服务商,支持自定义音色
- **语音识别** — 通过麦克风与 AI 老师对话
- **网络搜索** — 智能体在课堂中搜索网络获取最新信息
- **国际化** — 界面支持中文和英文
- **暗色模式** — 深夜学习更护眼
---
## 💡 使用场景
<table>
<tr>
<td width="50%" valign="top">
> *"零基础文科生,30 分钟学会 Python"*
<img src="assets/python.gif" width="100%"/>
</td>
<td width="50%" valign="top">
> *"如何上手阿瓦隆桌游"*
<img src="assets/avalon.gif" width="100%"/>
</td>
</tr>
<tr>
<td width="50%" valign="top">
> *"分析一下智谱和 MiniMax 的股价"*
<img src="assets/zhipu-minimax.gif" width="100%"/>
</td>
<td width="50%" valign="top">
> *"DeepSeek 最新论文解析"*
<img src="assets/deepseek.gif" width="100%"/>
</td>
</tr>
</table>
---
## 🤝 参与贡献
我们欢迎社区的贡献!无论是 Bug 报告、功能建议还是 Pull Request,都非常感谢。
1. Fork 本仓库
2. 创建你的功能分支 (`git checkout -b feature/amazing-feature`)
3. 提交你的更改 (`git commit -m 'Add amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 提交 Pull Request
---
## 📬 联系我们
如有任何问题、反馈或合作意向,欢迎通过 [Issues](https://github.com/THU-MAIC/OpenMAIC/issues) 联系我们。
---
## 📄 许可证
本项目基于 [MIT License](LICENSE) 开源。
+251 -30
View File
@@ -1,64 +1,285 @@
# OpenMAIC
<!-- <p align="center">
<img src="assets/logo-horizontal.png" alt="OpenMAIC" width="420"/>
</p> -->
AI-powered interactive classroom platform. Generate engaging, multi-agent lesson presentations from a simple topic — complete with slides, dialogues, quizzes, and multimedia.
<p align="center">
<img src="assets/banner.png" alt="OpenMAIC Banner" width="680"/>
</p>
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FTHU-MAIC%2FOpenMAIC&envDescription=Configure%20at%20least%20one%20LLM%20provider%20API%20key%20(e.g.%20OPENAI_API_KEY%2C%20ANTHROPIC_API_KEY).%20All%20providers%20are%20optional.&envLink=https%3A%2F%2Fgithub.com%2FTHU-MAIC%2FOpenMAIC%2Fblob%2Fmain%2F.env.example&project-name=openmaic&framework=nextjs)
<p align="center">
Get an immersive, multi-agent learning experience in just one click
</p>
## Features
<p align="center">
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" alt="License: MIT"/></a>
<a href="https://open.maic.chat/"><img src="https://img.shields.io/badge/Demo-Live-brightgreen?style=flat-square" alt="Live Demo"/></a>
<a href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FTHU-MAIC%2FOpenMAIC&envDescription=Configure%20at%20least%20one%20LLM%20provider%20API%20key%20(e.g.%20OPENAI_API_KEY%2C%20ANTHROPIC_API_KEY).%20All%20providers%20are%20optional.&envLink=https%3A%2F%2Fgithub.com%2FTHU-MAIC%2FOpenMAIC%2Fblob%2Fmain%2F.env.example&project-name=openmaic&framework=nextjs"><img src="https://vercel.com/button" alt="Deploy with Vercel" height="20"/></a>
<a href="https://github.com/THU-MAIC/OpenMAIC/stargazers"><img src="https://img.shields.io/github/stars/THU-MAIC/OpenMAIC?style=flat-square" alt="Stars"/></a>
<br/>
<img src="https://img.shields.io/badge/Next.js-16-black?style=flat-square&logo=next.js" alt="Next.js"/>
<img src="https://img.shields.io/badge/React-19-61DAFB?style=flat-square&logo=react&logoColor=white" alt="React"/>
<img src="https://img.shields.io/badge/TypeScript-5-3178C6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript"/>
<img src="https://img.shields.io/badge/LangGraph-1.1-purple?style=flat-square" alt="LangGraph"/>
<img src="https://img.shields.io/badge/Tailwind_CSS-4-06B6D4?style=flat-square&logo=tailwindcss&logoColor=white" alt="Tailwind CSS"/>
</p>
- **AI Lesson Generation** — Describe a topic and get a full interactive classroom experience
- **Multi-Agent Dialogue** — AI teacher and student agents engage in natural classroom conversation
- **Rich Multimedia** — Auto-generated slides, images, TTS audio, and video
- **Multi-Provider Support** — OpenAI, Anthropic, Google, DeepSeek, Qwen, and more
- **Internationalization** — Chinese and English UI
- **Local-First Data** — All user data stored in browser (IndexedDB)
<p align="center">
<a href="./README.md">English</a> | <a href="./README-zh.md">简体中文</a>
<br/>
<a href="https://open.maic.chat/">Live Demo</a> · <a href="#-quick-start">Quick Start</a> · <a href="#-features">Features</a> · <a href="#-use-cases">Use Cases</a>
</p>
## Getting Started
## 📖 Overview
**OpenMAIC** (Open Multi-Agent Interactive Classroom) is an open-source AI platform that turns any topic or document into a rich, interactive classroom experience. Powered by multi-agent orchestration, it generates slides, quizzes, interactive simulations, and project-based learning activities — all delivered by AI teachers and AI classmates who can speak, draw on a whiteboard, and engage in real-time discussions with you.
<!-- PLACEHOLDER: product overview GIF -->
<!-- <img src="assets/overview.gif" width="100%"/> -->
### Highlights
- **One-click lesson generation** — Describe a topic or attach your materials; the AI builds a full lesson in minutes
- **Multi-agent classroom** — AI teachers and peers lecture, discuss, and interact with you in real time
- **Rich scene types** — Slides, quizzes, interactive HTML simulations, and project-based learning (PBL)
- **Whiteboard & TTS** — Agents draw diagrams, write formulas, and explain out loud
- **Export anywhere** — Download editable `.pptx` slides or interactive `.html` pages
---
## 🚀 Quick Start
### Prerequisites
- Node.js 18+
- pnpm
- **Node.js** >= 18
- **pnpm** >= 10
### Install & Run
### 1. Clone & Install
```bash
git clone https://github.com/THU-MAIC/OpenMAIC.git
cd OpenMAIC
pnpm install
pnpm dev
```
Open [http://localhost:3000](http://localhost:3000).
### Configuration
Copy `.env.example` to `.env.local` and add your API keys:
### 2. Configure
```bash
cp .env.example .env.local
```
At minimum, configure one LLM provider (e.g. `OPENAI_API_KEY`). See [`.env.example`](.env.example) for all available options.
Fill in at least one LLM provider key:
Alternatively, create a `server-providers.yml` file for more advanced provider configuration.
```env
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_GENERATIVE_AI_API_KEY=...
```
## Deploy
You can also configure providers via `server-providers.yml`:
### Vercel (Recommended)
```yaml
providers:
- id: openai
apiKey: sk-...
- id: anthropic
apiKey: sk-ant-...
```
Click the button above, or:
Supported providers: **OpenAI**, **Anthropic**, **Google Gemini**, **DeepSeek**, and any OpenAI-compatible API.
> **Recommended model:** **Gemini 3 Flash** — best balance of quality and speed. For highest quality (at slower speed), try **Gemini 3.1 Pro**.
### 3. Run
```bash
pnpm dev
```
Open **http://localhost:3000** and start learning!
### 4. Build for Production
```bash
pnpm build && pnpm start
```
### Vercel Deployment
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FTHU-MAIC%2FOpenMAIC&envDescription=Configure%20at%20least%20one%20LLM%20provider%20API%20key%20(e.g.%20OPENAI_API_KEY%2C%20ANTHROPIC_API_KEY).%20All%20providers%20are%20optional.&envLink=https%3A%2F%2Fgithub.com%2FTHU-MAIC%2FOpenMAIC%2Fblob%2Fmain%2F.env.example&project-name=openmaic&framework=nextjs)
Or manually:
1. Fork this repository
2. Import into [Vercel](https://vercel.com/new)
3. Set environment variables (at minimum one LLM API key)
4. Deploy
### Docker
### Docker Deployment
```bash
docker build -t openmaic .
docker run -p 3000:3000 --env-file .env.local openmaic
cp .env.example .env.local
# Edit .env.local with your API keys, then:
docker compose up --build
```
## License
To use the optional MinerU document parser, uncomment the `mineru` service in `docker-compose.yml`.
MIT
### Optional: MinerU (Advanced Document Parsing)
For enhanced parsing of complex tables and formulas:
```bash
docker pull opendatalab/mineru:latest
docker run -d --name mineru -p 8080:8080 opendatalab/mineru:latest
```
Set `MINERU_API_URL=http://localhost:8080` in `.env.local`.
---
## ✨ Features
### Lesson Generation
Describe what you want to learn or attach reference materials. OpenMAIC's two-stage pipeline handles the rest:
| Stage | What Happens |
|-------|-------------|
| **Outline** | AI analyzes your input and generates a structured lesson outline |
| **Scenes** | Each outline item becomes a rich scene — slides, quizzes, interactive modules, or PBL activities |
<!-- PLACEHOLDER: generation pipeline GIF -->
<!-- <img src="assets/generation-pipeline.gif" width="100%"/> -->
### Classroom Components
<table>
<tr>
<td width="50%" valign="top">
**🎓 Slides**
AI teachers deliver lectures with voice narration, spotlight effects, and laser pointer animations — just like a real classroom.
<img src="assets/slides.gif" width="100%"/>
</td>
<td width="50%" valign="top">
**🧪 Quiz**
Interactive quizzes (single / multiple choice, short answer) with real-time AI grading and feedback.
<img src="assets/quiz.gif" width="100%"/>
</td>
</tr>
<tr>
<td width="50%" valign="top">
**🔬 Interactive Simulation**
HTML-based interactive experiments for visual, hands-on learning — physics simulators, flowcharts, and more.
<img src="assets/interactive.gif" width="100%"/>
</td>
<td width="50%" valign="top">
**🏗️ Project-Based Learning (PBL)**
Choose a role and collaborate with AI agents on structured projects with milestones and deliverables.
<img src="assets/pbl.gif" width="100%"/>
</td>
</tr>
</table>
### Multi-Agent Interaction
- **Classroom Discussion** — Agents proactively initiate discussions; you can jump in anytime or get called on
- **Roundtable Debate** — Multiple agents with different personas discuss a topic, with whiteboard illustrations
- **Q&A Mode** — Ask questions freely; the AI teacher responds with slides, diagrams, or whiteboard drawings
- **Whiteboard** — AI agents draw on a shared whiteboard in real time — solving equations step by step, sketching flowcharts, or illustrating concepts visually.
<img src="assets/discussion.gif" width="100%"/>
<img src="assets/whiteboard.gif" width="100%"/>
### Export
| Format | Description |
|--------|-------------|
| **PowerPoint (.pptx)** | Fully editable slides with images, charts, and LaTeX formulas |
| **Interactive HTML** | Self-contained web pages with interactive simulations |
### And More
- **Text-to-Speech** — Multiple voice providers with customizable voices
- **Speech Recognition** — Talk to your AI teacher using your microphone
- **Web Search** — Agents search the web for up-to-date information during class
- **i18n** — Interface supports Chinese and English
- **Dark Mode** — Easy on the eyes for late-night study sessions
---
## 💡 Use Cases
<table>
<tr>
<td width="50%" valign="top">
> *"Teach me Python from scratch in 30 min"*
<img src="assets/python.gif" width="100%"/>
</td>
<td width="50%" valign="top">
> *"How to play the board game Avalon"*
<img src="assets/avalon.gif" width="100%"/>
</td>
</tr>
<tr>
<td width="50%" valign="top">
> *"Analyze the stock prices of Zhipu and MiniMax"*
<img src="assets/zhipu-minimax.gif" width="100%"/>
</td>
<td width="50%" valign="top">
> *"Break down the latest DeepSeek paper"*
<img src="assets/deepseek.gif" width="100%"/>
</td>
</tr>
</table>
---
## 🤝 Contributing
We welcome contributions from the community! Whether it's bug reports, feature ideas, or pull requests — every bit helps.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
---
## 📬 Contact
If you have any questions, feedback, or would like to get in touch, feel free to reach out via [Issues](https://github.com/THU-MAIC/OpenMAIC/issues).
---
## 📄 License
This project is licensed under the [MIT License](LICENSE).
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 759 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 MiB

+24
View File
@@ -0,0 +1,24 @@
services:
openmaic:
build: .
ports:
- "3000:3000"
env_file:
- .env.local
volumes:
# Optional: mount server-providers.yml for provider config
# - ./server-providers.yml:/app/server-providers.yml:ro
- openmaic-data:/app/data
restart: unless-stopped
# Optional: MinerU for advanced document parsing (tables, formulas, OCR)
# Uncomment to enable:
#
# mineru:
# image: opendatalab/mineru:latest
# ports:
# - "8080:8080"
# restart: unless-stopped
volumes:
openmaic-data:
+2 -2
View File
@@ -22,7 +22,7 @@ export const commonZhCN = {
loading: '加载中...',
},
home: {
slogan: 'AI 驱动的交互式课堂,让学习更高效',
slogan: 'Generative Learning in Multi-Agent Interactive Classroom',
greeting: '嗨,',
},
toolbar: {
@@ -97,7 +97,7 @@ export const commonEnUS = {
loading: 'Loading...',
},
home: {
slogan: 'AI-powered interactive classrooms for more effective learning',
slogan: 'Generative Learning in Multi-Agent Interactive Classroom',
greeting: 'Hi, ',
},
toolbar: {
+2 -2
View File
@@ -53,7 +53,7 @@ export const generationZhCN = {
noPdfSelected: '请先选择PDF文件',
generateFailed: '生成课堂失败,请重试',
requirementLabel: '课程需求',
requirementPlaceholder: '请描述您希望生成的课程内容,例如:\n• 课程主题和核心内容\n• 期望的课程时长和风格\n• 任何特殊要求或偏好',
requirementPlaceholder: '输入你想学的任何内容,例如:\n「从零学 Python,30 分钟写出第一个程序」\n「用白板给我讲解傅里叶变换」\n「阿瓦隆桌游怎么玩」',
requirementRequired: '请输入课程需求',
fileTooLarge: '文件过大,请选择小于50MB的PDF文件',
contentTruncated: '由于文件内容过多,已截取前50000个字符用于生成课程',
@@ -245,7 +245,7 @@ export const generationEnUS = {
noPdfSelected: 'Please select a PDF file first',
generateFailed: 'Failed to generate classroom, please try again',
requirementLabel: 'Course Requirements',
requirementPlaceholder: 'Describe the course you want to generate, for example:\n• Course topic and core content\n• Expected duration and teaching style\n• Any special requirements or preferences',
requirementPlaceholder: 'Tell me anything you want to learn, e.g.\n"Teach me Python from scratch in 30 minutes"\n"Explain Fourier Transform on the whiteboard"\n"How to play the board game Avalon"',
requirementRequired: 'Please enter course requirements',
fileTooLarge: 'File too large. Please select a PDF file smaller than 50MB',
contentTruncated: 'Due to the large file content, only the first 50,000 characters will be used for course generation',