Життєвий цикл Gateway на macOS
Застосунок macOS керує Gateway через launchd за замовчуванням і не запускає Gateway як дочірній процес. Спочатку він намагається під’єднатися до вже запущеного Gateway на налаштованому порту; якщо жоден недоступний, він вмикає сервіс launchd через зовнішній CLIopenclaw (без вбудованого runtime). Це забезпечує
надійний автозапуск при вході в систему та перезапуск після збоїв.
Режим дочірнього процесу (коли Gateway запускається безпосередньо застосунком) сьогодні не використовується.
Якщо вам потрібні тісніший зв’язок з UI, запускайте Gateway вручну в терміналі.
Поведінка за замовчуванням (launchd)
- Застосунок установлює LaunchAgent для кожного користувача з міткою
ai.openclaw.gateway(абоai.openclaw.<profile>при використанні--profile/OPENCLAW_PROFILE; застарілийcom.openclaw.*підтримується). - Коли увімкнено Local mode, застосунок гарантує, що LaunchAgent завантажено, і запускає Gateway за потреби.
- Логи записуються в шлях до журналу launchd gateway (видимий у Debug Settings).
ai.openclaw.<profile>, якщо використовуєте іменований profile.
Непідписані dev-збірки
scripts/restart-mac.sh --no-sign призначений для швидких локальних збірок, коли у вас немає
ключів підпису. Щоб launchd не вказував на непідписаний relay binary, він:
- Записує
~/.openclaw/disable-launchagent.
scripts/restart-mac.sh очищають це перевизначення, якщо marker
присутній. Для ручного скидання:
Режим лише під’єднання
Щоб змусити застосунок macOS ніколи не встановлювати й не керувати launchd, запускайте його з--attach-only (або --no-launchd). Це встановлює ~/.openclaw/disable-launchagent,
тому застосунок лише під’єднується до вже запущеного Gateway. Таку саму
поведінку можна перемикати в Debug Settings.
Remote mode
Remote mode ніколи не запускає локальний Gateway. Застосунок використовує SSH tunnel до віддаленого хоста й підключається через цей tunnel.Чому ми віддаємо перевагу launchd
- Автозапуск під час входу в систему.
- Вбудована семантика перезапуску/KeepAlive.
- Передбачувані логи й нагляд.