oclaw/openclaw/docs/reference/device-models.md
oliver dbbe3add6a 重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。

Made-with: Cursor
2026-04-26 08:34:33 +08:00

1.9 KiB

summary read_when title
How OpenClaw vendors Apple device model identifiers for friendly names in the macOS app.
Updating device model identifier mappings or NOTICE/license files
Changing how Instances UI displays device names
Device Model Database

Device model database (friendly names)

The macOS companion app shows friendly Apple device model names in the Instances UI by mapping Apple model identifiers (e.g. iPad16,6, Mac16,6) to human-readable names.

The mapping is vendored as JSON under:

  • apps/macos/Sources/OpenClaw/Resources/DeviceModels/

Data source

We currently vendor the mapping from the MIT-licensed repository:

  • kyle-seongwoo-jun/apple-device-identifiers

To keep builds deterministic, the JSON files are pinned to specific upstream commits (recorded in apps/macos/Sources/OpenClaw/Resources/DeviceModels/NOTICE.md).

Updating the database

  1. Pick the upstream commits you want to pin to (one for iOS, one for macOS).
  2. Update the commit hashes in apps/macos/Sources/OpenClaw/Resources/DeviceModels/NOTICE.md.
  3. Re-download the JSON files, pinned to those commits:
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
  1. Ensure apps/macos/Sources/OpenClaw/Resources/DeviceModels/LICENSE.apple-device-identifiers.txt still matches upstream (replace it if the upstream license changes).
  2. Verify the macOS app builds cleanly (no warnings):
swift build --package-path apps/macos