Компаньон-приложение для macOS

Настройка разработки для macOS

В этом руководстве описаны необходимые шаги для сборки и запуска приложения OpenClaw для macOS из исходного кода.

Предварительные требования

Перед сборкой приложения убедитесь, что у вас установлено следующее:

  1. Xcode 26.2+: Требуется для разработки на Swift.
  2. Node.js 22+ & pnpm: Требуются для шлюза, 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 для управления фоновыми задачами. Чтобы установить его (рекомендуется):

  1. Откройте приложение OpenClaw.
  2. Перейдите на вкладку настроек General.
  3. Нажмите “Install CLI”.

В качестве альтернативы установите его вручную:

npm install -g openclaw@<version>

Устранение неполадок

Сборка не удаётся: несоответствие инструментария или SDK

Сборка приложения для macOS ожидает последний macOS SDK и инструментарий Swift 6.2. Системные зависимости (обязательные):

  • Последняя доступная версия macOS в Обновлении ПО (требуется для SDK Xcode 26.2)
  • Xcode 26.2 (инструментарий Swift 6.2)

Проверки:

xcodebuild -version
xcrun swift --version

Если версии не совпадают, обновите macOS/Xcode и перезапустите сборку.

Приложение падает при выдаче разрешения

Если приложение падает при попытке разрешить доступ к Распознаванию речи или Микрофону, это может быть связано с повреждённым кэшем TCC или несоответствием подписи. Исправление:

  1. Сбросьте разрешения TCC:

    Копировать

    tccutil reset All ai.openclaw.mac.debug
    
  2. Если это не помогло, временно измените BUNDLE_ID в файле scripts/package-mac-app.sh, чтобы заставить macOS создать «чистый» профиль.

Шлюз в статусе “Starting…” бесконечно

Если статус шлюза остаётся на “Starting…”, проверьте, не занимает ли порт «зомби»-процесс:

openclaw gateway status
openclaw gateway stop

# Если вы не используете LaunchAgent (режим разработки / ручной запуск), найдите слушатель:
lsof -nP -iTCP:18789 -sTCP:LISTEN

Если порт занят процессом ручного запуска, остановите этот процесс (Ctrl+C). В крайнем случае, завершите найденный выше PID.

Raspberry PiMenu Bar