frame-fab 是一款桌面端 AI 漫剧创作平台,基于 Tauri 2.1 + Rust 构建,集成多模型 AI(GLM-5 / M2.5 / Kimi / Seedream / Kling / Vidu / Edge TTS)实现从小说/剧本到漫剧成片的端到端自动化。提供 Manual 模式(七步半自动,逐步审批)和 Autonomous 模式(10 步全自主 + Self-Review Loop)两种工作流,配备 Quality Gate 质量门禁、Checkpoint 断点续传,让创作者专注于故事本身。
|
Manual Mode:七步半自动(导入→分析→脚本→分镜→角色→渲染→导出),逐步审批 |
Strategy 模式 ProviderRegistry 支持 6+ 文字模型、4+ 图像模型、3+ TTS,含完整 Fallback Chain 和 Retry 机制 |
Edge TTS 配音、唇形同步、字幕嵌入、FFmpeg 合成导出;支持 MP4/WebM/MOV 多格式输出 |
|
Tauri 2.1 + FFmpeg 子进程,零桥接开销;包体积 30MB,冷启动 <1s |
PipelineEngine 30s 自动 Checkpoint,自审循环自动修复不合格输出,质量门禁不通过可降级 |
全局快捷键、系统托盘、原生菜单、文件 I/O;macOS/Windows/Linux 三端一致体验 |
| 平台 | 架构 | 下载 |
|---|---|---|
| macOS | Apple Silicon (M1/M2/M3/M4) | frame-fab_x.x.x_aarch64.dmg |
| macOS | Intel | frame-fab_x.x.x_x64.dmg |
| Windows | x64 | frame-fab_x.x.x_x64-setup.exe |
| Linux | AppImage | frame-fab_x.x.x_amd64.AppImage |
没有找到合适的桌面端?试试从源码运行(开发模式) ↓
git clone https://github.com/Agions/frame-fab.git
cd frame-fab
pnpm install
pnpm tauri dev配置 .env.local:
# 文字生成(至少配置一个)
VITE_ALIBABA_API_KEY=your_key_here # 阿里 Qwen
VITE_ZHIPU_API_KEY=your_key_here # 智谱 GLM
VITE_MINIMAX_API_KEY=your_key_here # MiniMax M2.5
# 图像生成(可选)
VITE_SEEDDREAM_API_KEY=your_key_here # 字节 Seedream 5.0
VITE_KLING_API_KEY=your_key_here # 快手 Kling访问 http://localhost:1420 即可看到开发版 UI。
┌──────────────────────────────────────────────────────────────┐
│ Frontend (Web UI — React 18 + TypeScript 5 + Vite) │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────────┐ │
│ │ 14 features │ │ 5 global │ │ shadcn/ui (Radix │ │
│ │ (DDD 风格) │ │ Zustand │ │ + Tailwind CSS) │ │
│ └─────────────┘ └──────────────┘ └───────────────────┘ │
└──────────────────────┬───────────────────────────────────────┘
│ tauri::invoke() IPC
┌──────────────────────┴───────────────────────────────────────┐
│ Desktop Container (Tauri 2.1 — Rust) │
│ ┌─────────── commands/ ──────────┐ ┌────── services/ ───┐ │
│ │ video · app · file · shortcuts │ │ ffmpeg · video · │ │
│ │ 21 Tauri Commands 按域路由 │ │ config │ │
│ └────────────────────────────────┘ └────────────────────┘ │
│ ┌────────────── 10 步 Pipeline ──────────────────────────┐ │
│ │ import → analysis → script → character → scene → │ │
│ │ storyboard → render → video-editing → audio → export │ │
│ └────────────────────────────────────────────────────────┘ │
│ ┌────── Autonomous Layer ───────────────────────────────┐ │
│ │ AutoPipelineEngine · QualityGate · SelfReviewLoop · │ │
│ │ Checkpoint (30s auto-save) │ │
│ └────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────┐
│ External AI Providers (via HTTPS) │
│ 智谱 GLM-5 · MiniMax M2.5 · 月之暗面 Kimi · 字节 Seedream 5.0│
│ 快手 Kling · 生数 Vidu · 阿里 CosyVoice · 微软 Edge TTS │
└──────────────────────────────────────────────────────────────┘
详细架构决策见 docs/adr/ (Tauri 桌面优先 + Monorepo DDD 分层)。
frame-fab/
├── src/ # 前端 UI 层(React + Tauri API 包装)
│ ├── features/ # 14 个 Feature 模块(DDD 风格)
│ ├── shared/ # 跨域共享(components/hooks/stores/utils)
│ ├── core/ # 核心服务(pipeline + services)
│ └── pages/ # 路由级页面
├── packages/ # Monorepo 子包
│ ├── core/ # 领域核心(pipeline/autonomous/types)
│ └── common/ # 基础类型/工具(无副作用)
├── src-tauri/ # Tauri 桌面端(Rust 第一公民)
│ ├── src/commands/ # 21 个 Tauri Commands(按域路由)
│ ├── src/services/ # FFmpeg/视频/配置业务逻辑
│ ├── src/utils/ # 路径验证/ID 生成/FFPS 解析
│ └── src/constants/ # 允许目录白名单
├── docs/ # VitePress 文档站
│ ├── adr/ # 架构决策记录
│ ├── api/ # API 参考
│ ├── performance/ # 性能基准报告
│ ├── developer-guide/ # 架构/项目结构/服务
│ ├── getting-started/ # 5 分钟启动/配置
│ └── user-guide/ # 工作流说明
├── assets/ # 品牌资源(logo 系统)
├── public/ # Vite 静态资源
└── scripts/ # 构建脚本
| 类别 | 技术 |
|---|---|
| 前端框架 | React 18 · TypeScript 5 · Vite 5 |
| UI 组件 | shadcn/ui (Radix UI + Tailwind CSS) |
| 状态管理 | Zustand(5 个全局 Store + feature 级 Store) |
| 桌面端 | Tauri 2.1 (Rust) |
| 动画 | Framer Motion |
| 国际化 | i18next |
| 测试 | Jest · React Testing Library · 90 suites / 1596 pass |
| CI/CD | GitHub Actions(lint + typecheck + test + e2e + build + docs deploy) |
| 模态 | 模型 |
|---|---|
| 文字生成 | GLM-5(智谱)· M2.5(MiniMax)· Kimi K2.5(月之暗面)· Doubao 2.0(字节)· Qwen 2.5(阿里)· ERNIE 4.0(百度) |
| 图像生成 | Seedream 5.0(字节,推荐)· Kling 1.6(快手)· Vidu 2.0(生数) |
| 视频生成 | Seedance 2.0(字节)· 配合 Image-to-Video 工作流 |
| 语音合成 | Edge TTS(免费)· CosyVoice 2.0(阿里)· KAN-TTS(阿里) |
# 前端
pnpm dev # Vite dev server (port 1420)
pnpm build # 生产构建
pnpm build:check # tsc --noEmit (类型检查)
pnpm test # Jest 全部测试
pnpm test:watch # 监听模式
pnpm lint # ESLint
pnpm lint:fix # ESLint 自动修复
# Tauri 桌面端
pnpm tauri dev # 桌面端热重载开发
pnpm tauri build # 生产桌面端构建(生成 .dmg/.exe/.AppImage)
# 文档
pnpm docs:vp:dev # VitePress 文档站开发
pnpm docs:vp:build # 构建文档站静态资源| 分类 | 文档 | 说明 |
|---|---|---|
| 上手 | 快速开始 | 5 分钟启动 |
| 上手 | 安装 | 桌面端/源码安装 |
| 上手 | 配置 | AI API Key 配置 |
| 开发 | 架构 | 系统架构设计 |
| 开发 | 项目结构 | 目录说明 |
| 开发 | Pipeline API | 10 步 Pipeline 引擎 |
| 开发 | Autonomous API | AutoPipelineEngine / QualityGate / SelfReviewLoop |
| API | 服务参考 | AI/图像/视频/TTS/字幕/流水线服务 |
| 决策 | ADR 0001: Tauri 桌面优先 | 架构决策记录 |
| 决策 | ADR 0002: Monorepo DDD 分层 | 架构决策记录 |
| 性能 | v2.2.0 性能基准 | bundle/流水线/UI LCP |
- v2.0:基础七步工作流(Manual 模式)
- v2.1:8-Phase 架构重构 + Rust 模块化 + 服务重组 + 5 个 Store 收敛
- v2.2:仓库改名 frame-fab · 描述中文化 · 自主流水线正式化 · ADR 决策记录 · 性能基准
- v2.3:manga-pipeline 测试提速(11s → 4s)· E2E 性能测试 · SWC 替换 ts-jest · 集成测试覆盖 AutoPipelineEngine
- v2.4:协同编辑(CRDT/Y.js)· 角色一致性 v2(基于 IP-Adapter)· 模板市场
- v3.0:多模态融合(视频+音乐+音效 AI 生成)· 跨设备同步 · 移动端预览
欢迎 PR 和 Issue!开发流程:
- Fork 仓库
- 创建特性分支:
git checkout -b feat/your-feature - 提交代码:
git commit -m "feat(scope): description" - 推送分支:
git push origin feat/your-feature - 创建 PR,CI 全绿后合并
feat: 新功能
fix: Bug 修复
docs: 文档变更
style: 代码格式化(无逻辑变更)
refactor: 重构
perf: 性能改进
test: 测试
chore: 构建/工具链变更完整开发规范见 CONTRIBUTING.md。
- Tauri — Rust 桌面容器
- shadcn/ui — 组件设计系统
- Zustand — 状态管理
- FFmpeg — 视频处理
- 智谱 / MiniMax / 月之暗面 / 字节 / 阿里 / 百度 — AI 模型支持
MIT License · © 2024-2026 Agions
如果你觉得 frame-fab 有帮助,请给我们一个 ⭐