Настройка разработчика 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 подпись (-).
Для режимов запуска разработки, флагов подписи и устранения неполадок с 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.
- Перейдите на вкладку настроек Общие.
- Нажмите "Установить CLI".
Альтернативно, установите вручную:
npm install -g openclaw@<version>
Устранение неполадок
Сборка не удается: несоответствие Toolchain или SDK
Сборка приложения macOS требует последнюю macOS SDK и Swift 6.2 toolchain.
Системные зависимости (обязательно):
- Последняя версия macOS, доступная в Обновлении ПО (требуется для Xcode 26.2 SDK)
- Xcode 26.2 (Swift 6.2 toolchain)
Проверки:
xcodebuild -version
xcrun swift --version
Если версии не совпадают, обновите macOS/Xcode и повторите сборку.
Приложение аварийно завершается при предоставлении разрешения
Если приложение аварийно завершается, когда вы пытаетесь разрешить доступ к Распознаванию речи или Микрофону, это может быть связано с поврежденным кэшем TCC или несоответствием подписи.
Исправление:
- Сбросьте разрешения TCC:
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
# Если вы не используете LaunchAgent (режим разработки / ручные запуски), найдите слушателя:
lsof -nP -iTCP:18789 -sTCP:LISTEN
Если ручной запуск удерживает порт, остановите этот процесс (Ctrl+C). В крайнем случае завершите PID, который вы нашли выше.