> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Жизненный цикл Gateway

# Жизненный цикл Gateway (шлюза) на macOS

Приложение для macOS **по умолчанию управляет Gateway (шлюзом) через launchd** и не запускает
Gateway как дочерний процесс. Сначала оно пытается подключиться к уже запущенному
Gateway на настроенном порту; если доступного экземпляра нет, приложение включает сервис launchd
через внешний CLI `openclaw` (без встроенного runtime). Это обеспечивает надёжный автозапуск
при входе в систему и перезапуск при сбоях.

Режим дочернего процесса (когда Gateway запускается непосредственно приложением) **в настоящее время не используется**.
Если требуется более тесная связка с UI, запускайте Gateway вручную в терминале.

## Поведение по умолчанию (launchd)

* Приложение устанавливает LaunchAgent для пользователя с меткой `bot.molt.gateway`
  (или `bot.molt.<profile>` при использовании `--profile`/`OPENCLAW_PROFILE`; поддерживается устаревший `com.openclaw.*`).
* Когда включён локальный режим, приложение гарантирует, что LaunchAgent загружен, и
  при необходимости запускает Gateway.
* Логи записываются по пути логов gateway для launchd (видно в Debug Settings).

Часто используемые команды:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
launchctl kickstart -k gui/$UID/bot.molt.gateway
launchctl bootout gui/$UID/bot.molt.gateway
```

Замените метку на `bot.molt.<profile>` при запуске именованного профиля.

## Неподписанные dev‑сборки

`scripts/restart-mac.sh --no-sign` предназначен для быстрых локальных сборок, когда у вас нет
ключей подписи. Чтобы предотвратить указание launchd на неподписанный бинарник relay, он:

* Выполняет запись `~/.openclaw/disable-launchagent`.

Подписанные запуски `scripts/restart-mac.sh` очищают это переопределение, если маркер
присутствует. Для ручного сброса:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
rm ~/.openclaw/disable-launchagent
```

## Режим только подключения

Чтобы принудительно заставить приложение для macOS **никогда не устанавливать и не управлять launchd**, запускайте его с
`--attach-only` (или `--no-launchd`). Это устанавливает `~/.openclaw/disable-launchagent`,
поэтому приложение только подключается к уже запущенному Gateway. Аналогичное
поведение можно переключить в Debug Settings.

## Удалённый режим

Удалённый режим никогда не запускает локальный Gateway. Приложение использует SSH‑туннель к
удалённому хосту и подключается через этот туннель.

## Почему мы предпочитаем launchd

* Автозапуск при входе в систему.
* Встроенная семантика перезапуска/KeepAlive.
* Предсказуемые логи и надзор.

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