CCX Desktop Store MSIX 下载与发布公告技能
适用场景
当用户在 GitHub Release 发布完成后,需要下载 Store MSIX 包、校验完整性、生成 Store 更新说明时使用本技能。典型输入:
- "release 后下载两个 msix"
- "帮我准备 Store 的 msix 和更新说明"
- "下载 store msix 并生成发布内容"
- "跑一下 desktop store update"
执行流程
1. 下载 MSIX 并校验
python3 .claude/skills/store-update/scripts/download_store_msix.py --download-dir ./store-msix
脚本会:
- 通过 GitHub API 读取最新 release 信息。
- 从 Release body 生成 Store listing
releaseNotes纯文本预览。 - 用
gh release download下载两个 MSIX(amd64 / arm64)和对应.sha256到指定目录(gh会自动走已登录的 auth,绕过代理)。 - 校验架构集合必须为
amd64+arm64。 - 校验 sha256(如果 release 中存在
.sha256)。 - 输出下载结果摘要、文件路径和手动操作指引。
2. 打开下载目录
下载并校验完成后,用系统命令打开下载目录,便于用户直接拖拽上传:
open ./store-msix
3. 输出手动操作指引
下载完成后,向用户输出以下信息:
- 两个 MSIX 文件的本地路径。
- SHA256 校验结果。
- 从 Release body 生成的 Store 更新说明预览。
- 手动操作指引:
- 打开 Partner Center
- 进入 CCX Desktop → Product release → 点击「Packages」行上传两个 MSIX
- 点击「Store listings」行 → 选择语言 → 在「What's new in this version」粘贴更新说明
- 返回后点击「Submit for certification」
默认产物匹配
当前 release workflow 生成两个 Store MSIX:
CCX-Desktop-${VERSION}-windows-amd64-store.msixCCX-Desktop-${VERSION}-windows-arm64-store.msix
脚本要求最新 GitHub Release 中恰好匹配 amd64 与 arm64 两个 .msix,并优先读取同名 .sha256 进行校验。
常用参数
python3 .claude/skills/store-update/scripts/download_store_msix.py --help
常用选项:
--tag <tag>:指定 release tag,不使用 latest。--allow-prerelease:允许 prerelease Release,默认拒绝。--repo owner/name:指定 GitHub 仓库。--download-dir <dir>:保留下载文件,便于手动上传。默认使用临时目录。--store-release-notes "...":手动覆盖 Store listing 更新内容。--release-notes-file <file>:从本地文件读取 Store listing 更新内容。--no-release-notes:不生成 Store listing releaseNotes 预览。--release-notes-max-chars 1000:Store 更新内容最大长度,默认 1000。--truncate-release-notes:超过长度时显式截断;默认超过长度会失败,避免静默丢内容。
输出要求
完成后输出中文摘要,至少包含:
- GitHub release tag 和 URL。
- Store 更新内容来源、长度和预览。
- 两个 MSIX 文件名、架构、本地路径和 sha256 校验状态。
- 手动上传指引(Partner Center 入口和操作步骤)。
- 如果失败,保留错误摘要。