Архитектура Openclaw: сущности и их взаимодействие

от автора

Моя боль:

Читая документацию openclaw и делая установку я смутно понимал что сейчас делаю и для чего, много новых, хоть и знакомых терминов (gateway, node, session, …). Так не пойдет, нужна более явная картина. И я пошел за советом к своему другу ИИ.

Цель статьи

OpenClaw — это мощный, и поэтому довольно сложный инструмент с большим количеством сущностей и связей между ними. Если знать как он устроен на самом высоком уровне, то это дает хорошую возможность понимать, как его можно использовать для своих конкретных задач и жизненных сценариев.
Статья не только раскрывает архитектуру openclaw, но и разбирает его через реальные кейсы из сообщества.

Дисклеймер

Эта статья основана на моей переписке с ИИ. Я решил оставить все как есть (в том числе эволюцию моих вопросов). Вся статья практически на 100% сгенерирована и сверстана ИИ (Grok) с минимальным моим участием.

1. Что такое узел (Node) в OpenClaw?

Расскажи, что такое узел (node) в контексте openclaw?

Узел (node) — это компаньон-устройство (companion device), которое подключается к центральному Gateway OpenClaw по WebSocket и расширяет возможности основного AI-агента.

Что делает Node

  • Подключается к Gateway с ролью role: "node".

  • Предоставляет командную поверхность — набор функций, которые агент может вызывать через метод node.invoke.

  • Примеры доступных команд: canvas.*, camera.*, device.*, notifications.*, system.*, system.run и другие.

Важно: Node не является самим Gateway или основным агентом — это периферийное устройство, которое агент использует как инструмент (руку или глаз).

Виды узлов

  • macOS node — приложение в строке меню (menubar app).

  • iOS / Android nodes — мобильные приложения, дающие доступ к камере, GPS, экрану телефона.

  • Headless node — лёгкий процесс без интерфейса (openclaw node run), удобен для серверов и удалённых машин.

  • Специальные узлы (например, расширение для VS Code).

Для чего нужны Nodes

Они позволяют AI-агенту работать не только на главной машине, но и:

  • Управлять другими компьютерами в сети

  • Использовать камеру и экран телефона

  • Запускать команды на удалённых серверах

  • Собирать контекст из всей экосистемы устройств

Коротко: Node — это «рука» или «глаз» вашего AI-агента на другом устройстве.

2. Основные акторы экосистемы OpenClaw

ок, стало чуть понятнее, но чтобы стало лучше дай мне всех основных сущностей экосистемы openclaw, например: node, gateway, channel, user, operator и прочее которое покажет в чем ответственность каждой сущности (или актора) и как он взаимодействует с другими частями

OpenClaw построена по архитектуре hub-and-spoke (центральный хаб + периферия). Всё вращается вокруг одного долгоживущего процесса — Gateway.

Таблица основных акторов

Актор

Ответственность

Как взаимодействует с другими сущностями

Gateway

Центральный контрольный узел всей системы (control plane)

Принимает подключения от Nodes и Operators, управляет Channels, Sessions, pairing и Agent

Channels

Интеграции с мессенджерами (WhatsApp, Telegram, Discord, Slack, Signal и др.)

Передают сообщения от пользователей в Gateway → Session → Agent и назад

Nodes

Периферийные устройства-компаньоны

Подключаются с ролью node, предоставляют команды через node.invoke

Operators

Клиенты управления (CLI, Web Dashboard, macOS app в operator-режиме)

Управляют системой: pairing, approvals, конфигурация, мониторинг

Sessions

Изолированные контексты работы агента (чат, workspace)

Хранят историю, память и состояние. Управляются Gateway

Agent (Runtime)

«Мозг» системы — AI-агент с циклом рассуждений

Работает внутри Session, получает сообщения из Channels, вызывает инструменты и Nodes

User

Конечный человек (владелец или собеседник)

Общается через Channels, управляет системой через Operators

Devices

Абстракция любого подключаемого устройства

Проходят процесс pairing и approval через Gateway

Как всё работает вместе

  1. Пользователь пишет сообщение → ChannelGatewaySessionAgent

  2. Агент анализирует и может вызвать инструмент или Node

  3. Operator (ты) может одобрять pairing новых устройств и опасные действия

  4. Node даёт агенту доступ к аппаратным возможностям других устройств

