Skip to Content
资产与配置媒体资产中心

媒体资产中心

当前版本: v5 单页双栏(2026-09-08 蒸馏) · SSOT media-asset-and-workshop.md (SSOT) 

用途

媒体资产中心(/workspace/asset-hub)是工作区媒体文件层的一站式入口,覆盖 4 类媒体的查看、引用、批量操作、跨项目复用:

  • 4 类媒体:kind ∈ {IMAGE(图片), VIDEO(视频), AUDIO(音频), DOCUMENT(文档)}
  • 主体聚合:在 4 chip 之外展开「主体」filter chip,可进一步按 subject ∈ {character(角色), location(场景), prop(道具), voice(音色)} 过滤
  • 三层归属:无归属(全局) / sourceProjectId 关联(项目级) / canvasFolderId + canvasEpisodeId 关联(画布级)
  • 正交关系:kind(媒体种类)与 subject(主体种类)正交不冲突——同一张图既是 IMAGE 也是 character 主体图

上游的「主体级配置 + AI 设计 + 历史版本」操作走 /workspace/asset-workshop(Finder 风格独立页),与本页面职责分离。

使用前准备

  • 登录工作区账号:未登录会被中间件重定向到 /auth/login
  • 可选:登录后切到右上角「设置 → 模型配置」确认已有可用画风模型(供 AI 设计 / 一致性压力测试使用)。
  • 可选:对项目级 / 画布级过滤,需先选中左侧对应 scope / 文件夹,再观察右侧网格。

配图占位

  • 页面:/workspace/asset-hub v5 单页双栏
  • 状态:顶部双按钮(批量操作 / 同步剪辑)+ 左 scope 段([全部] / [项目] / [画布])+ 左文件目录树 + 右 [全局] [主体] [画布] tab + 4 kind chip + 「主体」sub-chip + TimelineGroup 时间线分组
  • 重点区域:scope 切换 / 文件目录树(真实递归计数)/ kind chip 切换 / 主体 sub-chip / 时间线分组 / 批量操作 / 同步剪辑
  • 脱敏要求:隐藏人物真实信息、未授权媒体、音频样本、项目名、账号信息和任务 ID

操作步骤

1. 顶部 56px Topbar(与其他页统一)

Dramagon Studio 8 页一致的 56px 顶部 Topbar:左侧 logo + brand,中部 breadcrumb(工作区 / 资产中心 / [项目名 / 文件夹名]),右侧 + 新对话 / 搜索(跳转 /skills)/ 消息(/notifications)/ 头像 dropdown(个人主页 / 设置 / 退出)。

2. 顶部双按钮(页面级 CTA)

  • 批量操作(左):选中网格后启用,支持批量删除 / 批量移动到文件夹 / 批量导出。
  • + 同步剪辑(右):把当前页资产推送到剪映(JianYing)继续编辑。

3. 左栏 scope 段 + 文件目录树

Scope 段(左上,3 段切换)

  • [全部]:用户账号下所有媒体(全局 + 项目级 + 画布级汇总,默认 tab)。
  • [项目]:按 sourceProjectId 分组,只展示项目级媒体。
  • [画布]:按画布 folderId 展开,显示真实目录树(目录行显示递归资产计数)。

文件目录树(左下半)

  • 真实递归计数,避免「项目伪装成空文件夹行显示 0 资产」反模式。
  • 选中文件夹后右侧网格按需加载(避免一次拉全表)。
  • 选中文件夹节点高亮 + 右侧网格标题显示「[文件夹名] 内 N 个媒体」。

4. 右栏主区(占据主要 viewport)

4a. TabBar(右栏顶部,3 个 tab)

  • [全局]:不过滤,显示当前 scope 内的全部媒体(默认 tab)。
  • [主体]:仅显示有 subject 字段的资产,即主体级图片 / 视频 / 音频。
  • [画布]:按画布维度的目录树展示,文件按 canvasEpisodeId 分组。

4b. 4 kind chip(TabBar 下方)

  • 图片 / 视频 / 音频 / 文档(单选 pill bar,默认图片 = IMAGE)。
  • 选中 kind 后右侧网格只显示该 kind 媒体。

