Cluster · разработчикам

Cluster

Cluster содержит ядро Telegram-юзербота с модулями и HTTP API для управления. Сайт на React и TypeScript находится в web/. Он собирается отдельно и работает через API ядра. Порядок сборки и запуска приведён в документации сайта.

Пользователь создаёт профиль, подтверждает почту и подключает Telegram-аккаунт. Дальше можно устанавливать модули из вебшопа, менять их права и настройки, создавать расписание и обмениваться данными с другими юзерботами. У одного модуля может быть несколько экземпляров со своими данными.

Функционал

Модули выполняются в отдельных средах gVisor. Ядро проверяет каждое обращение к своим функциям. Файл Telegram-сессии, токены ботов и служебная база модулю не передаются.

Для хранения используется Mekansm. Ядро и HTTP-служба написаны на Python.

Установка

Нужны Linux, cgroup v2, systemd, Podman, gVisor/runsc, CPython 3.12-3.14 и Mekansm 3.0.0.

Параметры служб, образы и порядок запуска приведены в развёртывании. Почта, сервисный бот BridgeSentinel и собственные параметры Telegram подключаются отдельно.

Ограничения

Сервис работает на одном узле. Терминал также не получает Telegram-сессию. Страницы модулей собираются из элементов ядра, произвольный HTML и JavaScript не выполняются.

Оплата через Stripe поддерживает тестовый и рабочий режимы с автоматическим продлением. Режим и закрытые реквизиты задаются отдельно, по умолчанию используется песочница. Есть также локальная проверка продления без провайдера. Настройка приведена в PAYMENTS.md. Продажи модулей пока не реализованы.

Документация

Для авторов модулей: руководство по разработке, публикация в вебшопе и проверка перед выпуском.

Все разделы, устройство проекта, функционал, API модуля, вебшоп, пульт, развёртывание.