Phát hành OpenClaw macOS (Sparkle)
This app now ships Sparkle auto-updates. Các bản build phát hành phải được ký Developer ID, nén zip và phát hành kèm một mục appcast đã ký.Điều kiện tiên quyết
- Đã cài đặt chứng chỉ Developer ID Application (ví dụ:
Developer ID Application: <Developer Name> (<TEAMID>)). - Đường dẫn khóa riêng Sparkle được đặt trong môi trường dưới dạng
SPARKLE_PRIVATE_KEY_FILE(đường dẫn tới khóa riêng ed25519 của Sparkle; khóa công khai được nhúng trong Info.plist). Mặc định theo kiến trúc hiện tại ($(uname -m)). - Thông tin xác thực Notary (hồ sơ keychain hoặc khóa API) cho
xcrun notarytoolnếu bạn muốn phân phối DMG/zip an toàn với Gatekeeper.- Chúng tôi dùng một hồ sơ Keychain tên
openclaw-notary, được tạo từ các biến môi trường khóa API App Store Connect trong shell profile của bạn:APP_STORE_CONNECT_API_KEY_P8,APP_STORE_CONNECT_KEY_ID,APP_STORE_CONNECT_ISSUER_IDecho "$APP_STORE_CONNECT_API_KEY_P8" | sed 's/\\n/\n/g' > /tmp/openclaw-notary.p8xcrun notarytool store-credentials "openclaw-notary" --key /tmp/openclaw-notary.p8 --key-id "$APP_STORE_CONNECT_KEY_ID" --issuer "$APP_STORE_CONNECT_ISSUER_ID"
- Chúng tôi dùng một hồ sơ Keychain tên
- Đã cài các phụ thuộc
pnpm(pnpm install --config.node-linker=hoisted). - Công cụ Sparkle được tải tự động qua SwiftPM tại
apps/macos/.build/artifacts/sparkle/Sparkle/bin/(sign_update,generate_appcast, v.v.).
Build & đóng gói
Ghi chú:APP_BUILDánh xạ tớiCFBundleVersion/sparkle:version; hãy giữ dạng số và tăng dần (không có-beta), nếu không Sparkle sẽ so sánh là bằng nhau.- Mặc định theo kiến trúc hiện tại (
$(uname -m)). Đối với các bản build release/universal, đặtBUILD_ARCHS="arm64 x86_64"(hoặcBUILD_ARCHS=all). - Sử dụng
scripts/package-mac-app.shcho đóng gói local/dev. Sử dụngscripts/package-mac-app.shđể đóng gói cục bộ/dev.
Mục appcast
Dùng trình tạo ghi chú phát hành để Sparkle hiển thị ghi chú HTML được định dạng:CHANGELOG.md (thông qua scripts/changelog-to-html.sh) và nhúng chúng vào mục appcast.
Luồng này cho phép ứng dụng macOS hoạt động như một điều khiển từ xa đầy đủ cho một gateway OpenClaw chạy trên host khác (desktop/server).
Xuất bản & xác minh
- Upload
OpenClaw-2026.2.9.zip(andOpenClaw-2026.2.9.dSYM.zip) to the GitHub release for tagv2026.2.9. - Đảm bảo URL appcast raw khớp với feed đã nhúng:
https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml. - Kiểm tra nhanh:
curl -I https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xmltrả về 200.curl -I <enclosure url>trả về 200 sau khi tải lên tài sản.- Trên một bản public trước đó, chạy “Check for Updates…” từ thẻ About và xác minh Sparkle cài đặt bản build mới sạch sẽ.