素材中心:网页端与桌面端,共用一套素材
素材中心是贯穿网页端和桌面端 Studio 的素材沉淀与同步枢纽。本地优先、原图不出本机;需要共享的过桥项做增量同步,每一条都写轨迹、可追溯。你只管创作,同步自己管好。
素材中心是什么
服饰易的素材不止存在于一个地方:网页端有「我的训练模型」里的素材库、采集、收藏与上传;桌面端 Studio 有本地的 asset_lib 素材库,配合本地 OCR、矢量化和训练。素材中心把这两端连起来——它通过真实的同步通道,让该共享的共享、该留本地的留本地,既不重复劳动,也不泄露隐私。
两种形态,一套素材
网页端素材库
云端账户在「我的训练模型」里沉淀素材:素材库(asset)、采集(scout)、收藏(favorite)、手工上传(upload)。它们统一进入训练样本表,构成弱监督飞轮——你只管收藏与归类,系统自动标记为入训正样本。
- 四种来源:素材库 / 采集 / 收藏 / 手工上传
- 弱监督闭环:收藏=正向信号,分类=弱监督标签
- 样本落 fy_train_dataset,按 来源 / 域 / 模态 聚合
- 合规红线:仅 owned / authorized 素材可入训
桌面端 Studio 素材库
本地优先桌面端 Studio 的 asset_lib 模组是本地素材库:本地 OCR 批量数字化、本地矢量草稿、本地训练候选都留在本机。原图不出本机,归属清晰、隐私可控,适合批量与精细后期。
- 本地 OCR 提取的纹样直接进本地素材库
- 本地矢量草稿 / 重绘历史留本地
- 本地素材库即训练候选,弱标签在本地整理
- 仅「投稿 / 同步项」才过桥到云端
同步机制:三套真实通道
两端的同步不是一句口号,而是三套真实落地的端点。它们都自带鉴权(StudioToken / 会员令牌)、配置驱动(无写死地址),失败如实返回、不假成功。
素材同步拓扑(占位线框,替换正式图不影响结构)
Studio 桥接端点
api/studio_bridge.php
对齐桌面端 PhpApi 的同步契约:八维术语 sync_terms(fa_terms 幂等 upsert,含 dynasty 朝代 / source 出处来源追溯)、复用产物 pull(fa_content,供本地 sled 镜像后离线零模型复用,§24 / §26.4)、训练投稿 push(桌面端投稿 → 审核流)。返回 contract_version 做版本治理。
- sync_terms:八维术语批量 upsert
- pull:拉取可离线复用产物
- push:接收桌面端训练投稿
资源增量同步
api/desktop_assets.php
按会员档位 + 已购插件,下发桌面端「有权下载」的资源 / 插件清单。sync 只下载 hash 不符或缺失的文件(替换本地),与桌面端 file_content_hash 逐位一致(FNV-1a 64bit)。解决:按权限下载、企业版多什么、升级即更新、付费插件在线更新。
- manifest:下发该档位允许文件清单
- sync:hash 比对增量下发 + removed 清理
- 按 plan + 已购插件鉴权,杜绝伪造 free
密钥双端同步
api/credentials.php
品牌 / 自定义密钥经同一后端写入 config/credentials.json(单一真相源),网页端后台与桌面端实时同步。密钥永不明文回显,hash_equals 比对校验,两端配置保持一致。
- 写入 config/credentials.json
- web 后台与桌面端实时同步
- 密钥永不回显,比对校验
同步边界:本地优先,什么过桥、什么留本地
这是素材中心最核心的原则。本地优先意味着:你的本地素材库原图、矢量草稿、重绘历史始终留在桌面端本机;只有明确要两端共享的「配置 / 可复用资产 / 投稿」才过桥。
过桥同步(两端共享)
- 八维术语 / 考据词表(sync_terms → fa_terms)
- 可离线复用产物(pull → fa_content 本地镜像)
- 桌面端训练投稿(push → fa_content + 审核流)
- 资源 / 插件(desktop_assets 增量下发)
- 品牌 / 自定义密钥(credentials 双端一致)
仅留本地(不过桥)
- 本地素材库原图(原图不出本机)
- 本地矢量草稿 / 重绘历史
- 本地训练候选与弱标签整理
- 本地批量 OCR 的中间产物
桌面端 Studio 素材库(界面示意)
下面是 Studio 素材库(asset_lib 模组)的界面线框稿:左侧是按来源整理的素材夹,中间是缩略图网格,右侧是选中项的元数据与弱监督标记,底部是批量同步栏。本地素材库原图、矢量草稿、重绘历史都沉淀在这里,只有你主动「同步到云端」才过桥。
线框说明:左侧为素材夹(素材库 / 采集 / 收藏 / 本地 OCR / 训练候选),中间为缩略图网格,右侧为选中项元数据 + 弱监督标记 + 入训开关,底部为批量同步栏。本地原图、矢量草稿、重绘历史始终留本地;只有点「同步到云端」才过桥,并写 fy_sync_op_log 轨迹。
同步流向模拟器(实时接 fy_sync_op_log)
选一个素材场景,右侧实时显示它会不会过桥、落到哪里、写不写同步轨迹。规则由后端的 fy_asset_sync_resolve() 给出,与真实引擎(训练送审 / Studio 同步)是同一套判定。选「投稿 / 拉取复用 / 八维术语 / 资源插件」这类 push / pull 场景时,会经由端点真实写入 fy_sync_op_log 一条轨迹(msg=simulator),与真实同步共用同一个写入口。
说明:结论由真实规则函数与端点返回;push / pull 场景会真实写入一条 fy_sync_op_log 轨迹(标记 simulator,可在运营审计查到),本地草稿 / 收藏 / 上传等场景不写轨迹。若服务端不可达,面板回退为离线演示数据。
每一步都留痕:死信可追溯
会改变服务端状态的同步(投稿 / 八维术语)一律写 fy_sync_op_log(direction=push,status=ok/fail);失败的进入死信区,自动重试或人工补救。拉取复用 / 资源增量这类只读同步仅在确有增量时记录 pull 轨迹——日常空轮询不落库,避免审计表被刷爆。运营审计里可据此查到每一条素材的来龙去脉。
合规红线
仅 owned(自有)/ authorized(已授权)素材可入训。配置项 allow_sources 拦截未授权来源;采集与投稿走审核流(gate0 命中即短路)。未授权来源绝不进训练集——这条红线,网页端与桌面端共用,无一例外。
典型应用场景
网页端整理,桌面端精制
在网页端收藏、归类素材,桌面端拉取八维术语与复用产物后,做本地批量 OCR、矢量化与精细后期。
弱监督飞轮不重复
收藏=正向信号、分类=弱监督标签,两端共享同一条样本飞轮,不必在每端各整理一遍。
团队与企业资产沉淀
投稿过桥进入审核流与全局池,合规素材被所有用户消费;本地原图与草稿仍归个人,权责清晰。
常见问题
网页端整理的素材,桌面端还要再上传一次吗?
不需要。素材库 / 收藏 / 投稿等过桥项通过增量同步共享;桌面端只下载 hash 不符或缺失的部分,不重复传输。本地草稿则始终留本地,不会被动上传。
我的本地素材会被偷偷上传到云端吗?
不会。本地优先是硬原则:本地素材库原图、矢量草稿、重绘历史只留桌面端本机。只有你主动「投稿 / 同步」的项才过桥,且每条都写同步轨迹,明明白白。
同步失败了怎么办?
会改变服务端状态的同步(投稿 / 八维术语)一律写 fy_sync_op_log(direction=push,status=pending/ok/fail);失败的进入死信区(§25.3)可追溯,系统自动重试或人工补救,不会无声丢失。拉取复用 / 资源增量这类只读同步仅在确有增量时记录 pull 轨迹。
素材能用来训练吗?有什么红线?
仅 owned(自有)/ authorized(已授权)素材可入训,allow_sources 配置拦截未授权来源;采集 / 投稿走审核流。未授权来源绝不进训练集,守合规红线。
两端用的版本不一致会出问题吗?
同步契约带 contract_version 做版本治理:破环才会升版,老端兼容降级,三端对账一致,避免两端因版本错配导致同步异常。
核心优势
素材中心把「本地创作」与「云端协同」的边界讲清楚:你专注创作,同步与合规由系统兜底。
本地优先,原图不出本机
桌面端 Studio 的本地素材库、OCR 提取与矢量草稿都留在本机,只有「投稿 / 同步项」才过桥到云端,隐私与归属可控。
两端同步,死信可追溯
八维术语、复用产物、训练投稿按真实通道增量同步,每条操作写 fy_sync_op_log(push/pull、pending/ok/fail/dead),异常可追。
本地素材即训练候选
桌面端本地整理的弱标签素材直接成为 LoRA 训练候选,过桥投稿即进入审核流,创作与训练闭环顺畅。