OpenClaw на Android: установка через Termux и управление через WhatsApp со скриптом автоматизации

OpenClaw на Android: установка через Termux и управление через WhatsApp со скриптом автоматизации

Есть особый кайф в том, чтобы превратить старый смартфон в карманного помощника: вы пишете ему в WhatsApp, а он отвечает, запускает задачи и присылает отчеты. Не “магия”, а аккуратная связка из OpenClaw, Termux и пары команд.

По официальной документации OpenClaw на Android работает как “узел-компаньон”, а сам “шлюз” (Gateway) рекомендуется держать на ПК. Но сообщество уже протоптало тропинку: запускать шлюз прямо на Android через Termux и Ubuntu. Это делает систему полностью автономной.

Ниже — пошаговый гайд с учетом всех подводных камней: от патчей сетевых интерфейсов до борьбы с агрессивным энергосбережением Android.

⚠️ Критически важно для Android 12, 13, 14+
В современных версиях Android работает механизм "Phantom Process Killer". Он убивает дочерние процессы Termux, потребляющие много ресурсов (а Node.js потребляет много), даже если вы отключили оптимизацию батареи в настройках.

Если вы не хотите, чтобы бот падал через час работы, подключите телефон к компьютеру по USB, включите "Отладку по USB" и выполните эту команду через ADB (с компьютера):

adb shell "/system/bin/device_config put activity_manager max_phantom_processes 2147483647"

Без этого шага стабильной работы 24/7 добиться невозможно.


Часть 1. Разворачиваем среду (Termux + Ubuntu)

Нам понадобятся Termux и Termux:API (ставьте только из F-Droid, версии в Google Play безнадежно устарели). Мы не будем запускать сервер в "голом" Termux — это боль с зависимостями. Мы поднимем полноценную Ubuntu внутри контейнера.

1. Установка Ubuntu через proot-distro

Открываем Termux на телефоне и пишем:

pkg update && pkg upgrade -y
 pkg install proot-distro -y
 proot-distro install ubuntu
 proot-distro login ubuntu

Теперь вы находитесь внутри Ubuntu. Дальнейшие команды выполняются здесь.

2. Ставим Node.js 22 и зависимости

apt update && apt upgrade -y
 apt install -y curl git build-essential nano
 
 # Ставим Node.js 22
 curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
 apt install -y nodejs

3. "Заклинание" для сетевых интерфейсов

Это самый важный технический нюанс. В среде proot на Android Node.js часто падает при попытке получить список сетевых интерфейсов (функция os.networkInterfaces). Мы "починим" это, создав JS-заглушку (hijack):

# 1. Создаем JS-файл заглушки
 mkdir -p /root/scripts
 cat <<EOF > /root/scripts/hijack.js
 const os = require('os');
 const originalNetworkInterfaces = os.networkInterfaces;
 os.networkInterfaces = () => {
     try {
         return originalNetworkInterfaces();
     } catch (e) {
         return {}; 
     }
 };
 EOF
 
 # 2. Добавляем его в автозагрузку переменных среды
 echo 'export NODE_OPTIONS="-r /root/scripts/hijack.js"' >> ~/.bashrc
 source ~/.bashrc

Часть 2. Установка OpenClaw и PM2

Вместо обычного запуска мы будем использовать PM2. Это профессиональный менеджер процессов: он умеет перезапускать бота при падении, писать логи и работать с расписанием надежнее, чем cron.

npm install -g openclaw@latest pm2

1. Настройка шлюза

Запускаем мастер настройки:

openclaw onboard
Важно: Когда мастер спросит про привязку (Gateway bind), выбирайте 127.0.0.1 (loopback). Никогда не открывайте 0.0.0.0 на телефоне, если вы подключаетесь к публичным Wi-Fi сетям.

2. Запуск через PM2

Теперь запустим шлюз так, чтобы он работал вечно:

pm2 start "openclaw gateway" --name "claw-gateway"
 pm2 save

