Архитектура Clawdbot

Глубокое погружение в архитектуру ИИ-ассистента Clawdbot. Узнайте о модели Gateway-Agent, WebSocket API, потоке сообщений и дизайне системы.

Обзор архитектуры Clawdbot

Clawdbot следует архитектуре Gateway-Agent, которая разделяет ответственность между транспортировкой сообщений и обработкой ИИ. Такой дизайн обеспечивает масштабируемость, надёжность и поддержку нескольких каналов.

Компоненты системы

Уровень шлюза

Шлюз Clawdbot — это центральный координатор:

КомпонентОтветственность
Менеджер соединенийПоддерживает соединения с провайдерами
Маршрутизатор сообщенийНаправляет сообщения к агентам
Менеджер сессийУправляет состоянием разговора
WebSocket-серверПредоставляет типизированный API

Уровень агентов

Агенты Clawdbot обрабатывают ИИ:

КомпонентОтветственность
RuntimeВыполняет логику агента
Исполнитель инструментовЗапускает инструменты и навыки
Менеджер контекстаУправляет контекстом разговора
Генератор ответовГенерирует ответы ИИ

Поток сообщений

Входящий поток

Provider → Gateway → Router → Agent → Runtime
  1. Провайдер получает сообщение
  2. Шлюз нормализует формат
  3. Маршрутизатор выбирает целевого агента
  4. Агент обрабатывает сообщение
  5. Runtime генерирует ответ

Исходящий поток

Runtime → Agent → Gateway → Provider → User
  1. Runtime генерирует ответ
  2. Агент форматирует сообщение
  3. Шлюз направляет к провайдеру
  4. Провайдер доставляет сообщение

WebSocket API

Подключение

const ws = new WebSocket('ws://localhost:3010');

ws.on('open', () => {
  ws.send(JSON.stringify({
    type: 'auth',
    token: 'your-token'
  }));
});

Типы сообщений

ТипНаправлениеОписание
authКлиент→СерверАутентификация соединения
messageДвунаправленныйОтправка/получение сообщений
statusСервер→КлиентОбновления статуса соединения
typingСервер→КлиентИндикаторы набора текста

Управление состоянием

Состояние сессии

Clawdbot поддерживает состояние на нескольких уровнях:

Global State
  └── Agent State
        └── Session State
              └── Message State

Сохранение состояния

Тип состоянияХранилищеЖизненный цикл
Глобальноеclawdbot.jsonПостоянное
Агентаagents/<id>/Для каждого агента
Сессииsessions/<key>.jsonlДо истечения срока
СообщенияВ памятиДля каждого запроса

Масштабируемость

Горизонтальное масштабирование

Clawdbot поддерживает горизонтальное масштабирование:

  • Несколько экземпляров шлюза за балансировщиком нагрузки
  • Общее хранилище сессий для согласованности
  • Обработка сообщений без сохранения состояния

Лимиты ресурсов

РесурсПо умолчаниюНастраиваемый
Макс. соединений100Да
Буфер сообщений1000Да
Таймаут сессии24чДа

Модель безопасности

Аутентификация

  • Аутентификация по API-ключу
  • Аутентификация WebSocket на основе токена
  • Учётные данные для каждого провайдера

Авторизация

  • Разрешения на уровне инструмента
  • Изоляция на уровне агента
  • Контроль доступа на уровне сессии

Следующие шаги