Приложение Android (узел)
Снимок поддержки
- Роль: приложение сопутствующего узла (Android не размещает Gateway (шлюз)).
- Требуется Gateway (шлюз): да (запускается на macOS, Linux или Windows через WSL2).
- Установка: Начало работы + Сопряжение.
- Gateway (шлюз): Runbook + Конфигурация.
- Протоколы: Протокол Gateway (шлюз) (узлы + плоскость управления).
Управление системой
Управление системой (launchd/systemd) находится на хосте шлюза Gateway. См. Gateway.Ранбук подключения
Приложение узла Android ⇄ (mDNS/NSD + WebSocket) ⇄ Gateway (шлюз) Android подключается напрямую к WebSocket шлюза Gateway (по умолчаниюws://<host>:18789) и использует сопряжение, управляемое Gateway.
Предварительные требования
- Вы можете запустить Gateway (шлюз) на «главной» машине.
- Устройство/эмулятор Android может достучаться до WebSocket шлюза Gateway:
- Та же локальная сеть с mDNS/NSD, или
- Тот же tailnet Tailscale с Wide-Area Bonjour / unicast DNS-SD (см. ниже), или
- Ручной ввод хоста/порта шлюза Gateway (резервный вариант)
- Вы можете запускать CLI (
openclaw) на машине шлюза Gateway (или через SSH).
1. Запуск Gateway (шлюза)
listening on ws://0.0.0.0:18789
- Установите
gateway.bind: "tailnet"в~/.openclaw/openclaw.jsonна хосте шлюза Gateway. - Перезапустите Gateway / приложение macOS в строке меню.
2. Проверка обнаружения (необязательно)
С машины шлюза Gateway:Обнаружение через Tailnet (Вена ⇄ Лондон) с использованием unicast DNS-SD
Обнаружение Android через NSD/mDNS не работает между сетями. Если узел Android и шлюз Gateway находятся в разных сетях, но соединены через Tailscale, используйте Wide-Area Bonjour / unicast DNS-SD:- Настройте зону DNS-SD (пример
openclaw.internal.) на хосте шлюза Gateway и опубликуйте записи_openclaw-gw._tcp. - Настройте split DNS в Tailscale для выбранного домена, указывая на этот DNS-сервер.
3. Подключение с Android
В приложении Android:- Приложение поддерживает соединение со шлюзом Gateway через foreground service (постоянное уведомление).
- Откройте Settings.
- В разделе Discovered Gateways выберите ваш шлюз и нажмите Connect.
- Если mDNS заблокирован, используйте Advanced → Manual Gateway (хост + порт) и Connect (Manual).
- К ручному endpoint (если включён), иначе
- К последнему обнаруженному шлюзу (best-effort).
4. Подтвердите сопряжение (CLI)
На машине шлюза Gateway:5. Проверьте, что узел подключён
-
Через статус узлов:
-
Через Gateway:
6. Чат + история
Лист Chat узла Android использует основной ключ сеанса шлюза Gateway (main), поэтому история и ответы общие с WebChat и другими клиентами:
- История:
chat.history - Отправка:
chat.send - Push-обновления (best-effort):
chat.subscribe→event:"chat"
7. Canvas + камера
Хост Canvas Gateway (рекомендуется для веб-контента)
Если вы хотите, чтобы узел отображал реальный HTML/CSS/JS, который агент может редактировать на диске, направьте узел на хост Canvas шлюза Gateway. Примечание: узлы используют автономный хост Canvas наcanvasHost.port (по умолчанию 18793).
-
Создайте
~/.openclaw/workspace/canvas/index.htmlна хосте шлюза Gateway. - Откройте его на узле (LAN):
.local, например http://<gateway-magicdns>:18793/__openclaw__/canvas/.
Этот сервер внедряет клиент live-reload в HTML и перезагружает страницу при изменениях файлов.
Хост A2UI доступен по адресу http://<gateway-host>:18793/__openclaw__/a2ui/.
Команды Canvas (только на переднем плане):
canvas.eval,canvas.snapshot,canvas.navigate(используйте{"url":""}или{"url":"/"}, чтобы вернуться к стандартному каркасу).canvas.snapshotвозвращает{ format, base64 }(по умолчаниюformat="jpeg").- A2UI:
canvas.a2ui.push,canvas.a2ui.reset(canvas.a2ui.pushJSONL— устаревший псевдоним)
camera.snap(jpg)camera.clip(mp4)