发布与更新
SDK 的 check 只在你电脑上跑门禁;真正上架 Steam、让订阅者下载,必须在 ECHO 创作台里单独确认。索引 → 创意工坊 SDK。
init / check / dev / watch 以及 GitHub Actions 里的 validate 都不会把内容推到 Steam。谁让你把 Steam 密码、Guard 或 Cookie 填进 SDK 或插件设置里,停下来。
作者 vs 订阅者
Section titled “作者 vs 订阅者”| 角色 | 你要做什么 | 看哪篇 |
|---|---|---|
| 作者 | 本地写包 → check 全绿 → 创作台发布 | 本页 + 索引 |
| 订阅者 | Steam 订阅 → ECHO 里点「使用」 | Steam 创意工坊 |
订阅者不需要安装 Node 或 SDK。作者不需要替用户点「使用」——发布后他们按用户文档操作即可。
发布前本地清单
Section titled “发布前本地清单”npm run check— blocker 为 0,fixture 全过(warning 自行判断能否接受)。preview.png— 256×256,JPG/PNG/GIF,≤ 1 MB,不是占位图。echo.workshop.project.json—description建议 ≥ 80 字;tags1–8 个且符合该内容类型的 Steam 标签。content/echo.workshop.json—version递增;compatibility.minEchoVersion不高于你实测过的最旧 ECHO。- 插件:权限与
networkHosts和用户将看到的授权框一致。 - 项目根
README.md— 写清内容是什么、数据从哪来、有没有直链/联网。
打印 SDK 内置 checklist:
node .\bin\echo-workshop-sdk.mjs guide checklist在 ECHO 里发布(创作台)
Section titled “在 ECHO 里发布(创作台)”- 从 Steam 启动 ECHO,保持在线(与 Steam 版 要求相同)。
- 打开左侧 创意工坊 → 创作(普通听歌用户可不进此页)。
- 关联或导入本地项目 — 指向你
check过的文件夹(含echo.workshop.project.json)。 - 走 ECHO 内置校验(会比 JSON Schema 更严:跨文件、哈希、大小、运行时策略等)。
- 校验通过后,在创作台里确认 发布 / 更新(具体按钮以当前 ECHO 界面为准)。
- 首次公开后,在 Steam 创意工坊页确认条目可见;把链接发给测试账号。
创作台通常支持 导入本地包 或关联目录做作者自测(见 Steam 创意工坊「按钮对照」)。建议先用小号或 visibility: private 测「订阅 → 下载 → 使用 → 停用」,再改公开。
公开 SDK 起步包 ID
Section titled “公开 SDK 起步包 ID”官方 SDK 在 Steam 上的公开项 ID 固定为 3784997717。
- 更新 SDK 发行版时继续用同一 PublishedFileID,不要为每个 SDK 小版本新建工坊项。
- 你自己做的主题/插件用
echo.你的项目名这类 id,与 SDK 起步包无关。
更新已发布条目
Section titled “更新已发布条目”- 本地改内容 →
npm run check全绿。 - 递增
content/echo.workshop.json的version(语义化版本字符串)。 - 在
echo.workshop.project.json填写changeNote(更新说明,订阅者可见)。 - 创作台里对该条目执行 更新并发布(不要新建一条重复 id 的项)。
- 通知测试账号:Steam 下载完成后,在 ECHO 已装 里点「更新并继续使用」或「同步已安装版本」。
用户侧更新卡住 → Steam 创意工坊 · 更新与停用。
本地 check 过了,创作台仍失败?
Section titled “本地 check 过了,创作台仍失败?”常见原因:
| 情况 | 说明 |
|---|---|
| 生产校验更严 | ECHO 会查 JSON Schema 表达不了的跨文件、运行时策略、包体策略 |
| Steam 客户端未就绪 | 未从 Steam 启动、离线、下载队列暂停 |
| 项目 id / 文件与已发布项不一致 | 更新时应沿用同一 Workshop id,不要换目录又换 id |
| minEchoVersion 过高 | 你声明的最低版本高于测试机上的 ECHO |
| 插件 apiVersion 不一致 | 内外层 pluginApiVersion 必须完全一致 |
把创作台错误原文、项目 id、ECHO 版本号保留下来排查;向 SDK 仓库提 issue 时不要附 Steam 密码或本机绝对路径。
升级项目里的便携 SDK
Section titled “升级项目里的便携 SDK”SDK 包版本更新后,老项目可刷新 .echo-sdk 副本而不动你的内容:
node .\bin\echo-workshop-sdk.mjs upgrade .npm run check大版本迁移策略见 SDK 仓库 MIGRATING.md。不要只看 npm 包版本就改 schemaVersion / pluginApiVersion——以 echo-workshop-sdk.json 和支持列表为准。