Wing900/ManimCat
EN: ManimCat: AI-generated math animations from natural language. High-quality Manim rendering with LaTeX support and auto-code fixing. 中: ManimCat:AI 数学动画生成器。支持描述即视频,内置 LaTeX 与代码纠错,让数学动效触手可及。
什么是 ManimCat?
ManimCat 是一个基于网络的、AI 辅助的数学可视化创建工作区。您可以输入自然语言提示(例如 "展示级数 1/4+1/16+… 的几何证明"),后台的 LLM 会设计场景、编写相应的 Manim(动画)或 matplotlib(静态绘图)代码,运行代码,并返回可用于课程的视频或图像。
系统主要通过两种方式工作:
| 模式 | 使用场景 | 功能 |
|---|---|---|
| 工作流模式 | 只想要一个快速的图片或短视频。 | 将单个请求发送给 LLM,渲染生成的代码,并将结果流式传输回 UI。 |
| 代理(工作室)模式 | 需要交互式的多步骤会话时——优化视觉、审查渲染或构建一系列相关图形。 | 长期存在的“工作室”会话会保持状态(任务、运行、结果)。您可以迭代、要求代理修改代码、批准渲染并在专用工作区中组织工作。 |
两种模式都支持两个渲染引擎:
- Manim Community Edition – 用于基于时间轴的动画。
- matplotlib – 用于静态图表和教学图形(“绘图工作室”)。
工作原理(高层架构)
User (browser) ──► React UI (Vite + Tailwind) ──► Express/TS backend
│
├─► Bull + Redis queue
│ (job scheduling, retries)
├─► OpenAI‑compatible LLM API
│ (scene design → code generation)
└─► Python runtime
├─► Manim CE (animation)
└─► matplotlib (static)
- 前端 – 现代 React 应用(React 19、Vite),显示经典生成 UI、工作室工作区和绘图工作室工具。
- 后端 – Node/Express 服务,接受生成请求,将作业推送到 Redis 支持的 Bull 队列,并通过服务器发送事件流式传输状态更新。
- 渲染 – Python 容器运行 Manim 或 matplotlib,编译 LaTeX,并使用 ffmpeg 生成视频/音频文件。
- 状态与持久化 – 可选的 Supabase 表可以存储会话历史;否则所有内容都位于内存/Redis 中。
- 部署 – Docker(或 Docker Compose)可本地运行;单容器镜像(
wingflow/manimcat)可部署到 Hugging Face Spaces。
快速入门
# Clone and install the Node side
npm install
cd frontend && npm install
# Run locally (frontend + backend)
npm run dev # opens http://localhost:3000
如果您更喜欢 Docker:
docker pull wingflow/manimcat
docker run -p 7860:7860 wingflow/manimcat
UI 允许您输入提示,选择视频或图像,并观看生成进度。
谁可能觉得它有用?
- 教师和教育工作者 – 需要无需编写 Manim 代码即可快速生成自定义数学动画的人。
- 学生 – 寻找输入概念的可视化解释的人。
- 内容创作者(YouTube 用户、MOOC) – 需要快速原型设计数学重载视觉内容的人。
- 研究人员 – 正在实验 AI 驱动的科学可视化代码生成的人。
限制与维护说明
- 作者是业余维护者,因此问题和 PR 的响应时间可能较慢。
- 工作室模式仍在完善中;动画重点的“Manim 工作室”功能不如绘图工作室完整。
- LLM 部分需要访问 OpenAI 兼容模型(或其他提供商);项目提供配置挂钩,但不附带模型。
- 渲染视频的持久存储需要外部卷处理 – 否则重建会将其删除。
许可证
AGPL‑3.0‑or‑later。来自 manim-video-generator(MIT)的第三方代码要么被重写,要么保留其原始归属。
简而言之: ManimCat 是一个 AI 增强的双模式网络应用,使用 Manim 和 matplotlib 将自然语言数学提示转换为动画或静态视觉内容,并为迭代式、协作式创作提供更丰富的“工作室”体验。
相关
- 项目
- 项目
- 项目
- 项目
- 项目