创意工坊与自发行发布指南
TransBox 支持两条分发路径:
- Steam 创意工坊(Steam 版):内置 创意工坊中心 (Workshop Hub),浏览订阅与一键发布均在客户端完成。
- 自发行 / 本地扩展(无 Steam 或
TRANSBOX_DISTRIBUTION=selfpub构建):不初始化 Steamworks、不扫描工坊目录;插件靠 Zip + 本地扩展目录安装。自发行版账号/授权 UI 位于客户端src/transbox/ui/qml/selfpub/(License / AccountCenter 等),与工坊上传无关。
有 Steam 时优先用工坊;面向非 Steam 用户或内网时用本地目录分发。
1. 创意工坊中心概览
通过 TransBox 客户端可随时呼出工坊中心独立窗口:
- 入口 1:在主窗口快捷菜单中点击 「创意工坊中心」;
- 入口 2:打开 设置中心 → 扩展工坊,点击顶部的 「创意工坊中心」 按钮。
窗口提供三大核心面板:
- 浏览工坊 (Browse):在线搜索、官方标签分类筛选、分页浏览、查看海报与详情、一键订阅与实时下载进度显示;
- 我的订阅 (My Subscriptions):集中管理本机已订阅的所有 MOD,展示文件大小、更新状态、一键重新下载、打开本地文件目录或取消订阅;
- 发布与更新 (Publish & Update):本地插件目录自动元数据提取、官方标签智能映射、预览图配置、全新发布与增量版本更新(回填 Published File ID)、5 阶段进度实时反馈。
2. 上传前自检
技术性检查(目录结构 / id / version / entrypoint / 体积 / 图标 / locales) 已统一在 打包与体积上限 § 打包前自检,本节只列发布专属的几项:
- [ ] 工坊封面图:
preview.png/preview.jpg,16:9 或 4:3,建议 < 1 MB - [ ] 编码:源码与数据文件统一 UTF-8
- [ ] 无硬编码凭据:API Key / 私钥 / 本机绝对路径一律走
config_schema让用户填 - [ ] 本地验证:已放进
extensions/并在客户端启用,各项功能无报错
3. 客户端内一键上传与发布流程
打开 创意工坊中心 → 发布与更新 (Publish) 标签页,只需极简的三步即可完成发布:
选择本地插件目录 ──▶ 客户端自动解析 mod.json ──▶ 选择预览图并核对标签 ──▶ 点击上传 (全新发布/增量更新)第一步:选择内容文件夹(自动解析元数据)
- 在「内容文件夹」一栏点击右侧的 「浏览...」 按钮;
- 选择你本地已开发测试完毕的插件文件夹(根目录包含
mod.json); - 客户端智能自动填充:
- 自动读取并填入插件标题(英文环境优先读取
name_en,否则读取name); - 自动提取描述文本(优先读取
description_en或description); - 自动映射官方「内容类型」标签(如
asr→ASR Engines,theme→Themes,assistant→AI Assistant等); - 自动检测
supports_glossary属性,若声明为术语友好则自动勾选 「术语友好 (Glossary-ready)」 能力标签; - 自动在工坊元数据中注入
id=<插件ID>,方便社区索引与依赖管理。
- 自动读取并填入插件标题(英文环境优先读取
第二步:配置预览图与更新说明
- 预览图:点击「预览图」右侧的 「浏览...」 按钮,选择准备好的封面海报图片(支持
.png,.jpg,.jpeg,.webp); - 核对类型与标签:检查下拉框中的「内容类型」是否匹配。如果你的插件针对专有名词或术语库做了优化,确认勾选「术语友好」;
- 更新说明 (Change Note):填写本次发布或版本更新的简要说明(例如
v1.0.0 首次发布,支持双向流式翻译)。
第三步:全新发布 vs 增量更新
根据你的发布诉求处理 「Published File ID」 字段:
A. 首次发布新物品(全新发布)
- 保持「Published File ID」一栏完全留空;
- 确认标题、描述、预览图无误后,点击 「上传到创意工坊」 按钮;
- 客户端底层将自动调用 Steamworks
ISteamUGC.create_item()创建全新的工坊物品,并自动将其与你的 Steam 账号绑定。
B. 更新已有物品(增量更新版本)
- 点击「Published File ID」右侧的「选择...」按钮;
- 客户端会弹出 「我发布的物品」 弹窗,并自动列出你账号下曾经发布的所有 TransBox 工坊条目;
- 可在搜索框中快速过滤标题或 ID,点击对应条目即可一键回填 Published File ID(亦可直接手动粘贴已有 ID);
- 填写本次修改的「更新说明」,点击 「上传到创意工坊」。Steam 会直接就地更新现有工坊物品,保留原有的订阅数、评论与点赞!
多语言自由编辑与 Steam 全语言槽同步(国际化架构)
TransBox 面向全球开发者开放,无论是中文母语、英语母语、日语母语还是其他语种的开发者,均可享受到如 Steam 网页后台般强大的多语言发布体验:
1. Steam 后台风格的语言下拉切换
在发布表单的「编辑语言」下拉菜单中,支持实时切换 简体中文、English、日本語、繁體中文、한국어、Français、Deutsch、Español、Русский 等官方标准语言:
- 已配置标记 (●):下拉列表中,凡是
mod.json中已声明或开发者已输入内容的语言项,末尾均带有醒目的●标记(例如English (英语) ●、简体中文 ●); - 独立分别编辑:切换语言后,标题与描述输入框自动展示对应语言槽的文案,开发者可分别精心润色各语种的介绍;
- 从默认语言一键复制:若尚未为某小语种撰写翻译,可点击右侧的 「从默认语言复制」 按钮快速填入基础文案。
2. 插件母语自适应与智能归槽
选择插件文件夹后,客户端智能解析引擎会自动进行语言探测:
- 英语开发者编写的纯英文
mod.json,自动归入English语言槽; - 日语开发者编写的日文
mod.json,自动归入日本語语言槽; - 中文开发者编写的插件,自动归入
简体中文语言槽; - 若声明了
name_en/name_ja或locales/*.json,自动填充到对应的多个语言槽中,并高亮指示。
3. 发布时全语言槽一次性自动同步
点击「上传到创意工坊」后:
- 客户端首先以当前主编辑语言完成文件包、预览图和标签的主提交;
- 随后底层全自动以毫秒级轻量发起增量更新,依次为所有已配置的语言槽(如英语、日语、中文等)调用 Steamworks
ISteamUGC::SetItemUpdateLanguage写入 Steam 官方对应的语言槽(不重复上传大文件包,每个语言槽耗时仅 0.2 秒); - 上传完成直观提示:
上传成功(已同步 简体中文、英语、日本語 等多语言)!
效果:无论来自哪国的玩家打开 Steam 创意工坊,都能看到以他们母语呈现的专业插件标题与介绍!作者完全无需在网页后台繁琐切换与重复操作!
4. 上传状态与 5 阶段进度指示
点击上传后,客户端会提供清晰的平滑进度条与阶段状态提示:
| 阶段 | 状态名称 | 内部权重 | 说明 |
|---|---|---|---|
| Stage 1 | 准备配置 (Prepare Config) | 0% ~ 15% | 初始化 Steam UGC 会话,锁定物品句柄与多语言配置 |
| Stage 2 | 准备内容 (Prepare Content) | 15% ~ 30% | 校验本地目录结构与数据完整性,准备文件索引 |
| Stage 3 | 上传内容 (Upload Content) | 30% ~ 85% | 将插件代码与资源增量推送到 Steam CDN 存储库 |
| Stage 4 | 上传预览图 (Upload Preview) | 85% ~ 95% | 上传并部署工坊卡片海报与缩略图 |
| Stage 5 | 提交更改 (Commit Changes) | 95% ~ 100% | 提交事务,更新工坊版本号并刷新物品状态 |
首次协议签署提示 (Legal Agreement)
如果这是你的 Steam 账号第一次在 TransBox 创意工坊发布作品,Steam 可能会要求签署《Steam 创意工坊分发协议》。 此时客户端会智能感知该状态,提示 needsLegal: true 并自动唤起 Steam 覆盖页面直达工坊协议签署界面。点击同意后即可正常向社区公开!
查看工坊物品
上传成功后,界面会显示高亮的成功状态与分配的物品 ID。作者可在浏览器或 Steam 客户端中进入物品主页,完善长图排版、添加更多游戏截图、调整公开范围(可先设为「仅好友可见」进行灰度验证,确认无误后再改为「公开」)。
5. 玩家侧订阅与即时热生效机制
TransBox 实现了无感丝滑的插件安装与自动热重载链路:
工坊中心点击「订阅」
│
▼
Steam 底层多线程下载(客户端实时显示百分比进度)
│
▼
Steam 触发 ItemInstalled 事件回调
│
▼
TransBox 自动刷新插件注册表 (无需重启软件,立即可用!)- 工坊中心一键订阅:
- 玩家在「工坊中心 → 浏览工坊」中点击任意卡片的 「订阅」 按钮;
- 客户端立即触发下载任务,并在卡片和「我的订阅」页面实时展示下载百分比与文件尺寸;
- 全自动热重载生效:
- 物品下载完毕后,系统通过底层事件回调自动捕获安装通知,并执行
refreshPlugins(); - 无需重启 TransBox!对于词库、主题或 AI 助手等插件,直接进入对应设置面板即可发现已就绪,一键开关启用。
- 物品下载完毕后,系统通过底层事件回调自动捕获安装通知,并执行
6. 自发行与本地扩展目录分发
Steam 不可用、内网离线,或用户装的是自发行版时,走本地扩展目录:
- 一键导出:设置 → 扩展工坊 → 插件卡片「导出」→ 得到
transbox_mod_<id>_v<version>.zip - 手动打包:Zip 根下直接是
mod.json(勿多包一层空文件夹) - 用户安装:扩展工坊 →「打开本地 MOD 目录」→ 解压进去 → 刷新
扫描目录、三种渠道对比、体积上限见 发布渠道 与 打包与体积上限。
Steam 工坊并未取消——Steam 渠道仍完整保留;自发行只是另一条不依赖 Steam 的产品线。 插件作者可同时提供工坊物品与 Zip。
7. 常见问题与发布排查 (FAQ)
Q: 上传时提示 Steam UGC 不可用 或 Steam 未登录?
A:TransBox 的工坊中心基于原生 Steamworks API。请确保在运行 TransBox 时,你的桌面端 Steam 客户端处于登录运行状态。
Q: 为什么更新插件后,玩家没有自动更新?
A:
- 每次更新内容时,建议同步递增
mod.json中的version字段(如1.0.1); - 在工坊中心发布页务必通过「选择...」回填正确的
Published File ID,切勿直接空白上传(空白会创建全新物品,导致原有订阅者无法收到更新); - Steam 会在后台自动为订阅者推送最新更新;玩家亦可在客户端「我的订阅」面板手动点击「刷新」或「检查更新」。
Q: 怎样为工坊物品设置支持的语言标签?
A:在 mod.json 中配置 supported_langs: ["zh", "en", "ja"]。工坊中心在解析元数据时会自动识别语言支持范围,方便多语种玩家搜索与匹配。
Q: 没有 Steam 也能装别人的插件吗?
A:可以。让作者导出 Zip,解压到 %APPDATA%/transbox/extensions/(或应用旁 extensions/),在扩展工坊点刷新即可。自发行版同样支持该路径;创意工坊订阅仅 Steam 版可用。
