个人 macOS 验证包
复用项目打包入口,核实本次产物及请求的签名公证状态。
- 版本
- v1.1.0
- 更新
- 内容复核
- 2026-10-06
- 使用条件
- macOS、个人签名配置、项目打包入口、Python 3.10+
验证范围:24项离线脚本回归、12项技能库边界测试;真实设备/签名/公证/上传尚未执行。 完整公开包已复核脱敏;真实业务操作仍待对应环境验收。
交给你的 Agent
临时使用:复制提示词,再补充你的具体任务。长期复用:下载下面的完整技能包。
安装到自己的 Agent
解压后保留整个 pack-mac-personal 文件夹,包括 scripts、references 等配套文件。先阅读内容、核实依赖,再放进所用 Agent 的技能目录;Codex 常用 ~/.codex/skills/,Claude Code 常用 ~/.claude/skills/,已有配置优先。同名技能先比较并备份到加载目录外。
包内 skill.json 记录版本和验证范围。在解压的技能文件夹中运行 shasum -a 256 -c SHA256SUMS(macOS),或 sha256sum -c SHA256SUMS(Linux),核对文件完整性。查看说明不需要网站源码。
正式 CI 构建发布仍由项目自己的 workflow 执行。此入口复用项目打包脚本,在本机验证当前代码;记录当前分支、来源 SHA、未提交改动与本次验收范围。用户已有本地验包规则时按其要求执行。
运行#
签名配置使用 MACOS_SIGNING_HOME,默认 ~/.config/macos-signing/config.env。只读取私有配置,不输出、复制或提交签名材料。配置字段见 签名配置模板;先在自己的 Keychain 安装 Developer ID 身份。需要 Python 3.10+,并从项目根目录执行。
"<本技能目录>/scripts/pack.sh"
"<本技能目录>/scripts/pack.sh" --notarize
默认选择 scripts/package_app.sh 或 script/build_and_run.sh,可用 PACK_SCRIPT 指定项目现有可执行入口。PACK_OUTPUT_DIR 默认 dist,产物需位于该目录顶层;其它布局使用项目适配,不重新造一套构建。
脚本记录打包前状态,只验证本次新增/变化的 app、DMG;无本次产物、签名失败、身份/Team 不符即失败。DMG 会只读挂载并核对内含 app,默认支持顶层单 app 布局。
--notarize 会把 NOTARIZE=1 和已配置的 Apple API 参数交给项目脚本,再核对 ticket 和适用 Gatekeeper 结果。多个 .p8 时必须明确 APPLE_API_KEY_PATH,不默认挑第一把。公证由项目脚本实际执行,环境变量本身不是公证证据。
未请求公证时写明“签名已核实,公证未请求”,不承诺其它电脑一定能打开。请求对外分发时,核实实际 CI/项目产物的签名、公证、staple 和安装结果;不推断所有 CI 包都经过公证。
回执保存于 dist/skill-package-receipt.json,可用 PACK_RECEIPT_PATH 指定。记录本次来源、产物、身份和验证状态;绑定版本/build 与实际验收用例。代码再变后重新出包。
本版完成空产物、旧产物、签名与公证评估失败的模拟回归;未调用真实签名、公证或构建。
5 个内容文件 · 包内另附版本说明与校验清单
- SKILL.md
236dafe7ad5cd72bf97fa92a4850dc7740c74da912f4dfde1ce6d25d60e79663 - agents/openai.yaml
d47733b4e7c1228609d5a546ddacf50ca6eceaa03867ffba799e7e98c76f206c - references/signing-config.env.example
8f59004a066ff33fd56ff16f94852ba98ebb66bdeea2221a925dded7afae4059 - scripts/pack.sh
23b1d8cc461d1f919968377031f872c0a5f2a15c1a8f1989db2511f339bd0d53 - scripts/verify_artifacts.py
0b8735524f58890d24676c0c7e74044397ec0065c9cfd2297c6d6d77c4602a51