Свой Bot на OpenClaw

Введение

В данной стаье будет описано как установить и настроить ИИ бота OpenClaw на базе OS OpenScaler 25.09.

Подготовка

Для установки бота необходимо наличие nodejs версии 22, такая версия есть в составе дистрибутива openScaler 25.09. По этому производим подготовку ВМ и минимальную установку ОС.

Идем в docker

Так как бот довольно самостоятельный и может выполнять команды сам на уровне ОС, то лучше не пускать его внутрь ОС, а изолировать внутри контейнера. Для этого подготовим свой контейнер с ОС openScaler 25.09 и запустим его в docker.

Подготовка контейнера

Создадим каталог, в который установим требуемые пакеты и установим их:

[root@openclaw-01 ~]# mkdir /media/chroot                 
[root@openclaw-01 ~]# rpm –root /media/chroot –initdb   
[root@openclaw-01 ~]# dnf –installroot /media/chroot install dnf openScaler-repos openScaler-release vim

 

 

и дождемся конца установки:

Теперь необходимо создать tar архив с содержимым установленной системы:

[root@openclaw-01 ~]# cd /media/chroot
[root@openclaw-01 chroot]# tar -cf ../openScaler-25.09.tar *
[root@openclaw-01 chroot]# cd ..
[root@openclaw-01 media]# ll
total 631500
dr-xr-xr-x. 18 root root      4096 Feb  4 13:48 chroot
-rw-r–r–.  1 root root 646645760 Feb  4 13:52 openScaler-25.09.tar

Базовый образ для создания контейнера готов, теперь установим docker и загрузим образ в него:[root@openclaw-01 media]# dnf install docker

 

Запустим его и проверим состояние:

[root@openclaw-01 media]# systemctl enable –now docker
[root@openclaw-01 media]# systemctl status docker
● docker.service – Docker Application Container Engine
    Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: disabled)
    Active: active (running) since Wed 2026-02-04 15:32:50 MSK; 36s ago
      Docs: https://docs.docker.com
  Main PID: 1949 (dockerd)
     Tasks: 21 (limit: 21434)
    Memory: 38.5M ()
    CGroup: /system.slice/docker.service
            ├─1949 /usr/bin/dockerd –live-restore
            └─1958 containerd –config /var/run/docker/containerd/containerd.toml –log-level info

Feb 04 15:32:49 openclaw-01 dockerd[1949]: time=”2026-02-04T15:32:49.122682094+03:00″ level=warning msg=”Failed to cleanup netns file /var/run/docker/runtime-runc: remove /var/run/docker/>
Feb 04 15:32:49 openclaw-01 dockerd[1949]: time=”2026-02-04T15:32:49.210343731+03:00″ level=info msg=”Default bridge (docker0) is assigned with an IP address 172.18.0.0/16. Daemon option >
Feb 04 15:32:49 openclaw-01 dockerd[1949]: time=”2026-02-04T15:32:49.212144050+03:00″ level=info msg=”Setup IP tables begin”
Feb 04 15:32:49 openclaw-01 dockerd[1949]: time=”2026-02-04T15:32:49.283541857+03:00″ level=info msg=”Setup IP tables end”
Feb 04 15:32:49 openclaw-01 dockerd[1949]: time=”2026-02-04T15:32:49.319124020+03:00″ level=info msg=”Loading containers: done.”
Feb 04 15:32:50 openclaw-01 dockerd[1949]: time=”2026-02-04T15:32:50.351852991+03:00″ level=info msg=”Docker daemon” commit=c312038 graphdriver(s)=overlay2 version=18.09.0
Feb 04 15:32:50 openclaw-01 dockerd[1949]: time=”2026-02-04T15:32:50.352130193+03:00″ level=info msg=”Daemon has completed initialization”
Feb 04 15:32:50 openclaw-01 dockerd[1949]: time=”2026-02-04T15:32:50.397990501+03:00″ level=warning msg=”Could not register builder git source: failed to find git binary: exec: “git”: e>
Feb 04 15:32:50 openclaw-01 dockerd[1949]: time=”2026-02-04T15:32:50.401657701+03:00″ level=info msg=”API listen on /var/run/docker.sock”
Feb 04 15:32:50 openclaw-01 systemd[1]: Started Docker Application Container Engine.

Docker успешно работает, теперь можно загрузить образ контейнера:

[root@openclaw-01 media]# cat openScaler-25.09.tar | docker import – openscaler:25.09
sha256:fa7201e3fe3817eb20656f7cc686cfe01c93d425232c9b701ea3331656460476
[root@openclaw-01 media]# docker images -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
openscaler          25.09               fa7201e3fe38        3 minutes ago       627MB

Запускаем shell

Так как шаги настройки интерактивные, то выполним базовую установку OpenClaw и первичную инициализацию в интерактивном окружении:

[root@openclaw-01 media]# docker run -it openscaler:25.09 /bin/bash
bash-5.2# rpm -qa
gpg-pubkey-c931175a-68dcefa0

Отключим установку слабых зависимостей и установим nodejs:

Установка

Теперь все готово для запуска установки, для этого выполним, то что в здравом уме выполнять нельзя:

curl -fsSL https://openclaw.ai/install.sh | bash

Да, есть нюанс, из-за РКН не так просто получить этот файл…

В любом случае установка начинается с установки недостающих пакетов, например git:

bash-5.2# bash install.sh

Затем начнется установка модулей для nodejs включая самого бота.

По завершении установки будет запущен процесс настройки:

Отвечаем Yes и идем дальше:

Выбираем быстрый старт:

Выбираем интересующий нас провайдер:

Например Qwen:

Теперь переходим по ссылке, если нет регистрации на qwen, то предварительно регистрируемся.

Подтверждаем и получаем сообщение об успехе.

Дальше в консоли:

Выбираем то, что предлагают.

Теперь конфигурируем Telegram бота:

Выбрали Telegram и дальше создаем бота, как просят:

Открываем телегу и создаем бота:

И вводим полученный токен:

Пропускаем настройку скилов:

Настройку автодополнения можно выполнить:

И получаем сообщение о завершении настройки:

Использование

Можно подключиться через http://127.0.0.1:18789/ как предложено выше, или же написать в Телеграм боту, которого создали.

Telegram

Откроем Telegram и найдем там созданного бота:

И напишем этому боту команду старт:

Он в ответ предложит авторизовать пользователя локально, выполним: 

И теперь с ботом можно общаться:

На этом базовая настройка OpenClaw завершена.

Дальнейшие шаги можно выполнять в формате диалога с ботам.