# AGC 游戏模板库 - 用途:AGC 客户端读取的**游戏模板库**,正文是可直接解压到项目根的 zip(zip 根 == AGC 项目根,例如 `game/index.html`)。 - 位置:bucket `agc-dev`(endpoint `oss-rg-china-mainland.aliyuncs.com`)的 `templates/` 前缀,随 bucket 公共读。客户端只读 `templates/index.json`(schema `agc-template-library.v1`)。 - 目录结构:`templates/index.json` + `templates/v1//sha256/<内容摘要>/{template.zip,template.json,cover.*}`;条目元数据含 `tags`、封面键与尺寸/摘要、包大小与 SHA-256、`templateVersion`。所有正文按自身字节摘要寻址,重复发布复用同一对象。 - 封面支持 `png / jpg / webp / svg`。 - 客户端只信任「受信任 OSS 主机 + 对象键」,清单里的地址字段不参与请求;下载后强校验包大小与 SHA-256,安装完成的唯一判据是模板目录里的 `installed.json`。 - 这份文件就是线上 `templates/README.md` 的源:内容随每次发布覆盖写,所以改契约要改这里,不要只改线上对象。 - 契约与验收以仓库文档 `docs/technical/【技术方案】AGC模板库与模板建项-2026-09-17.md` 为准;模板源在 `apps/ai-game-creator-shell/template-library/`,发布用 `node scripts/agc-template-library-publish.mjs --source apps/ai-game-creator-shell/template-library [--dry-run] [--only ]`(脚本现场打包 zip、按内容地址上传、逐个回读校验、持锁提交清单)。 - 准备新模板(ZIP 里放什么、不能放什么、封面与元数据约束、发布前自检)先读 `docs/【模板规范】AGC模板包组织指南-2026-09-21.md`。 - 同一个 `templateVersion` 的 ZIP 字节发生变化时发布会失败关闭,必须递增该模板的 `templateVersion`;发布不删除历史对象,历史版本仍可按旧键下载。