文档
Drama

架构与数据流

漫剧工作台的模块职责与数据流

来源:oceanway-drama 仓库 docs/architecture/overview.md,提交 45524ef,2026-10-01 迁入文档站,正文未改动。工作台写于架构重建之前,其中提到的 oceanway-contracts、Core 等已冻结,接入时以平台文档为准。

产品行为以标准 1.7.0为准。 本文说明当前模块和数据归属;配置见本地运行。

模块

模块职责实现入口
Web 应用路由、页面、草稿、阅读位置、助手和可靠提交App、路由
文档内核文档校验、规范化、文本序列化、范围与指纹manju-document
领域服务项目、正文、资产、分镜、视频、任务和持久化HTTP、领域服务
正式契约从服务生成类型、OpenAPI、路由和覆盖清单manju-contracts
HTTP 客户端类型化请求、原操作重放、媒体与 SSEmanju-http-client
工具启动、隔离验收、输入保护和恢复scripts

页面实现位于各自工作包;页面索引 连接 manifest、设计依据和 QA。共享组件与领域客户端分别放在 components 和 app。

编辑与保存

原始上传 → 当前分集/剧本文档 → 单集资产关联 → 当前分镜文档 → 视频段及画面描述

WorkbenchDocumentEditor 使用 Tiptap/ProseMirror 维护编辑、格式、选区和撤销。父页面负责自动保存、主动保存、 输入法保护、离开保护与回执处理。生产准备和剧本页共用同一单集正文。 文档内核提供统一序列化偏移,辅助镜头索引可以重建,完整文档是正文依据。 连续剧本的各集编辑器独立维护撤销栈,当前编辑器将操作栏渲染到页面顶部的共用宿主。 导航滚动恢复在剧本数据就绪后执行;对照切换保留当前集和阅读进度。

ModalLayer与 useModalDialog 统一原生弹窗、键盘循环和关闭焦点;尺寸和操作区域由 浮层样式约束。

保存形成服务修订。原始上传、模型原始结果、历史修订和生产快照具有独立身份。 当前空稿也是有效内容;读取时尊重当前 head。完整内容指纹记录格式, 实际生成输入指纹记录生产所用内容,具体字段定义见技术接入。

生产与结果

生成命令读取已保存内容,固定输入快照后创建 Run/Task/Attempt。 执行器调用 Provider,持久化原始结果,再登记候选。 图片和视频结果由用户选择;下载使用经服务校验的媒体引用。 导出清单记录视频段顺序以及修订、候选和媒体引用,供外部剪辑工具整理素材。

本地 Provider 返回明确标记的测试媒体。生产 Provider、身份、预算、审计、 存储、队列及 Studio Host 通过现有适配端口接入。

状态归属

状态权威位置浏览器职责
项目、文档、资产、视频修订与候选领域服务及存储读取、编辑、呈现
生成任务与原始结果Run/Task/Attempt 及结果存储订阅、查询、显示恢复动作
未确认回执的命令服务幂等记录与客户端 journal保留原请求身份、版本和完整 payload
尚未保存的输入页面草稿与恢复缓存保留输入,显式处理版本冲突
助手会话、批注与待发送引用当前助手持久化层锚点映射、跨页恢复与显式发送
助手开关、入口位置、阅读位置独立 UI 偏好按项目/页面范围恢复

服务回执验证成功后才更新“已保存”。网络断开或响应丢失时,恢复流程复用原命令; 已确认完成后的真正重执行使用新的 Attempt。权限在提交及结果登记时分别核验。

持久化与兼容

本地启动使用 File,默认数据根为 .local/reference-service/data/。 PostgreSQL 实现使用数据库适配器 与迁移,事务与幂等回执由同一服务维护。 持久化记录按各自 schemaVersion 读取,兼容读取保留原始指纹与历史身份。 迁移和恢复先清点来源、建立独立检查点,再校验输入与输出。

File、SQL mock、独立 PostgreSQL 和平台联调的验证边界分别记录在 验收状态。

On this page