macOS companion app
Життєвий цикл Gateway на macOS
Застосунок macOS керує Gateway через launchd за замовчуванням і не запускає
Gateway як дочірній процес. Спершу він намагається під’єднатися до вже запущеного
Gateway на налаштованому порту; якщо жоден недоступний, він вмикає службу launchd
через зовнішній openclaw CLI (без вбудованого середовища виконання). Це дає вам
надійний автозапуск під час входу в систему та перезапуск у разі збоїв.
Режим дочірнього процесу (Gateway запускається безпосередньо застосунком) сьогодні не використовується. Якщо вам потрібніший тісніший зв’язок з інтерфейсом, запускайте Gateway вручну в терміналі.
Типова поведінка (launchd)
- Застосунок встановлює LaunchAgent для кожного користувача з міткою
ai.openclaw.gateway(абоai.openclaw.<profile>під час використання--profile/OPENCLAW_PROFILE; застарілийcom.openclaw.*підтримується). - Коли локальний режим увімкнено, застосунок гарантує, що LaunchAgent завантажений, і запускає Gateway за потреби.
- Журнали записуються до шляху журналу gateway launchd (видно в налаштуваннях налагодження).
Поширені команди:
launchctl kickstart -k gui/$UID/ai.openclaw.gateway
launchctl bootout gui/$UID/ai.openclaw.gateway
Замініть мітку на ai.openclaw.<profile>, коли запускаєте іменований профіль.
Непідписані збірки для розробки
scripts/restart-mac.sh --no-sign призначено для швидких локальних збірок, коли у вас немає
ключів підпису. Щоб launchd не вказував на непідписаний бінарний файл реле, це:
- Записує
~/.openclaw/disable-launchagent.
Підписані запуски scripts/restart-mac.sh прибирають це перевизначення, якщо маркер
присутній. Щоб скинути вручну:
rm ~/.openclaw/disable-launchagent
Режим лише під’єднання
Щоб змусити застосунок macOS ніколи не встановлювати й не керувати launchd, запустіть його з
--attach-only (або --no-launchd). Це встановлює ~/.openclaw/disable-launchagent,
тож застосунок лише під’єднується до вже запущеного Gateway. Таку саму
поведінку можна перемкнути в налаштуваннях налагодження.
Віддалений режим
Віддалений режим ніколи не запускає локальний Gateway. Застосунок використовує SSH-тунель до віддаленого хоста й під’єднується через цей тунель.
Чому ми віддаємо перевагу launchd
- Автозапуск під час входу в систему.
- Вбудована семантика перезапуску/KeepAlive.
- Передбачувані журнали та нагляд.
Якщо справжній режим дочірнього процесу колись знову знадобиться, його слід задокументувати як окремий, явний режим лише для розробки.