## 诊断流程样例:Edge 扩展上架前检查 ### 输入 - 扩展包:`dist/edge/my-extension-1.6.2.3.zip` - Store 素材:`store/edge/` - 仓库根目录:`.` - 发布版本:`1.6.2.3` ### 命令 ```bash python scripts/edge_release_preflight.py \ --zip dist/edge/my-extension-1.6.2.3.zip \ --store-assets store/edge \ --repo . \ --release-version 1.6.2.3 ``` ### 核心检查 | 检查项 | 输入来源 | 成功信号 | 失败信号 | | --- | --- | --- | --- | | Secret 扫描 | zip 解压内容、manifest、配置文件 | 未命中 OpenRouter key / 本机 env / 硬编码 token | 输出命中文件与字段,要求改成用户自己的 key 配置 | | 品牌/IP 扫描 | icon、SVG、store 文案、README 片段 | 独立品牌名和自有图标 | 命中 Obsidian logo、官方 Web Clipper 名称或官方营销文案 | | Store listing 完整性 | `store/edge` 的 locale、截图、说明 | 只保留已完成语言,截图和认证说明完整 | 多语言 listing 未完成、缺截图、缺认证说明 | | 发布授权 | `gh auth status`、tag、release 草稿 | token scope 足够,tag/release 可创建 | GitHub CLI 缺 workflow/release 权限,需要单独授权或手动上传 | ### 输出 - `out/release-preflight/1.6.2.3/report.md` - `out/release-preflight/1.6.2.3/report.json` ### 判定 通过时输出:`READY_FOR_PARTNER_CENTER_UPLOAD`。 失败时输出:`BLOCKED_PRE_RELEASE`,并按阻塞级别列出必须先处理的问题,例如: 1. `HIGH`: zip 中发现疑似 OpenRouter key。 2. `HIGH`: store icon 仍包含官方 Obsidian logo。 3. `MEDIUM`: `zh-TW` listing 未完成,建议补齐或删除该语言。 4. `LOW`: GitHub release token 缺 scope,不阻塞 Edge 上传,但阻塞自动 release。