openclaw node
Запустіть безголовий хост вузла, який підключається до Gateway WebSocket і надає
system.run / system.which на цій машині.
Навіщо використовувати хост вузла?
Використовуйте хост вузла, коли хочете, щоб агенти виконували команди на інших машинах у вашій мережі без установлення там повного супутнього застосунку macOS. Поширені сценарії використання:- Виконання команд на віддалених машинах Linux/Windows (сервери збірки, лабораторні машини, NAS).
- Тримати exec ізольованим у sandbox на шлюзі, але делегувати схвалені запуски іншим хостам.
- Надати легку, безголову ціль виконання для автоматизації або вузлів CI.
Проксі браузера (без конфігурації)
Хости вузлів автоматично оголошують проксі браузера, якщоbrowser.enabled не
вимкнено на вузлі. Це дає агенту змогу використовувати автоматизацію браузера на цьому вузлі
без додаткової конфігурації.
За замовчуванням проксі відкриває звичайну поверхню профілю браузера вузла. Якщо ви
задасте nodeHost.browserProxy.allowProfiles, проксі стане обмежувальним:
цільові профілі поза allowlist відхиляються, а маршрути створення/видалення
постійних профілів блокуються через проксі.
За потреби вимкніть це на вузлі:
Запуск (передній план)
--host <host>: хост Gateway WebSocket (за замовчуванням:127.0.0.1)--port <port>: порт Gateway WebSocket (за замовчуванням:18789)--context-path <path>: шлях контексту Gateway WebSocket (наприклад,/openclaw-gw). Додається до URL WebSocket.--tls: використовувати TLS для підключення до gateway--tls-fingerprint <sha256>: очікуваний відбиток TLS-сертифіката (sha256)--node-id <id>: перевизначити ідентифікатор вузла (очищає токен спарювання)--display-name <name>: перевизначити відображуване ім’я вузла
Автентифікація Gateway для хоста вузла
openclaw node run і openclaw node install визначають автентифікацію gateway з config/env (без прапорців --token/--password у командах вузла):
- Спочатку перевіряються
OPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD. - Потім локальний резервний варіант конфігурації:
gateway.auth.token/gateway.auth.password. - У локальному режимі хост вузла навмисно не успадковує
gateway.remote.token/gateway.remote.password. - Якщо
gateway.auth.token/gateway.auth.passwordявно налаштовано через SecretRef і не розв’язано, визначення автентифікації вузла завершується закритою відмовою (без маскування віддаленим резервним варіантом). - У
gateway.mode=remoteполя віддаленого клієнта (gateway.remote.token/gateway.remote.password) також можуть використовуватися відповідно до правил віддаленого пріоритету. - Визначення автентифікації хоста вузла враховує лише змінні середовища
OPENCLAW_GATEWAY_*.
ws://, приймаються loopback, літерали
приватних IP, .local і хости Tailnet *.ts.net. Для інших
довірених приватних DNS-імен задайте OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1; без
цього запуск вузла завершується закритою відмовою і просить використати wss://, SSH-тунель або
Tailscale. Це opt-in через середовище процесу, а не ключ конфігурації openclaw.json.
openclaw node install зберігає його в контрольованій службі вузла, коли він
присутній у середовищі команди встановлення.
Служба (фоновий режим)
Установіть безголовий хост вузла як користувацьку службу.--host <host>: хост Gateway WebSocket (за замовчуванням:127.0.0.1)--port <port>: порт Gateway WebSocket (за замовчуванням:18789)--context-path <path>: шлях контексту Gateway WebSocket (наприклад,/openclaw-gw). Додається до URL WebSocket.--tls: використовувати TLS для підключення до gateway--tls-fingerprint <sha256>: очікуваний відбиток TLS-сертифіката (sha256)--node-id <id>: перевизначити ідентифікатор вузла (очищає токен спарювання)--display-name <name>: перевизначити відображуване ім’я вузла--runtime <runtime>: середовище виконання служби (nodeабоbun)--force: перевстановити/перезаписати, якщо вже встановлено
openclaw node run для хоста вузла на передньому плані (без служби).
Команди служби приймають --json для машинозчитуваного виводу.
Хост вузла повторює спроби після перезапуску Gateway і закриття мережевого з’єднання в межах процесу. Якщо
Gateway повідомляє про термінальну паузу автентифікації токена/пароля/bootstrap, хост вузла
записує деталі закриття в журнал і завершується з ненульовим кодом, щоб launchd/systemd міг перезапустити його зі
свіжою конфігурацією та обліковими даними. Паузи, що потребують спарювання, залишаються в потоці
переднього плану, щоб очікуваний запит можна було схвалити.
Спарювання
Перше підключення створює на Gateway очікуваний запит на спарювання пристрою (role: node).
Схваліть його через:
role: node
без запитаних scopes. Клієнти оператора/браузера, Control UI, WebChat, а також оновлення ролі,
scope, метаданих або публічного ключа все одно потребують ручного схвалення.
Якщо вузол повторює спарювання зі зміненими деталями автентифікації (роль/scopes/публічний ключ),
попередній очікуваний запит замінюється, і створюється новий requestId.
Перед схваленням знову виконайте openclaw devices list.
Хост вузла зберігає свій ідентифікатор вузла, токен, відображуване ім’я та інформацію про підключення до gateway у
~/.openclaw/node.json.
Схвалення exec
system.run керується локальними схваленнями exec:
$OPENCLAW_STATE_DIR/exec-approvals.json, або~/.openclaw/exec-approvals.json, коли змінну не задано- Схвалення exec
openclaw approvals --node <id|name|ip>(редагування з Gateway)
systemRunPlan
перед запитом. Подальше схвалене переспрямування system.run повторно використовує цей збережений
план, тому зміни полів command/cwd/session після створення запиту на схвалення
відхиляються замість того, щоб змінювати те, що виконує вузол.