# 04_技术架构设计_模块拆分 ## 1. 推荐技术栈 ```text 用户端:uni-app 后台端:Geeker-Admin 后端:Node.js + NestJS 数据库:MySQL 8 队列:Redis + BullMQ 对象存储:MinIO 视频合成:FFmpeg AI辅助:Python Worker 可选 进程管理:PM2 / systemd 反向代理:Nginx 容器化:Docker 可选 ``` --- ## 2. 总体架构 ```text uni-app 用户端 ↓ NestJS API Gateway ↓ 业务服务层 ↓ AI 编排层 / 任务队列层 ↓ TextProvider / ImageProvider / VoiceProvider / VideoProvider / ModerationProvider ↓ MySQL / Redis / MinIO / FFmpeg ↓ Geeker-Admin 后台管理 ``` --- ## 3. 后端模块 ```text AuthModule UserModule ProjectModule NovelModule CopyrightModule TextParseModule StoryBibleModule WorldBibleModule CharacterModule CharacterAssetModule EpisodeModule ScriptModule StoryboardModule PromptModule AssetModule TaskModule ProviderModule ImageModule AudioModule SubtitleModule VideoModule OrderModule QuotaModule ReviewModule CaseModule AnalyticsModule SystemConfigModule LogModule ``` --- ## 4. 系统 A 独有模块 ```text NovelModule:小说生成/上传/解析 StoryBibleModule:故事圣经 WorldBibleModule:世界观规则 CharacterModule:角色圣经 EpisodeModule:分集计划 ScriptModule:单集脚本 StoryboardModule:分镜 PlotMemoryModule:长篇记忆 ContinuityModule:连续性检查 ``` --- ## 5. 与系统 B 共用模块 ```text AuthModule UserModule OrderModule QuotaModule AssetModule TaskModule ProviderModule ImageModule AudioModule SubtitleModule VideoModule ReviewModule CaseModule AnalyticsModule SystemConfigModule LogModule ``` --- ## 6. AI Provider 抽象 Provider 不允许写死模型。 ```text TextProvider NovelProvider ImageProvider VideoProvider VoiceProvider ModerationProvider QualityCheckProvider FileParseProvider EmbeddingProvider ``` 每个 Provider 需要支持: ```text mock模式 真实模式 fallback 限流 成本记录 失败重试 请求日志 ``` --- ## 7. Worker 队列 ```text novel_queue parse_queue story_queue character_queue script_queue storyboard_queue image_queue audio_queue subtitle_queue video_queue qc_queue review_queue analytics_queue ``` 不同队列隔离,避免视频合成堵住文本和图片任务。 --- ## 8. 存储策略 ```text 原始小说文件:MinIO private bucket 清洗文本:数据库 LONGTEXT + 备份文件 角色参考图:MinIO private 分镜图:MinIO private 视频成品:MinIO private 公开案例:单独 public 或 CDN bucket ``` 原始小说和用户素材默认私有。 --- ## 9. 事件驱动 系统内部关键事件: ```text ProjectCreated NovelParsed StoryBibleConfirmed CharacterBibleConfirmed EpisodesConfirmed StoryboardConfirmed PaymentPaid PreviewConfirmed ImageGenerated VideoRendered ProjectCompleted RevisionRequested ``` 可用于后续扩展数据统计、通知、运营分析。