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 将自然语言数学提示转换为动画或静态视觉内容,并为迭代式、协作式创作提供更丰富的“工作室”体验。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目