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 (його можна переглянути в налаштуваннях налагодження).

Поширені команди:

bash
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 скидають це перевизначення, якщо маркер наявний. Щоб скинути його вручну:

bash
rm ~/.openclaw/disable-launchagent

Режим лише підключення

Щоб застосунок macOS ніколи не встановлював launchd і не керував ним, запустіть застосунок із --attach-only (або --no-launchd). Це створює ~/.openclaw/disable-launchagent, тож застосунок лише підключається до вже запущеного Gateway. Таку саму поведінку можна перемкнути в налаштуваннях налагодження.

Віддалений режим

Віддалений режим ніколи не запускає локальний Gateway. Застосунок використовує SSH-тунель до віддаленого хоста й підключається через нього.

Чому ми віддаємо перевагу launchd

  • Автоматичний запуск під час входу в систему.
  • Вбудовані механізми перезапуску та KeepAlive.
  • Передбачувані журнали й контроль за роботою.

Якщо справжній режим дочірнього процесу колись знову знадобиться, його слід задокументувати як окремий, явно визначений режим лише для розробки.

Пов’язане

Was this useful?
On this page

On this page