Віддалений 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-проксі).
Віддалені транспорти
Віддалений режим підтримує два транспорти:- SSH tunnel (типово): Використовує
ssh -N -L ...для перенаправлення порту шлюзу на localhost. Шлюз бачитиме IP вузла як127.0.0.1, оскільки тунель працює через loopback. - Direct (ws/wss): Підключається безпосередньо до URL шлюзу. Шлюз бачить реальну IP-адресу клієнта.
Передумови на віддаленому хості
- Установіть Node + pnpm і зберіть/установіть CLI OpenClaw (
pnpm install && pnpm build && pnpm link --global). - Переконайтеся, що
openclawдоступний у PATH для неінтерактивних оболонок (за потреби створіть символьне посилання в/usr/local/binабо/opt/homebrew/bin). - Налаштуйте SSH з автентифікацією ключем. Ми рекомендуємо IP-адреси Tailscale для стабільної доступності поза локальною мережею.
Налаштування macOS-застосунку
- Відкрийте Settings → General.
- У розділі OpenClaw runs виберіть Remote over SSH і задайте:
- Transport: SSH tunnel або Direct (ws/wss).
- SSH target:
user@host(необов’язково:port).- Якщо шлюз перебуває в тій самій локальній мережі й анонсує себе через Bonjour, виберіть його зі списку виявлених, щоб автоматично заповнити це поле.
- Gateway URL (лише Direct):
wss://gateway.example.ts.net(абоws://...для локальної мережі/LAN). - Identity file (додатково): шлях до вашого ключа.
- Project root (додатково): шлях до віддаленого checkout, який використовується для команд.
- CLI path (додатково): необов’язковий шлях до виконуваного entrypoint/бінарного файлу
openclaw(автоматично заповнюється, якщо анонсовано).
- Натисніть Test remote. Успіх означає, що віддалена команда
openclaw status --jsonвиконується коректно. Невдачі зазвичай означають проблеми з PATH/CLI; код виходу 127 означає, що CLI не знайдено на віддаленому хості. - Перевірки стану та Web Chat тепер автоматично працюватимуть через цей SSH-тунель.
Web Chat
- 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.
- SSH-тунелювання використовує сувору перевірку ключа хоста; спочатку довіртеся ключу хоста, щоб він з’явився в
~/.ssh/known_hosts. - Якщо ви прив’язуєте Gateway до інтерфейсу, відмінного від loopback, вимагайте дійсну автентифікацію Gateway: token, password або reverse proxy з перевіркою ідентичності з
gateway.auth.mode: "trusted-proxy". - Див. Security і Tailscale.
Потік входу WhatsApp (віддалено)
- Виконайте
openclaw channels login --verboseна віддаленому хості. Проскануйте QR-код за допомогою WhatsApp на телефоні. - Повторно виконайте вхід на цьому хості, якщо автентифікація закінчиться. Перевірка стану покаже проблеми зі з’єднанням.
Усунення проблем
- exit 127 / not found:
openclawнедоступний у PATH для оболонок без входу в систему. Додайте його до/etc/paths, конфігурації вашої оболонки або створіть символьне посилання в/usr/local/bin//opt/homebrew/bin. - Health probe failed: перевірте доступність SSH, PATH і те, що Baileys увійшов у систему (
openclaw status --json). - Web Chat stuck: переконайтеся, що шлюз запущено на віддаленому хості й що переспрямований порт відповідає WS-порту шлюзу; інтерфейсу потрібне справне WS-з’єднання.
- Node IP shows 127.0.0.1: це очікувано при використанні SSH-тунелю. Перемкніть Transport на Direct (ws/wss), якщо хочете, щоб шлюз бачив реальну IP-адресу клієнта.
- Voice Wake: фрази активації автоматично переспрямовуються у віддаленому режимі; окремий переспрямовувач не потрібен.
Звуки сповіщень
Вибирайте звуки для кожного сповіщення зі скриптів за допомогоюopenclaw і node.invoke, наприклад: