Урок 1. Как устроен OpenClaw внутри#
Зачем это нужно#
Вы уже умеете пользоваться OpenClaw — отправлять сообщения, подключать каналы, настраивать ассистента. Но чтобы решать нестандартные задачи и понимать, почему что-то не работает, полезно знать, как система устроена «под капотом». Это как разобраться, из чего состоит автомобиль — не для того, чтобы стать механиком, а чтобы понимать, что происходит.
Главные компоненты#
OpenClaw состоит из нескольких частей, которые работают вместе:
1. Gateway (Шлюз)#
Gateway — это «мозг» системы. Это программа, которая постоянно работает на вашем компьютере или сервере.
Что делает Gateway:
- Держит связь со всеми мессенджерами (Telegram, WhatsApp, Discord и др.)
- Принимает ваши сообщения и отправляет их AI-модели
- Управляет сессиями (историей разговоров)
- Раздаёт задачи устройствам-помощникам (нодам)
Gateway — это единственный процесс, который нужно запустить. Всё остальное подключается к нему.
Запуск Gateway:
openclaw gatewayПо умолчанию он слушает на порту 18789 — это как номер двери, через которую все заходят.
2. WebSocket — способ общения#
WebSocket (WS) — это технология для постоянной двусторонней связи. Представьте телефонный звонок: вы не кладёте трубку после каждой фразы, а разговариваете непрерывно.
Все части OpenClaw общаются с Gateway через WebSocket:
- Приложение на Mac
- Командная строка (CLI)
- Веб-интерфейс (WebChat)
- Устройства (ноды)
Общение происходит в формате JSON — это текстовый формат для передачи данных, похожий на список «ключ-значение».
3. Клиенты (Clients)#
Клиент — это любая программа, которая подключается к Gateway:
- Приложение macOS — графический интерфейс в панели меню
- CLI (Command Line Interface) — текстовые команды в терминале
- WebChat — чат в браузере
- Control UI — панель управления в браузере
Каждый клиент открывает одно WebSocket-соединение с Gateway.
4. Ноды (Nodes)#
Ноды — это устройства-помощники: телефон, планшет, Raspberry Pi. Они тоже подключаются к Gateway через WebSocket, но с пометкой «я — нода».
Ноды могут:
- Делать фотографии (камера)
- Записывать экран
- Определять местоположение
- Показывать уведомления
5. Canvas (Холст)#
Canvas — это веб-страница, которую ассистент может создавать и редактировать прямо в процессе работы. Она отображается по адресу Gateway на том же порту 18789.
Как всё работает вместе#
Вот что происходит, когда вы отправляете сообщение:
Вы (Telegram) → Gateway → AI-модель → Gateway → Ответ в TelegramПодробнее:
- Вы пишете сообщение в Telegram
- Gateway получает его через Telegram-бота
- Gateway отправляет текст в AI-модель (например, Claude)
- Модель решает, что делать — может вызвать инструменты (прочитать файл, поискать в интернете)
- Если нужно устройство — Gateway обращается к ноде по WebSocket
- Готовый ответ Gateway отправляет обратно в Telegram
Жизненный цикл подключения#
Когда клиент подключается к Gateway, происходит «рукопожатие»:
- Клиент отправляет запрос
connect(первое сообщение всегда должно быть таким) - Gateway проверяет токен авторизации (если настроен)
- Gateway отвечает «ok» и отправляет текущий статус
- Дальше клиент может отправлять запросы, а Gateway — присылать события
Если первое сообщение — не connect, Gateway разрывает соединение.
Авторизация и доверие#
- Каждый клиент и нода имеют идентификатор устройства (device identity)
- Новые устройства требуют одобрения (pairing approval)
- Подключения с того же компьютера (localhost) могут одобряться автоматически
- Удалённые подключения требуют явного подтверждения
Проверка здоровья#
Чтобы убедиться, что Gateway работает:
openclaw health
openclaw status --deepИтоги урока#
- Gateway — центральная программа, которая управляет всем
- Все части системы общаются через WebSocket (постоянное соединение)
- Клиенты (приложения, CLI, веб) подключаются к Gateway для управления
- Ноды (устройства) подключаются как помощники с камерой, экраном и т.д.
- Первое сообщение при подключении — всегда
connectс авторизацией - Один Gateway = один хост. Это единая точка управления всеми каналами