Коротко:
Gateway — это мозг и центральный хаб, Channels — уши и рот, Nodes — руки и глаза, Operators — пульт управления, а Sessions + Agent — память и разум системы.

3. Для чего агент использует Canvas / A2UI?

ок, теперь все понятно. Для чего openclaw или агент может использовать canvas/a2ui?

Canvas (он же Live Canvas) — это агент-управляемое визуальное рабочее пространство.
A2UI (Agent-to-User Interface) — протокол и набор компонентов, благодаря которым агент может сам создавать и обновлять интерактивный интерфейс в реальном времени.

Основные сценарии использования Canvas

  • Динамические дашборды и визуализации данных

  • Интерактивные формы, многошаговые мастера и мини-приложения

  • Красивый и удобный вывод сложного контента вместо длинного текста

  • AI-native интерфейсы (например, персональный CRM, мониторинг задач и т.д.)

  • Визуализация результатов работы навыков агента

  • Игры, галереи, предпросмотр отчётов

Как это технически работает

Агент вызывает функции из canvas skill (canvas.present, canvas.a2ui.push и др.), отправляет JSON-описание интерфейса, и Canvas отображает его на подключённых устройствах (macOS, iOS, Android, браузер). Пользователь может взаимодействовать с интерфейсом — нажатия кнопок и другие действия возвращаются обратно агенту.

Главное преимущество:
Благодаря Canvas + A2UI OpenClaw перестаёт быть просто «чат-ботом» и превращается в систему, где агент сам строит удобный визуальный интерфейс под конкретную задачу.

Реальные кейсы использования OpenClaw из сообщества и их архитектура

На официальном сайте по ссылке: https://docs.openclaw.ai/start/showcase#-fresh-from-discord указаны различные реальные кейсы использования. Выбери 5 максимально различных кейсов и раскрой эти кейсы. Каждый кейс давай в структуре:

  1. как было по старому и основная боль

  2. раскрой user road, т.е. как пользователь взаимодействует с системой

  3. что получает в конце

  4. архитекура решения в разрезе сущностей и их взаимодействия.

1. AI-native Personal CRM с генеративным интерфейсом (Canvas + A2UI)

1. Как было по старому и основная боль
Контакты, сделки, заметки и история общения были разбросаны по Gmail, WhatsApp, Calendar, Notion и голове. Чтобы найти информацию по человеку, приходилось искать вручную в нескольких приложениях. Основная боль — потеря контекста и постоянный хаос.

2. User road
Пользователь пишет агенту в Telegram или WhatsApp:
«Покажи карточку Ивана Иванова» или «Создай сделку с Петровым на 500к».
Агент мгновенно открывает или обновляет Canvas с динамической карточкой (табы, поля, кнопки, история переписок). Пользователь взаимодействует прямо в Canvas — кликает кнопки, заполняет поля, агент реагирует в реальном времени.

3. Что получает в конце
Полноценный AI-native CRM прямо внутри чата + удобного визуального интерфейса. Все данные по контактам и сделкам собраны в одном месте, агент сам поддерживает актуальность и напоминает о важном.

4. Архитектура решения

  • Channel (Telegram/WhatsApp) → GatewaySessionAgent.

  • Agent использует Canvas skill + A2UI для генерации и обновления интерфейса.

  • Canvas отображается на Node (macOS app, iOS, Android или веб).

  • Operator управляет pairing и approvals.

  • Данные и память хранятся внутри Session.

2. Ежедневный утренний брифинг (Morning Brief)

1. Как было по старому и основная боль
Каждое утро приходилось вручную открывать календарь, почту, погоду, новости и Slack. На это уходило 10–15 минут, плюс постоянный информационный шум.

2. User road
Пользователь утром пишет «Бриф» или агент автоматически отправляет сообщение в 7:00. Дальше можно уточнять: «Добавь погоду в Москвеl» или «Покажи подробнее встречу в 11:00».

3. Что получает в конце
Красивый персональный дайджест за 2 минуты: календарь, погода, важные письма, топ-новости и задачи. Всё в одном сообщении, с возможностью углубиться через Canvas.

