Files

5.4 KiB
Raw Permalink Blame History

本地化 AI 短剧/漫剧平台架构

产品模块

三类产品面

  • 创作空间:我的工作台、项目工厂、剧本拆解、Series Bible、资产与选角、Continuity Ledger、导演工作台、生成任务、审片和交付。
  • 管理员后台:管理概览、组织与工作区、用户与权限、模型与 Runner、队列与任务、用量与成本、审计与合规。
  • 系统设置:系统健康、部署模式、存储、队列并发、单画面策略、真实末帧策略、固定声线、QA 门、通知、API 客户端和功能开关。

三类产品面共享同一套上下文选择器,但权限边界不同。组织管理员治理租户内资源;系统管理员治理本地部署实例和平台级策略。

  • 前端生产台:生产总控、剧本拆解、资产选角、导演工作台、生成队列、审片中心、交付运营。
  • 数据核心:series bible、character locks、location locks、prop locks、shot list、voice lines、continuity ledger、generation jobs、QA results。
  • 生成适配器:默认对接用户自有模型平台;支持自定义 HTTP JSON、OpenAI-compatible 本地网关和 NewAPI 音频中转;ComfyUI 为可选适配器。
  • 质检门:一图一画面、连续性、IndexTTS-2.5 固定配音、paraformer-zh-long 声音/字幕/ASR 对齐、片段衔接。
  • 交付目录:prompt pack、配音台词表、剪辑合成清单、QA 结果和最终视频工程目录。

系统治理数据

  • system_settings:部署和生成策略的持久化键值,支持类型化编辑和审计。
  • feature_flags:系统范围功能开关,默认关闭外部云连接器和非必要适配器。
  • notification_channels:本地事件日志和可选 Webhook。
  • api_clients:本地 Runner/企业集成客户端及 scope。
  • service_health:本地 API、SQLite 和各类 Runner 的健康、延迟、队列深度。
  • system_admins:独立于组织角色的系统管理员身份。

本地执行层

API 进程启动时自动初始化 server/worker.mjs,Worker 通过数据库租约领取可执行任务,并把执行状态、attempt、错误、用量和审计事件写回 SQLite。领取条件由服务端强制执行:任务必须是 queued,前置依赖必须完成,连接器必须 ready 且 cost_mode=local。因此管理员可以在队列页看到真实的在线状态、并发、队列深度、最近心跳和失败原因,而不会把云端任务伪装成本地自动执行。

Worker 运营层还维护租约超时回收、最大尝试次数、指数退避、队列最老等待时长和心跳失效判断。管理员可通过 /api/admin/queue/batch 批量重试/取消,并通过 /api/system/worker 读取告警状态;这部分状态不是前端计算,而是由本地 Worker 和数据库共同写回。

商业运营数据按组织保存账单周期、配额预警阈值、账单变更历史和成本中心。系统管理员用户治理与组织管理员成员治理分开:系统管理员可以创建全局账号、重置密码/MFA、调整组织/工作区/项目归属;所有动作都经过后端 session、scope 和 role 校验并写入审计。

模型执行请求统一经过 server/execution.mjs 的协议层:自定义 HTTP JSON 发送生产合同,OpenAI-compatible 按操作映射标准路由,ComfyUI 只负责 optional workflow bridge。认证信息通过 authEnv 指向进程环境变量,数据库和导出包不保存密钥。

推荐流水线

  1. 写 series bible 和 episode card。
  2. 锁定角色、服装、声音、场景、道具、天气和固定机位。
  3. 生成每个镜头的一张完整单画面关键帧,输出数量必须等于 1。
  4. 后续镜头优先用上一段视频的实际末帧作为首帧;大跨度场景先插入过渡镜头。
  5. 台词先走 NewAPI/IndexTTS-2.5 固定 TTS 声线,使用 prompt_speech 参考音频锁定角色;无法口型同步时使用侧脸、背影、低头、远景、反应镜头、环境插入镜头。
  6. 音频生成后走 NewAPI/paraformer-zh-long 的 verbose_json 识别,用 ASR 文本校验台词准确性,用词级时间戳生成字幕时间轴。
  7. 视频片段通过 QA 后进入剪辑合成。

生成任务在进入 Worker 前还会经过单画面、连续性、成本策略和外部连接审批门;图片响应中 data、images、outputs 任一数组都必须恰好有一项。

旧资产复用

  • /Users/xz/Documents/daima/ai短剧/codex_qu_2026-08-15/work/rebuild_no_narration_v1.py:单画面正负约束、Qwen Image、QwenEdit、H3 首尾帧桥接、输出数量检查。
  • /Users/xz/Documents/daima/ai短剧/generate_thunderstorm_drama_locked_midshot_v3_cn_dialogue.py:雷暴样片的角色锁、场景锁、对白、实际末帧串联。
  • /Users/xz/Documents/daima/ai短剧/outputs/voice_lock_strategy/voice_lock_plan.md:固定 TTS 声音加规避嘴形的声音策略。
  • /Users/xz/Documents/daima/ai短剧/ai-drama-platform/docs/NEWAPI_AUDIO_WORKFLOW.md:NewAPI 中转 IndexTTS-2.5 和 paraformer-zh-long 的音频请求格式。

禁止默认行为

  • 不默认使用付费或云端节点。
  • 不在配置、导出文件或日志里保存 NewAPI 密钥;需要认证时只读取环境变量。
  • 不把 MiniMax H3 每次随机采样的原生声音当角色最终声线。
  • 不把 storyboard、contact sheet、collage、九宫格、边界表作为生成输入。
  • 不让同一张生成图出现多个地点、多个时间点、多个机位或多个连续动作。