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