Настройка разработки для macOS¶
Это руководство описывает необходимые шаги для сборки и запуска приложения OpenClaw для macOS из исходного кода.
Предварительные требования¶
Перед сборкой приложения убедитесь, что у вас установлено следующее:
- Xcode 26.2+: требуется для разработки на Swift.
- Node.js 22+ и pnpm: требуются для Gateway (шлюза), CLI и скриптов упаковки.
1) Установка зависимостей¶
Установите зависимости, общие для всего проекта:
pnpm install
2. Сборка и упаковка приложения¶
Чтобы собрать приложение для macOS и упаковать его в dist/OpenClaw.app, выполните:
./scripts/package-mac-app.sh
Если у вас нет сертификата Apple Developer ID, скрипт автоматически использует ad-hoc signing (-).
Сведения о режимах запуска для разработки, флагах подписи и устранении проблем с Team ID см. в README приложения для macOS: https://github.com/openclaw/openclaw/blob/main/apps/macos/README.md
Примечание: Приложения с ad-hoc подписью могут вызывать запросы безопасности. Если приложение сразу аварийно завершается с сообщением «Abort trap 6», см. раздел Устранение неполадок.
3. Установка CLI¶
Приложение для macOS ожидает глобальную установку CLI openclaw для управления фоновыми задачами.
Чтобы установить его (рекомендуется):
- Откройте приложение OpenClaw.
- Перейдите на вкладку настроек General.
- Нажмите «Install CLI».
Либо установите его вручную:
npm install -g openclaw@<version>
Устранение неполадок¶
Сбой сборки: несоответствие toolchain или SDK¶
Сборка приложения для macOS ожидает наличие последнего SDK macOS и toolchain Swift 6.2.
Системные зависимости (обязательно):
- Последняя версия macOS, доступная в Software Update (требуется SDK Xcode 26.2)
- Xcode 26.2 (toolchain Swift 6.2)
Проверки:
xcodebuild -version
xcrun swift --version
Если версии не совпадают, обновите macOS/Xcode и повторно запустите сборку.
Приложение аварийно завершается при предоставлении разрешений¶
Если приложение падает при попытке разрешить доступ к Speech Recognition или Microphone, причиной может быть повреждённый кэш TCC или несоответствие подписи.
Исправление:
- Сбросьте разрешения TCC:
bash
tccutil reset All bot.molt.mac.debug
- Если это не помогло, временно измените
BUNDLE_IDвscripts/package-mac-app.sh, чтобы принудительно создать для macOS «чистый лист».
Gateway (шлюз) бесконечно находится в состоянии «Starting...»¶
Если статус Gateway (шлюза) остаётся «Starting...», проверьте, не удерживает ли порт зомби-процесс:
openclaw gateway status
openclaw gateway stop
# If you’re not using a LaunchAgent (dev mode / manual runs), find the listener:
lsof -nP -iTCP:18789 -sTCP:LISTEN
Если порт удерживается при ручном запуске, остановите этот процесс (Ctrl+C). В крайнем случае завершите PID, найденный выше.