4c. 「主体」sub-chip(仅当 4b = 图片 / 音频时展开)

  • 选中「图片」kind 后,4 chip 下方进一步出现 角色 / 场景 / 道具 / 音色 4 sub-chip。
  • 选中「音频」kind 时,sub-chip 简化为 音色 单 chip。
  • 选中「视频」/「文档」kind 时,不显示 sub-chip。

4d. TimelineGroup 时间线分组(右栏主区)

  • updatedAt desc 分组,每个日期 group 显示日期 header(24px / 700)。
  • 1:1 缩略图(167×167),5 列 × 2px gap,圆角 12px(横向 masonry)。
  • hover 缩略图浮出 hover overlay(标题 + 元数据 + 选择框)。
  • 「8月20日」之类长尾日期可能 12+ 张缩略图;短日期可能 0-3 张;目录行不会伪造空计数。

5. 缩略图卡片交互

  • 单击 → 进入详情页 /workspace/asset-hub/[id](左 60% 主预览 + 右 40% 元数据 + 版本历史)。
  • 双击 → 选中模式(批量操作启用)。
  • 右键 → 上下文菜单(重命名 / 移动 / 删除 / 复制 publicId)。
  • hover → 显示元信息 overlay(标题 + 上传时间 + kind + size)。

结果与状态

  • 「全局」tab 默认 = 展示 scope 内的全部媒体,不区分归属。
  • 切换 scope / kind / sub-chip 后,网格立即按新条件过滤,保留上一个 tab 的 staleTime(5s)避免闪烁。
  • 时间线分组按 updatedAt 真分组,目录行显示真实递归计数,避免「项目伪装成空文件夹行显示 0 资产」反模式。
  • 批量操作可撤销(Ctrl/Cmd + Z 5s 内恢复)。
  • 详情页(/workspace/asset-hub/[id])字段已统一展平到顶层(previewUrlmimeTypewidthheightdurationMsfileName),避免「AssetSelected?.media.url 嵌套访问 = 前端预览空白」根因。
  • API 4 表 union(globalCreativeAsset + globalCharacterAppearance + globalLocationImage + globalPropImage)确保主体资产不丢失。

权限和限制

  • 个人资产:只对所属账号和有权项目可见;管理员代管仍受项目作用域限制。
  • 删除文件夹 / 资产:删除前必须解除有效引用,优先归档有历史用途的内容。
  • 声音样本:必须获得授权,不要上传含多人对白、背景音乐或敏感信息的音频。
  • 生成和重新生成:可能产生模型费用。
  • 一致性压力测试(每个主体测试结果都是一次独立图片生成):提交前请核对 3 / 5 / 10 次的选择,无效索引 / 空图片槽 / 不匹配的资产类型 / 无权访问的目标会在提交前被拒绝,不会产生模型费用。

常见问题

「全局」tab 看到空列表怎么办?

「全局」语义 = 账号下所有媒体(全局 + 项目级 + 画布级汇总)。如果你只创建过项目级 / 画布级媒体,需要切换 scope 到 [项目] 或 [画布] 才能看到。

「主体」sub-chip 和 kind chip 关系?

subject(主体种类)与 kind(媒体种类)正交。同一张 IMAGE 媒体可以同时是 character 主体图;选了「图片 + 角色 sub-chip」表示只看 kind=IMAGE AND subject=character 的媒体。

时间线分组怎么定义的?

updatedAt desc 真实时间分组,目录行不会伪造空计数(避免「项目伪装成空文件夹行显示 0 资产」反模式)。如果某日期只有 1 张图,只有 1 张图,不会拉补。

详情页(/workspace/asset-hub/[id])布局?

左 60% 主预览(图片 / 视频 / 文档 / 音频 waveform)+ 右 40% 元数据(标题 / 类型 / 标签 / 上传时间 / 大小 / 引用次数)+ 历史版本时间线。详细见资产详情文档(导航见左侧目录)。

怎么新建主体?

主体级配置 + AI 设计 + 历史版本操作走资产工作坊(/workspace/asset-workshop),不是本页面。本页面只展示 / 引用衍生的媒体文件。

相关文档

Last updated on