4. Архитектура решения

  • Gateway запускает scheduled job внутри Session.

  • Agent вызывает навыки (calendar, email, weather).

  • Результат отправляется через Channel (Telegram/WhatsApp), при необходимости используется Canvas для графиков.

  • Может работать как на основном Gateway, так и на Headless Node.

3. Общая семейная корзина покупок из группового чата

1. Как было по старому и основная боль
В семейном чате мама пишет «нужно купить молоко и хлеб», дочь добавляет «шоколадку», муж уточняет «хлеб бородинский». Сообщения теряются, дублируются, многое забывается.

2. User road
Члены семьи пишут в групповой чат Telegram. Агент автоматически собирает всё в единую корзину. В любой момент кто-то пишет «Покажи корзину» — открывается интерактивный Canvas со списком и кнопками «куплено / удалить».

3. Что получает в конце
Единая актуальная корзина покупок, которую удобно открыть в магазине на телефоне. Никто ничего не забывает, нет хаоса в чате.

4. Архитектура решения

  • Channel (Telegram group) → GatewaySessionAgent.

  • Агент парсит сообщения и сохраняет данные в память Session.

  • Canvas skill + A2UI отображает живой список с кнопками.

  • Mobile Node (iOS/Android) показывает Canvas в приложении.

  • Действия пользователя возвращаются агенту по WebSocket.

4. Мультиагентная «Dream Team» / Оркестрация нескольких агентов

1. Как было по старому и основная боль
Один большой агент быстро терял фокус на сложных задачах. Приходилось вручную копировать контекст между разными чатами и инструментами.

2. User road
Пользователь пишет главному агенту в Discord: «Запусти ежедневный roll call».
Главный агент автоматически делегирует задачи нескольким специализированным агентам. В конце все отчёты собираются вместе и присылаются пользователю.

3. Что получает в конце
Автоматическая ежедневная синхронизация нескольких агентов (стратегия, код, финансы, контент и т.д.). Пользователь получает только финальный отчёт без лишнего шума.

4. Архитектура решения

  • Gateway управляет несколькими Sessions (по одному на агента).

  • Главный Agent использует delegation между сессиями.

  • Каждый агент может работать на своём Node (отдельная машина или headless).

  • Общение происходит через Channel (Discord) и внутренний протокол Gateway.

5. Управление фермой 3D-принтеров Bambu Lab через физический Node

1. Как было по старому и основная боль
Владелец фермы принтеров постоянно проверял Bambu Studio и мобильное приложение, вручную запускал печать и следил за прогрессом. При сбое приходилось физически подходить к принтеру. Боль — потеря времени и риск испорченной печати.

2. User road
Пользователь пишет агенту в Telegram, WhatsApp или Discord: «Какой статус на X1C?», «Запусти Benchy с белым PLA», «Покажи камеру с принтера» или «Приостанови все печати».
Агент отвечает естественно, присылает фото с камеры и подтверждает действия.

3. Что получает в конце
Полноценное управление всей фермой 3D-принтеров Bambu Lab прямо из чата. Агент сам мониторит статус, уведомляет о завершении и ошибках, управляет очередью и показывает live-камеру.

4. Архитектура решения в разрезе сущностей и их взаимодействия

  • Headless Node (Raspberry Pi или мини-ПК рядом с принтерами) подключается к Gateway с ролью role: "node".

  • На Node установлен специализированный skill (bambu-cli / bambu-local), работающий по MQTT локально.

  • Channel (Telegram/Discord) → GatewaySessionAgent.

  • Agent вызывает команды на физическом Node через node.invoke (статус, запуск/пауза, камера, управление AMS и т.д.).

  • Результаты (текст + фото) возвращаются через Channel или отображаются в Canvas.

  • Operator один раз выполняет pairing и approves опасные команды.

Это отличный пример, как OpenClaw превращает физическое устройство в умного компаньона AI-агента.

Заключение

Если до этого диалога было сильное желание попробовать openclaw и смутное представление как он устроен, то теперь картина стала более ясной и мое желание только укрепилось.

Надеюсь статья вам тоже помогла прояснить внутреннюю кухню openclaw.

ссылка на оригинал статьи https://habr.com/ru/articles/1022488/