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

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

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

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

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

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

Распространенные команды:

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

Замените метку на `ai.openclaw.<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. То же
поведение можно переключить в настройках отладки.

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

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

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

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

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

## См. также

* [Приложение macOS](/ru/platforms/macos)
* [Runbook Gateway](/ru/gateway)
