UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

53 lines (38 loc) 2.59 kB
--- summary: "How OpenClaw vendors Apple device model identifiers for friendly names in the macOS app." read_when: - Updating device model identifier mappings or NOTICE/license files - Changing how Instances UI displays device names title: "Device model database" --- The macOS companion app's **Instances** UI maps Apple model identifiers to friendly names (`iPad16,6` -> "iPad Pro 13-inch (M4)", `Mac16,6` -> "MacBook Pro (14-inch, 2024)"). `DeviceModelCatalog` also uses the identifier prefix (falling back to device family) to pick an SF Symbol per device. Files in `apps/macos/Sources/OpenClaw/Resources/DeviceModels/`: | File | Purpose | | -------------------------------------- | ------------------------------------- | | `ios-device-identifiers.json` | iOS/iPadOS identifier -> name mapping | | `mac-device-identifiers.json` | Mac identifier -> name mapping | | `NOTICE.md` | Pinned upstream commit SHAs | | `LICENSE.apple-device-identifiers.txt` | Upstream MIT license | ## Data source Vendored from the MIT-licensed `kyle-seongwoo-jun/apple-device-identifiers` GitHub repository. JSON files are pinned to commit SHAs recorded in `NOTICE.md` to keep builds deterministic. ## Updating the database 1. Pick the upstream commit SHAs to pin to (one for iOS, one for macOS). 2. Update `apps/macos/Sources/OpenClaw/Resources/DeviceModels/NOTICE.md` with the new SHAs. 3. Re-download the JSON files pinned to those commits: ```bash IOS_COMMIT="<commit sha for ios-device-identifiers.json>" MAC_COMMIT="<commit sha for mac-device-identifiers.json>" curl -fsSL "https://raw.githubusercontent.com/kyle-seongwoo-jun/apple-device-identifiers/${IOS_COMMIT}/ios-device-identifiers.json" \ -o apps/macos/Sources/OpenClaw/Resources/DeviceModels/ios-device-identifiers.json curl -fsSL "https://raw.githubusercontent.com/kyle-seongwoo-jun/apple-device-identifiers/${MAC_COMMIT}/mac-device-identifiers.json" \ -o apps/macos/Sources/OpenClaw/Resources/DeviceModels/mac-device-identifiers.json ``` 4. Confirm `LICENSE.apple-device-identifiers.txt` still matches upstream; replace it if the upstream license changed. 5. With workspace dependencies installed, run the following from the repository root to prepare the shared chat assets and verify the macOS app builds: ```bash node scripts/prepare-apple-mermaid.mjs swift build --package-path apps/macos ``` ## Related - [Nodes](/nodes) - [Node troubleshooting](/nodes/troubleshooting)