Skip to content

MangaV (漫织 AI) 系统架构设计说明书

设计目标: 构建企业级、可扩展、解耦的 AI 漫剧桌面创作平台,支撑从小说导入到 4K 视频导出的全流程自动化。


1. 架构总览 (High-Level Architecture)

MangaV 采用了 pnpm workspace (前端) + Cargo workspace (Rust 后端) 的双层 Monorepo 解耦架构:

mermaid
graph TD
    subgraph Frontend ["前端架构 (React 19 + Monorepo Packages)"]
        UI["@mangav/ui<br/>设计系统组件库"]
        CoreTS["@mangav/core<br/>领域模型与 WorkflowEngine"]
        AI_TS["@mangav/ai-engine<br/>PromptBuilder & 预设"]
        SB_TS["@mangav/storyboard<br/>分镜编辑器组件"]
        Audio_TS["@mangav/audio-studio<br/>多音轨与 TTS 工作台"]
        Render_TS["@mangav/render-pipeline<br/>渲染控制台 & Hooks"]
    end

    subgraph IPC ["通信层 (Tauri IPC Bridge)"]
        Specta["mangav-ipc<br/>强类型 Command 调度通道"]
    end

    subgraph Backend ["Rust Native 后端 (Cargo Workspace)"]
        CoreRS["mangav-core<br/>ProjectStore & 校验"]
        AIRS["mangav-ai<br/>NovelScriptParser & 镜头推导"]
        MediaRS["mangav-media<br/>FFmpeg 硬件加速 (VideoToolbox/NVENC)"]
        PluginRS["mangav-plugin<br/>Extism WASM 沙盒"]
        UpdaterRS["mangav-updater<br/>ed25519 签名更新"]
    end

    UI --> CoreTS
    SB_TS --> UI
    Audio_TS --> UI
    Render_TS --> UI
    Render_TS --> Specta
    Specta --> CoreRS
    Specta --> AIRS
    Specta --> MediaRS

2. 核心模块分层详解

2.1 Rust 后端 Workspace (crates/)

Crate 模块核心职责依赖关系
mangav-core核心领域模型(WorkflowStage, MangaProject, CharacterAsset)、MangavError 统一错误体系、ProjectStore 数据持久化与 6 阶状态机约束校验
mangav-aiNovelScriptParser 剧本拆解器(章节/对白/场景边界识别)、CharacterConsistencyEngine 视觉一致性注入器、PromptBuilder 链式构建器mangav-core
mangav-media平台硬件加速能力检测(Apple VideoToolbox / NVIDIA NVENC / Intel QSV)、FFmpegCommandBuilder 视频拼接/缩略图指令生成、自适应编码器选择算法mangav-core
mangav-ipcTauri 命令暴露层,无业务逻辑纯路由,对外提供强类型 Command 接口mangav-core, mangav-ai, mangav-media
mangav-pluginExtism / WASM 插件沙盒集成,负责第三方节点或自定义导出扩展的隔离加载mangav-core
mangav-updater桌面端静默更新检测与数字签名校验mangav-core

2.2 前端 Workspace (packages/)

packages/
├── core/             # 导出 WorkflowEngine 状态机控制、Episode/Shot 接口、useMangaVStudio
├── ai-engine/        # 导出 ArtStylePreset 5 大画风配置、CameraShot 镜头提示词、PromptBuilder
├── storyboard/       # 导出 StoryboardGrid 虚拟网格、ShotToolbar 操作栏、StoryboardStats 统计
├── audio-studio/     # 导出 AudioTimeline 多轨时间轴、TTSVoice 预设列表、AudioStudio 组件
├── render-pipeline/  # 导出 RenderProgress 状态机、useRenderPipeline IPC 调度 Hook、RenderPipelinePanel
└── ui/              # 导出 MangaButton、MangaCard、StatusBadge、ProgressRing、EmptyState 设计系统

3. 规范化 6 阶 SOP 状态机设计

前后端通过 WorkflowStage 强校验状态机流转规则:

Draft (草稿导入)
  └──> ScriptParsed (剧本拆分)
        └──> StoryboardGenerated (分镜构建)
              └──> AudioSynthesized (音轨合成)
                    └──> Rendering (硬件加速渲染)
                          └──> Completed (完工导出)
  • 单向向性: 仅允许从前一阶段向后一阶段顺序推导,防止状态混乱。
  • 自动持久化: 状态流转时由 ProjectStore::advance_workflow_stage() 自动更新时间戳并落盘保存。

4. 性能与安全基准

  1. 增量编译性能: Rust Workspace 单次 cargo check 仅耗时 0.41s ~ 0.53s
  2. 硬件渲染加速: 调度 Apple VideoToolbox / NVIDIA NVENC 硬编,视频渲染导出速度相比 CPU 软编提升 40% ~ 70%
  3. 内存控制: 基于虚拟化分镜列表与资产惰性加载,100+ 分镜场景编辑峰值内存稳定于 <350MB

基于 MIT 协议开源 · 由 Agions & 社区维护