Files
openclaw/docs/reference/device-models.md
T
Tabula Myriad a9ae1a6778 feat: Triad development iteration complete
Matrix Protocol:
- docker-compose.matrix.yml: Dendrite homeserver + PostgreSQL + Nginx TLS
- src/channels/plugins/matrix-channel.ts: OpenClaw plugin implementation
- docs/matrix-triad-setup.md: Setup guide with auth scheme (@tm1-4:triad.local)

MCP Server Integration:
- docs/mcp-triad-integration.md: SearXNG, Playwright, GitHub MCP configs
- docs/mcp-curiosity-mapping.md: Gap-to-capability mapping

Node Sync Architecture:
- src/services/node-sync-service.ts: WebSocket peer sync + presence detection
- src/services/node-sync-service.test.ts: Unit tests
- docs/node-sync-architecture.md: Architecture docs

Triad Resilience:
- scripts/triad-corruption-check.mjs: SQLite + log + config + git integrity
- docs/triad-resilience.md: Recovery procedures
- .secure/deployment-logs/README.md: Schema v2
- skills/triad-heartbeat/SKILL.md: Corruption check integration

NPM Publish Workflow:
- scripts/npm-publish.mjs: version, changelog, validate, publish, rollback
- .github/workflows/npm-publish.yml: GitHub Actions with provenance
- docs/npm-publish-guide.md: Complete documentation

All deliverables tested in Docker before production.
2026-03-24 00:44:50 -04:00

1.9 KiB
Executable File

summary, read_when, title
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