Панель управления доступна в браузере телефона по адресу: http://127.0.0.1:18789/.


Часть 3. WhatsApp и Безопасность

Принцип простой: "Сначала закрой двери, потом приглашай гостей".

1. Белый список (Allowlist)

Откройте конфиг ~/.openclaw/openclaw.json (удобно через редактор nano) и настройте доступ только для своего номера:

{
   "channels": {
     "whatsapp": {
       "dmPolicy": "pairing",
       "allowFrom": ["+15551234567"], 
       "groupPolicy": "allowlist",
       "groupAllowFrom": ["+15551234567"]
     }
   }
 }

* Замените номер на свой в международном формате.

2. Привязка (QR-код)

Нам нужно временно остановить PM2, чтобы увидеть QR-код прямо в консоли:

pm2 stop claw-gateway
 openclaw channels login --channel whatsapp
 # Сканируем QR в WhatsApp -> Связанные устройства
 pm2 start claw-gateway

Совет: Если вы используете OpenClaw на том же телефоне, где стоит основное приложение WhatsApp, это создаст "петлю трафика". Идеальный вариант — отдельная SIM-карта или виртуальный номер для бота.


Часть 4. Умная автоматизация с PM2

Допустим, мы хотим каждое утро получать сводку дел. Создадим скрипт, который отправляет запрос агенту.

Создаем файл ~/jobs/daily-brief.sh:

#!/usr/bin/env bash
 set -euo pipefail
 
 # Ваш номер телефона для получения отчета
 TARGET="+15551234567"
 
 # Команда агенту с флагом --deliver (ответ придет в чат)
 openclaw agent 
   --to "$TARGET" 
   --message "Доброе утро. Проверь календарь и дай краткую сводку задач на сегодня." 
   --deliver 
   --channel whatsapp

Даем права на исполнение: chmod +x ~/jobs/daily-brief.sh

Ставим на расписание через PM2

Зачем нам cron, если PM2 умеет всё сам? Заставим его запускать этот скрипт каждый день в 09:00:

pm2 start ~/jobs/daily-brief.sh --name "daily-brief" --cron "0 9 * * *" --no-autorestart

Теперь PM2 управляет и шлюзом (держит его онлайн), и вашими задачами по расписанию. Посмотреть статус всех процессов можно командой pm2 status.


Финальные штрихи

  • Termux Wake Lock. Опустите шторку уведомлений Android, найдите там уведомление от Termux и нажмите кнопку "Acquire wakelock". Это официально разрешит приложению не уходить в сон.
  • Риски бана. OpenClaw использует библиотеку Baileys (эмуляция Web-клиента). Это неофициальный метод. WhatsApp может временно заблокировать номер при подозрительной активности. Для личного ассистента риск минимален, но не используйте это для массовых рассылок.
  • Бекапы. Периодически сохраняйте папку ~/.openclaw. Там лежат ключи шифрования вашей сессии.

Итог: У вас в кармане теперь живет сервер с LLM-агентом, который не требует оплаты за хостинг, всегда под рукой и управляется через привычный чат. Удачной автоматизации!


Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
310K
долларов
до 18 лет
Антипов жжет
Ребёнок как убыточный
актив. Считаем честно.
Почему рожают меньше те, кто умеет считать на десять лет вперёд.

Николай Нечепуренков

Я – ваш цифровой телохранитель и гид по джунглям интернета. Устал видеть, как хорошие люди попадаются на уловки кибермошенников, поэтому решил действовать. Здесь я делюсь своими секретами безопасности без занудства и сложных терминов. Неважно, считаешь ты себя гуру технологий или только учишься включать компьютер – у меня найдутся советы для каждого. Моя миссия? Сделать цифровой мир безопаснее, а тебя – увереннее в сети.

FREE
100%
Кибербезопасность · Обучение
УЧИСЬ!
ИЛИ
ВЗЛОМАЮТ
Лучшие ИБ-мероприятия
и вебинары — в одном месте
ПОДПИШИСЬ
T.ME/SECWEBINARS