apps/<id>.json。App 源码保存在自己的仓库,索引记录仓库、提交、目录和包的校验值。
现有提交流程是向索引仓提 PR,官方逐版审阅代码并决定合并。客户端从下载站取已登记的包;发布依据是源码提交,不要求采用 GitHub Release 附件。
准备一版
发布前完成以下检查:- App 可安装并完成主要工作,错误与权限拒绝可见。
- manifest 的 id、version 与登记版本一致;写好
engines.gugu和实际需要的apiVersion。 - 源码放在公开 GitHub 仓,选定的完整 40 位提交必须在该仓默认分支历史中。
- 包含
CHANGELOG.md,有## 1.0.0这样的本版标题和非空说明。 - 建议包含用途、操作、权限和数据说明的 README,标明源码和依赖许可证。
- 如有图标,使用 PNG,最多 32 KiB、宽高最多 512px;README 中的包内截图每张最多 1 MiB。
- 包不超过 25 MiB、2000 个文件,不含符号链接。把构建后的文件提交到登记目录;发布脚本打包该目录,不替作者运行构建。
生成登记
Fork 并克隆索引仓,在自己的工作分支执行。将示例中的仓库、完整提交和目录换成已发布到默认分支的真实值。.。脚本按指定提交取源码,打包并计算 sha256、字节数,追加 apps/<id>.json。不要手填猜测的校验值。
登记结构如下,尖括号处由真实值替换:
CI 和人工审阅
verify.mjs 会检查登记格式、旧版本不可变、新版本重新打包后的 sha256 和字节数、清单身份和版本、最低客户端要求、更新说明与媒体限制。仓库有自身测试;放在sources/ 下且声明测试脚本的 App 也按仓库流程运行测试。
官方审阅后合并到 main,同步流程把包、说明和图片发布到下载站,最后更新 market/index.json。客户端安装前再次比对 sha256。包和版本资料写入后不覆盖,同版本修改必须发新版本。
目前没有独立公开的审核评分表、处理时限或申诉流程。CI 通过不代表自动上架;以 PR 中的官方审阅结果为准。现有政策边界见开发者政策。
哪些 App 会出现
普通第三方 App 不预装,也不能借 firstRun 静默安装。firstRun App 安装后仍可停用、卸载;老用户不追装,卸载后不自动装回。唯一随产品预装的是群文件夹。
这些规则来自索引仓 README、add-version.mjs 和 verify,更新提交流程前应重新核对。