Skip to content

Repository files navigation

MathAnim Desktop

Java Spring Boot Vue License

MathAnim 是一款本地桌面应用,把数学/物理教学描述转换成 Manim 动画,并在本机预览与导出视频或图片。

输入描述 → AI 生成 Manim 脚本 → 静态检查 → Manim 渲染 → 预览 / 导出

功能特性

  • 双输入创作:直接描述 / 题干 + 解析
  • AI 代码生成:可选两阶段生成、参考图 URL、480p/720p/1080p、视频或图片
  • 场景与任务管理:列表/网格、搜索、状态筛选、收藏、克隆、拖拽排序
  • 多工作区:任务与备课笔记按工作区隔离
  • 备课笔记:Markdown + LaTeX、图片粘贴;AI 扩写/提纲/润色/讲解/分镜/生成动画
  • 预览与 Review Room:进度拖动(HTTP Range)、播放速度、导出帧、打开输出目录、全屏审阅
  • 导入导出:任务包 .mathanim.zip
  • 环境检测:Python / Manim 状态栏

已废弃:TTS / 配音。默认 UI 为 Vue 3 + JavaFX WebView(旧 FXML 仅兼容)。

完整清单见 FEATURE_SCOPE.md


截图

本地运行后:侧边栏任务列表 · 创作区 · 预览区 · 备课笔记。


快速开始

环境要求

依赖 版本建议
JDK 17+(打包推荐 17–21)
Node.js 18+
Maven 3.8+(或使用仓库自带 mvnw.cmd
Python + Manim Community 用于渲染

开发运行

git clone git@github.com:1634594707/mathanim-desktop.git
cd mathanim-desktop
.\run-dev.ps1

脚本会启动 Vite(5173)与 Spring Boot。也可手动:

cd frontend
npm install
npm run dev

# 另一终端
.\mvnw.cmd spring-boot:run

构建与安装包

# 便携版 app-image
.\package-windows.ps1

# 便携版 + 安装包目录 / Zip
.\scripts\build-installer.ps1
产物 路径
便携运行 target\windows\MathAnim\MathAnim.exe
安装程序 target\installer\MathAnim-Setup\Install.cmd
分发 Zip target\installer\MathAnim-Setup.zip

安装默认目录:%LOCALAPPDATA%\Programs\MathAnim,并创建桌面与开始菜单快捷方式。


项目结构

mathanim-desktop/
├── frontend/                 # Vue 3 + TypeScript + Vite
│   └── src/
│       ├── api/              # REST / SSE 客户端
│       ├── components/       # 界面组件
│       ├── composables/      # 工作区 / 笔记 / 卡片状态
│       └── styles/
├── src/main/java/com/mathanim/
│   ├── MathAnimFx.java       # 桌面入口(WebView)
│   ├── rest/                 # REST API
│   ├── service/              # 业务与 Manim 流水线
│   ├── domain/ repo/ config/
│   └── ui/                   # 遗留 FXML(非默认)
├── src/main/java/db/migration/
├── src/main/resources/       # application.yml · prompts · 静态资源
├── examples/                 # Manim 示例脚本
├── scripts/                  # 构建 / 安装脚本
├── docs/                     # 架构与归档文档
├── package-windows.ps1
├── run-dev.ps1
├── FEATURE_SCOPE.md
└── README.md

架构说明:docs/ARCHITECTURE.md


配置

  • 应用内 设置 / AI 配置
  • src/main/resources/application.ymlmathanim.*
  • 用户数据目录:%USERPROFILE%\.mathanim\(SQLite、任务工作目录、导出媒体、WebView 缓存)

API 概览

前缀 说明
/api/jobs 任务 CRUD、克隆、导入导出、打开文件夹、筛选
/api/workflow 运行 / 取消 / SSE
/api/workspaces 工作区与备课笔记、笔记 AI
/api/media/{id} 媒体流(支持 HTTP Range,便于进度条拖动)
/api/settings AI 与路径设置
/api/environment Python / Manim 检测
/api/auth Bearer / CSRF

技术栈

  • :JavaFX WebView + JsBridge
  • 后端:Spring Boot 3.4、Spring Security、JPA、Flyway、SQLite
  • 前端:Vue 3、Vite、TypeScript、CodeMirror、KaTeX
  • 渲染:本机 Manim Community

贡献

  1. Fork 本仓库
  2. 创建分支:git checkout -b feature/your-feature
  3. 提交:git commit -m "feat: ..."
  4. 推送并开 Pull Request

请勿提交 target/node_modules/.mathanim/、API Key 与生成视频。


许可

MIT License — 详见 LICENSE


相关链接

About

AI 驱动的数学动画桌面工具,支持自然语言/题干输入,自动生成 Manim 教学视频。AI-powered math animation generator with Manim rendering.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages