Agora Flat 是一个基于实时音视频和互动白板的开源在线教育平台,支持多平台(Web、Windows、macOS、iOS、Android)使用。它致力于提供高清音视频通话、多功能互动白板、实时消息、云端录制与回放等核心功能,以构建高效、灵活且互动性强的数字化学习环境。
主要功能
实时音视频通话(RTC)
基于声网(Agora)的实时通信技术,提供高清、低延迟的音视频传输,支持多人同时在线互动,营造面对面交流的真实感。动态码率调整、网络自适应、硬件加速等技术优化,确保了在不同网络环境下也能获得流畅的体验。
多功能互动白板
支持多人实时协作,师生可在同一画布上自由书写、绘图、上传文件(如 PPT、PDF、Word 等),并保留 PPT 动画效果。白板信令回放功能可以精确记录每一次操作,便于课后复习和资料保存。
实时消息系统(RTM)
内置即时通讯功能,支持课堂内的文本交流,作为音视频沟通的有效补充,进一步增强协作效率。群聊信令回放功能能够保存所有讨论记录,便于后续分析或复习。
云端录制与回放
支持自动录制课堂实况(包括白板内容、音视频、消息),并提供云端存储和回放功能,方便学生复习或教师评估教学质量。多媒体课件云盘功能也方便教师上传、存储和分享各类教学资源。
灵活的房间管理
支持创建/加入房间、预定房间、周期性房间设置,能够很好地满足定期课程的需求。平台提供大班课、小班课(1名教师+2-16名学生)、一对一等多种教学模式,以适应不同的教学场景。
多平台兼容与低带宽优化
支持 Web、Windows、macOS、iOS、Android 多平台,实现了跨设备的无缝切换。其低带宽优化技术确保在网络条件较差的地区也能正常使用,有力推动了教育普惠。
技术优势
- 前端:采用 TypeScript + React + Mobx + Storybook + Electron 构建跨平台客户端,技术栈现代化。
- 后端:基于 TypeScript + Fastify + TypeORM + MySQL + Redis,为平台提供稳定高效的服务支持。
- 开源可扩展:代码完全开源(基于 MIT 协议),前后端均可在 GitHub 查看和修改。平台还提供了可复用的 UI 组件库(flat-components)、国际化支持框架(flat-i18n)、服务层抽象(flat-services)等,非常便于进行扩展和二次开发,是一个优秀的开源实战学习项目。
应用场景
- 在线教育:适用于 K12、职业教育、语言培训等多种场景,提供沉浸式的互动教学体验。
- 企业培训:满足远程协作、技能培训等企业需求,有效提升培训效率。
- 远程会议:支持多人实时协作,适用于团队讨论、项目汇报等办公场景。
- 创意协作:通过白板和文件共享功能,支持设计、编程等创意团队的远程协作。
安装步骤
- 拉取源码
git clone https://github.com/netless-io/flat.git
- 安装 pnpm
npm i -g pnpm
- 在项目根目录运行以下命令安装依赖:
pnpm i
- 构建和运行 Flat Electron 客户端:
pnpm start
- 构建和运行 Flat Web 客户端:
pnpm start:web
或者,也可以运行以下命令:
cd ./web/flat-web/ && pnpm start

图:Agora Flat 在线协作平台界面示例
项目 GitHub 地址: https://github.com/netless-io/flat
|