> ## 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.

# Удалённое управление

# Удалённый OpenClaw (macOS ⇄ удалённый хост)

Этот сценарий позволяет приложению macOS выступать полноценным пультом удалённого управления для шлюза OpenClaw, запущенного на другом хосте (настольный ПК/сервер). Это функция приложения **Remote over SSH** (удалённый запуск). Все возможности — проверки состояния, пересылка Voice Wake и Web Chat — используют одну и ту же удалённую конфигурацию SSH из *Settings → General*.

## Режимы

* **Local (this Mac)**: Всё работает на ноутбуке. SSH не используется.
* **Remote over SSH (default)**: Команды OpenClaw выполняются на удалённом хосте. Приложение mac открывает SSH‑соединение с `-o BatchMode` плюс выбранной идентификацией/ключом и локальной переадресацией портов.
* **Remote direct (ws/wss)**: Без SSH‑туннеля. Приложение mac подключается к URL шлюза напрямую (например, через Tailscale Serve или публичный HTTPS reverse proxy).

## Удаленные перевозки

Удалённый режим поддерживает два транспорта:

* **SSH tunnel** (по умолчанию): Использует `ssh -N -L ...` для проброса порта шлюза на localhost. Шлюз будет видеть IP узла как `127.0.0.1`, поскольку туннель использует loopback.
* **Direct (ws/wss)**: Подключение напрямую к URL шлюза. Шлюз видит реальный IP клиента.

## Предварительные требования на удалённом хосте

1. Установите Node + pnpm и соберите/установите OpenClaw CLI (`pnpm install && pnpm build && pnpm link --global`).
2. Убедитесь, что `openclaw` находится в PATH для неинтерактивных оболочек (при необходимости создайте симлинк в `/usr/local/bin` или `/opt/homebrew/bin`).
3. Откройте SSH с аутентификацией по ключу. Для стабильной доступности вне LAN рекомендуется использовать IP‑адреса **Tailscale**.

## Настройка приложения macOS

1. Откройте *Settings → General*.
2. В разделе **OpenClaw runs** выберите **Remote over SSH** и задайте:
   * **Transport**: **SSH tunnel** или **Direct (ws/wss)**.
   * **SSH target**: `user@host` (необязательно `:port`).
     * Если шлюз находится в той же LAN и объявляет Bonjour, выберите его из списка обнаруженных — поле заполнится автоматически.
   * **Gateway URL** (только Direct): `wss://gateway.example.ts.net` (или `ws://...` для local/LAN).
   * **Identity file** (дополнительно): путь к вашему ключу.
   * **Project root** (дополнительно): путь к удалённому чекауту проекта, используемый для команд.
   * **CLI path** (дополнительно): необязательный путь к исполняемому входному файлу/бинарнику `openclaw` (автозаполняется при объявлении).
3. Нажмите **Test remote**. Успех означает, что удалённый `openclaw status --json` работает корректно. Сбои обычно указывают на проблемы PATH/CLI; код выхода 127 означает, что CLI не найден на удалённой стороне.
4. Проверки состояния и Web Chat теперь будут автоматически работать через этот SSH‑туннель.

## Веб-чат

* **SSH tunnel**: Web Chat подключается к шлюзу через проброшенный порт управления WebSocket (по умолчанию 18789).
* **Direct (ws/wss)**: Web Chat подключается напрямую к настроенному URL шлюза.
* Отдельного HTTP‑сервера WebChat больше нет.

## Разрешения

* Удалённому хосту требуются те же одобрения TCC, что и локальному (Automation, Accessibility, Screen Recording, Microphone, Speech Recognition, Notifications). Запустите онбординг на этой машине, чтобы выдать их один раз.
* Узлы объявляют состояние разрешений через `node.list` / `node.describe`, чтобы агенты знали, что доступно.

## Примечания по безопасности

* Предпочитайте привязку к loopback на удалённом хосте и подключение через SSH или Tailscale.
* Если вы привязываете Gateway (шлюз) к не‑loopback интерфейсу, требуйте аутентификацию по токену/паролю.
* См. [Security](/gateway/security) и [Tailscale](/gateway/tailscale).

## Процесс входа в WhatsApp (удалённо)

* Запустите `openclaw channels login --verbose` **на удалённом хосте**. Отсканируйте QR‑код с помощью WhatsApp на телефоне.
* Повторно выполните вход на этом хосте при истечении срока авторизации. Проверка состояния покажет проблемы с привязкой.

## Устранение неполадок

* **exit 127 / not found**: `openclaw` отсутствует в PATH для не‑login оболочек. Добавьте его в `/etc/paths`, rc‑файл вашей оболочки или создайте симлинк в `/usr/local/bin`/`/opt/homebrew/bin`.
* **Health probe failed**: проверьте доступность SSH, PATH и то, что Baileys авторизован (`openclaw status --json`).
* **Web Chat зависает**: убедитесь, что шлюз запущен на удалённом хосте и проброшенный порт совпадает с WS‑портом шлюза; интерфейсу требуется исправное WS‑соединение.
* **Node IP показывает 127.0.0.1**: ожидаемо при использовании SSH‑туннеля. Переключите **Transport** на **Direct (ws/wss)**, если хотите, чтобы шлюз видел реальный IP клиента.
* **Voice Wake**: триггер‑фразы автоматически пересылаются в удалённом режиме; отдельный форвардер не требуется.

## Звуки уведомлений

Выбирайте звуки для каждого уведомления из скриптов с помощью `openclaw` и `node.invoke`, например:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw nodes notify --node <id> --title "Ping" --body "Remote gateway ready" --sound Glass
```

В приложении больше нет глобального переключателя «звук по умолчанию»; вызывающие стороны выбирают звук (или отсутствие звука) для каждого запроса.
