Store Apple notarization IDs in the macOS Keychain and notarize/staple OpenWork DMGs locally.
A small helper skill for the OpenWork macOS release flow.
It stores the App Store Connect Issuer ID, API Key ID, and .p8 path in the macOS Keychain so you don’t have to keep hunting them.
Keychain locations used by OpenWork release skills:
com.differentai.openwork.notaryissuer-idkey-idkey-pathThese are used to sign updater artifacts (required for in-app updates).
com.differentai.openwork.updaterupdater-private-keyupdater-public-keysecurity add-generic-password -a issuer-id -s com.differentai.openwork.notary -w "<ISSUER_UUID>" -U
security add-generic-password -a key-id -s com.differentai.openwork.notary -w "<KEY_ID>" -U
security add-generic-password -a key-path -s com.differentai.openwork.notary -w "/path/to/AuthKey_<KEY_ID>.p8" -U
security find-generic-password -a issuer-id -s com.differentai.openwork.notary -w
security find-generic-password -a key-id -s com.differentai.openwork.notary -w
security find-generic-password -a key-path -s com.differentai.openwork.notary -w
APPLE_SIGNING_IDENTITY='Developer ID Application: Different AI inc. (F5DJWB4CCV)' \
pnpm -C vendor/openwork exec tauri build --bundles dmg
bun .opencode/skill/openwork-notary/first-call.ts
DMG_PATH="vendor/openwork/src-tauri/target/release/bundle/dmg/OpenWork_0.1.2_aarch64.dmg"
xcrun stapler staple "$DMG_PATH"
spctl --assess --type open --verbose=4 "$DMG_PATH"
The OpenWork release workflow expects a GitHub Actions secret:
TAURI_SIGNING_PRIVATE_KEYTo populate it from Keychain:
security find-generic-password -a updater-private-key -s com.differentai.openwork.updater -w
Then paste that value into the repo secret TAURI_SIGNING_PRIVATE_KEY.
Notes:
pubkey in vendor/openwork/src-tauri/tauri.conf.json to match.spctl saying Unnotarized Developer ID means signing is fine but notarization is missing.codesign ... code has no resources but signature indicates they must be present usually means the .app bundle got signed incorrectly (or was modified after signing).npx skills add benjaminshafii/openwork-notary下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer