macOS companion app
Життєвий цикл Gateway у macOS
Застосунок macOS за замовчуванням керує Gateway через launchd і не
запускає Gateway як дочірній процес. Спочатку він намагається підключитися до
вже запущеного Gateway на налаштованому порту; якщо той недоступний, застосунок
вмикає службу launchd через зовнішній CLI openclaw (без вбудованого
середовища виконання). Це забезпечує надійний автоматичний запуск під час входу
в систему та перезапуск після збоїв.
Режим дочірнього процесу (Gateway запускається безпосередньо застосунком) наразі не використовується. Якщо вам потрібна тісніша інтеграція з інтерфейсом, запустіть Gateway вручну в терміналі.
Типова поведінка (launchd)
- Застосунок установлює LaunchAgent для кожного користувача з міткою
ai.openclaw.gateway(абоai.openclaw.<profile>у разі використання--profile/OPENCLAW_PROFILE). - Коли ввімкнено локальний режим, застосунок перевіряє, чи завантажено LaunchAgent, і за потреби запускає Gateway.
- Журнали записуються за шляхом до журналу Gateway служби launchd (його можна переглянути в налаштуваннях налагодження).
Поширені команди:
launchctl kickstart -k gui/$UID/ai.openclaw.gatewaylaunchctl 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.
- Передбачувані журнали й контроль за роботою.
Якщо справжній режим дочірнього процесу колись знову знадобиться, його слід задокументувати як окремий, явно визначений режим лише для розробки.