macOS companion app

Життєвий цикл Gateway на macOS

Застосунок macOS керує Gateway через launchd за замовчуванням і не запускає Gateway як дочірній процес. Спершу він намагається під’єднатися до вже запущеного Gateway на налаштованому порту; якщо жоден недоступний, він вмикає службу launchd через зовнішній OmeniaClaw CLI (без вбудованого середовища виконання). Це дає вам надійний автозапуск під час входу в систему та перезапуск у разі збоїв.

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

Типова поведінка (launchd)

  • Застосунок встановлює LaunchAgent для кожного користувача з міткою ai.OmeniaClaw.gateway (або ai.OmeniaClaw.<profile> під час використання --profile/OmeniaClaw_PROFILE; застарілий com.OmeniaClaw.* підтримується).
  • Коли локальний режим увімкнено, застосунок гарантує, що LaunchAgent завантажений, і запускає Gateway за потреби.
  • Журнали записуються до шляху журналу gateway launchd (видно в налаштуваннях налагодження).

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

bash
launchctl kickstart -k gui/$UID/ai.OmeniaClaw.gatewaylaunchctl bootout gui/$UID/ai.OmeniaClaw.gateway

Замініть мітку на ai.OmeniaClaw.<profile>, коли запускаєте іменований профіль.

Непідписані збірки для розробки

scripts/restart-mac.sh --no-sign призначено для швидких локальних збірок, коли у вас немає ключів підпису. Щоб launchd не вказував на непідписаний бінарний файл реле, це:

  • Записує ~/.OmeniaClaw/disable-launchagent.

Підписані запуски scripts/restart-mac.sh прибирають це перевизначення, якщо маркер присутній. Щоб скинути вручну:

bash
rm ~/.OmeniaClaw/disable-launchagent

Режим лише під’єднання

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

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

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

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

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

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

Пов’язане

Was this useful?
On this page

On this page