Тотум Онлайн
Тотум Онлайн

Когда разработчики заняты или их нет, а автоматизация компании до сих пор в эксельке, и пора уже переезжать на что-то более устойчивое — посмотрите на Тотум: self-hosted, можно запустить на плате от микроволновки, бесплатен для двух пользователей, имеет понятный табличный интерфейс, разделение прав пользователей, программируется текстовыми инструкциями с простым синтаксисом, но при этом позволяет делать сложные вещи. А сейчас еще и довайбкодить можно чего не хватает. Если вы разработчик — посмотрите, может, вам подойдет как клей между данными, человеком и LLM-ками.

История началась в далеком 2016 году, когда у меня был небольшой свечной заводик. Не свечной, конечно, но все же производство — и нужно мне было на нем сделать автоматизацию. Чтобы компоненты закупались вовремя, списывались со склада в правильном количестве и автоматически планировалось, какие операции делать в рамках рабочего дня. Тогда я впервые подумал, что неплохо бы иметь программируемый конструктор — что-то типа MS Access, но только в web и чтобы логика и запросы программировались одинаково и понятно.

То производство закрылось, и я некоторое время занимался тем же самым уже на производстве побольше, а потом — на еще одном, у которого цех был по соседству. Тут и решили не писать всё каждый раз с нуля, а сделать нормальную тиражируемую систему. Как эксель, но по-другому, и уже на ней конструировать такие приложения для цеха.

Так появился Тотум Онлайн (который теперь даже в реестр Росийского ПО записан :-)

Образец интерфейса
Образец интерфейса

План был, конечно, всё сделать за 7 месяцев... эмм, получилось немного подольше, но вполне достойно — и теперь годится не только для производств, а также для:

  • логистики

  • обработки медицинских данных

  • учета продаж и документов

  • управления контентом и складом большой базы товаров

  • управления данными для LLM

  • маркетинговых данных

  • какой-то крипты

  • чего-то в агропроме

  • и прочего разного, где есть данные, и их надо обрабатывать: автоматически, человеком или при помощи LLM — или всё это вперемешку.

Сайт: https://ru.totum.online

Демка (посмотреть как пользователь): https://revizor-ru.totum.online/Auth/Token/m-4cdfb855ac39a7322b0f39042a382e91
Поставить себе попробовать: https://ru.docs.totum.online/ubuntu
Github: https://github.com/totumonline/totum-mit
Telegram: https://t.me/totumonline (тут новости выкладываем)

Как это всё сделано технически

Это PostgreSQL + логическое ядро на PHP + компилированный модуль на Go (который решает некоторые специфичные для него задачи). Относится стоит к этому как к бинарнику, ни PHP ни GO при настройке не используются.

Для описания логики внутри используется собственный упрощённый DSL — на нём формулируются запросы к данным, задаются вычисления, условия, действия и форматирование элементов интерфейса. Это не язык — это такой конфиг на стероидах, текстовые инструкции вобщем вместо квадратиков и стрелочек.

В интерфейсе при этом используется подход «данные и есть интерфейс» — то есть всё это таблицы в той или иной форме, с добавлением всплывающих окон, кнопок, разных типов данных и т. п.

Темный хипстерский режим
Темный хипстерский режим

Эти же таблицы и есть встроенная IDE — у админа есть свой слой данных поверх таблиц, чтобы видеть, где какие типы, ключи вызова, где стоят триггеры действий. Админ имеет доступ к кодам полей — в общем, всё, что нужно для разработки.

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

Возможность застрелиться, конечно, остаётся — но в рамках той спирали сложности, которую предлагает платформа начать можно с простого решения, а потом постепенно наращивать уровень, используя продвинутые приёмы под большую нагрузку.

Подойдёт ли под нашу задачу

Если вы можете представить, как ваши данные укладываются в таблицу — то, скорее всего, ответ «да». Конечно, у любой платформы есть ограничения, и реализовать любые безудержные пожелания не всегда получится.

Самый простой способ понять, подходит ли вам Totum — установить и попробовать реализовать небольшую часть своей задачи. Пары-тройки вечеров вполне хватит, чтобы сориентироваться.

По части логики ограничений почти нет: можно строить довольно сложные сценарии, расчёты и автоматизацию. А вот по части UX — есть.

Даже графики есть, но если их нужно много, то лучше приконнектить BI-систему
Даже графики есть, но если их нужно много, то лучше приконнектить BI-систему

Totum построен на идее параметрического дизайна: поля не ставятся мышкой куда угодно, а выстраиваются в зависимые последовательности, которыми можно управлять через настройки и коды форматирования — но только в определённых рамках.

Open source (уже нет)

Когда-то проект был совсем бесплатным — сейчас это не так. В результате всех экспериментов получилась такая конфигурация:

Есть MIT-версия, можете поставить ей звёздочку на GitHub, можете не ставить — звёздочки ни на что не влияют. Она, скорее, рудимент — как копчик у человека. В ней нет вызовов по HTTP, кронов, демонов, продвинутых отображений и прочего — в общем ставьте сразу PRO.

PRO — тот проект, которым мы реально дальше занимаемся.

Установить PRO можно бесплатно: от имени Админа работать можно без лицензии. Также можно зарегистрироваться на сайте лицензий — https://license.totum-online.ru и выпустить на свой сервер бесплатную лицензию на двух пользователей (помимо админа).

Хотите просто потыкать — вот демка, в которую можно зайти как пользователь: https://revizor-ru.totum.online/Auth/Token/m-4cdfb855ac39a7322b0f39042a382e91

Хотите посмотреть от имени Админа — ставьте Totum на свою виртуалку.

Два бесплатных пользователя подойдут для тестов или небольшого проекта. Процесс получения бесплатной лицензии полностью автоматический — без писем, одобрений и прочих ритуалов. Просто заходите на сервер лицензий, вводите свои данные, получаете ключ, записываете его на сервер — и всё. Он будет действовать до 2055 года.

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

Установка — одной командой на Ubuntu 24.04, она хорошо документирована, доступна у любого хостера, легко обслуживается кем угодно. В какой-то момент нам стало понятно, что сто разных способов установки (в Docker, CentOS, Red Hat и прочих) поддерживать сложно и они были упразднены.

Получается dev-бесплатно, а когда проект уже переходит в эксплуатацию — просто покупаете лицензию на нужное количество пользователей. Цены лицензий такие, что обсуждать их это примерно как обсуждать стоимость билета в автобусе — вроде и не бесплатно, но позволить себе может каждый. При оплате на 6 или 12 месяцев действует скидка, лицензии можно продлевать и расширять. Есть и lifetime-лицензии, но они скорее “для красоты” — реальные пользователи обычно берут на 1-3, 6 или 12 месяцев.

Кроме пользовательских лицензий есть и разработческие: можно создать собственный проект на Totum, который будет требовать специальную лицензию для работы. Это позволяет делать производные системы на базе платформы.

Пример производного проекта: https://ru.revizor.online/ AI‑помощник который проверяет счета на закупки и находит, где купить дешевле (расскажу про него в отдельной статье). Этот же проект является учебным демонстрационным пособием — его просто можно поставить, что бы посмотреть используемые подходы.

Еще картинка интерфейса
Еще картинка интерфейса

Клей для человека, данных и LLM

Сейчас изо всех утюгов для выстраивания LLM-пайплайнов рекомендуют n8n. Это действительно классная система, в которой можно быстро и наглядно собрать достаточно объёмный процесс.

Totum в этом направлении, как программируемая информационная система, тоже имеет несколько преимуществ:

  • Totum — это база данных

    А любая экономически оправданная LLM-обработка — это работа с большим объёмом данных и их точной компиляцией под конкретный промпт. При этом компиляция может быть динамической и зависеть от множества условий — что прекрасно реализуется логическим слоем Тотума.

  • В реальных задачах человека из процесса полностью не убрать

    В основном потому, что входные данные создаёт сам человек, а он бывает неточен и неоднозначен. Например, система анализирует счета, но там легко может оказаться что-то вроде: «Лист металла, количество — X, стоимость — Y». Здесь человек, который знает, что это был за металл, оказывается незаменим для корректного завершения задачи определения адекватности цены Y.

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

  • LLM-пайплайны — это ещё и сеть

    Исходящие и входящие соединения с отслеживанием Totum тоже умеет. Исходящие вызовы — это аналог curl, входящие — эндпойнты, которые вы программируете сами. Когда на эндпойнт приходит запрос, система проверяет доступ и выполняет нужные действия, используя пришедшие данные.

    Исходящие вызовы могут запускаться по триггерам — нажатию кнопки, изменению поля, добавлению/удалению строки и т. п., или асинхронно по выполнению условий.

    Модуль на Go, постоянно работающий в рантайме, позволяет запускать в нём аналоги daemons, которые с заданным интервалом проверяют условия и, если нужно, выполняют действие — например, отправляют файл на обработку LLM-ке.

  • Нужно вызвать Python или Node.js-обработчик?

    Не проблема: Totum может выполнять SSH-скрипты. Например, читалку .dxf-чертежей удобно «довайбкодить» на Python: разместили скрипт на сервере, файл загрузили в Totum, вызвали обработку через SSH-CLI-команду, получили результат — и записали его в нужные поля. Дальше — чистая логика Totum, как вам нужно.

  • Нужно подключиться к MySQL или другой БД?

    Сможете подключить и вызвать ее из Тотум, выполнить любой SQL-запрос и получить обратно данные в том виде в котором их понимает платформа.

  • Упаковать в готовое решение или как SaaS

    Всё это можно собрать как отдельное приложение или как SaaS-сервис: добавить регистрацию пользователей, оплату, учёт токенов — и получить коммерческое решение.

    Пример такого проекта на Тотум — https://ru.revizor.online/. Со всеми экспериментами финальная версия заняла 1 месяц работы одного человека.

Админский интерфейс
Админский интерфейс

Vendor lock, техподдержка, обучение

Про low-code-системы много разговоров, особенно про vendor lock. Да, мы действительно съехали с MIT-лицензии — просто потому, что оплата за лицензию (пусть и небольшая) оказалась самым понятным для всех способом поддерживать и развивать проект дальше. Пользователь получает гарантию устойчивости, мы — ресурсы на корм. Всё просто.

Для действительно небольших проектов бесплатная лицензия на двух пользователей is enough, но без техподдержки.

Для больших проектов — в декабре-январе вы сможете полностью владеть вашей версией, оплачивая ее в рассрочку. Мы встроим в GO-модуль (он отвечает за лицензии) возможность подтверждать лицензию через платеж по заранее определенному для проекта адресу в блокчейн и по заранее определенной и встроенной в проект стоимости за пользователя. Если вдруг нас купит Беф Джезос или фонд рептилоидов с Марса, то они физически не смогут вам повысить стоимость в 100 раз, всегда будет вариант оплатить автономно в крипте по заранее определенным на весь срок эксплуатации условиям.

На практике отказы от эксплуатации Totum бывают редко, а расширения лицензий — часто. Например, был у людей один проект, расширились потом ещё на три дополнительных.

Обучение и подготовленные специалисты

Тотум — это не тот случай, где нужны годичные курсы и сертификат, чтобы сделать табличку. Если вы когда-то писали что-то на Фортране в институте, вы сисадмин, продакт, проджект или тестировщик — при любом около-ИТ-бэкграунде и наличии задачи уже через пару недель по вечерам у вас что-то будет работать.

Чтобы облегчить процесс, есть учебный курс, AI-бот и техподдержка.

Курс — бесплатный, техподдержка доступна по оплаченной лицензии, AI-бот работает за токены (пока он так себе, но станет лучше).

На текущий момент AI, конечно, сам систему по промпту не соберёт (ждём следующее поколение моделей), но как помощь в непонятных моментах — вполне годится. Если AI отвечает что-то странное — спрашиваете Техподдержку, там живой человек посмотрит и пришлет ответ.

Начать можно с небольшого мастер-класса, где за 20–30 минут собирается рабочая согласовалка закупочных счетов: https://ru.docs.totum.online/workshops-1

Админский темный интерфейс
Админский темный интерфейс

Когда точно не нужно использовать Тотум

Чего у Тотума точно нет — это встраивания в CI/CD-пайплайны. Просто не тот масштаб.

Тотум — это: один сел, развернул виртуалку, через пару недель по вечерам уже можно работать в продакшене. А дальше — по ходу надстраиваешь логику.

Хотя система рассчитана на одного разработчика, у неё есть встроенные механизмы копирования структур данных между базами. На проектах покрупнее обычно используется схема dev–prod или dev–stage–prod, а на небольших — можно спокойно работать прямо на проде, особенно если добавляете функционал сбоку.

Тесты тоже можно сделать, используя логический слой платформы — но, если честно, мы не видели, чтобы кто-то это реально делал.

Как заключение

Несмотря на весь хайп с вайбкодингом, данные и базы, в которых они хранятся, никуда не денутся. Задачи — понимать, что происходит в ПО и что там на что умножается — тоже никуда не денутся. Декомпозиция больших решений со сложной логикой на отдельные, понятные человеку кусочки и дальше будет востребована — и Totum, как нам кажется, для этого неплохой инструмент.

Попробуйте — это бесплатно. Структуру набросали, дополнительные скрипты довайбкодили и подключили по триггерам. Дальше, если пошло — просто докупите лицензию по цене чашки кофе, подключите пользователей и всё.

До встречи и интересных вам проектов!

Сайт: https://ru.totum.online

Демка (посмотреть как пользователь): https://revizor-ru.totum.online/Auth/Token/m-4cdfb855ac39a7322b0f39042a382e91
Поставить себе попробовать: https://ru.docs.totum.online/ubuntu
Github: https://github.com/totumonline/totum-mit
Telegram: https://t.me/totumonline (тут новости выкладываем)

Комментарии (2)


  1. Vvintage
    19.11.2025 11:40

    А не планируете сделать Docker контейнер?

    Вы позиционируете продукт как быстрозапускаемый и поддерживаемый силами одного разработчика/аналитика, но при этом для self-hosted варианта требуется целая VM, на которой Ваш скрипт устанавливает PHP, Nginx, сертификаты, прописывает репозитории..

    На мой взгляд у такой VM появляется много настроек (т.е. потенциальных уязвимостей), о которых разработчик не в курсе, и за которыми надо приглядывать.


    1. AlexeyPolunin Автор
      19.11.2025 11:40

      Был Докер — убрали. Основная масса пользователей не является виртуозами администрирования и слой докера делал для них практически невозможным обновления и настройки, а для нас, возможность как-то им вменяемо дистанционно помочь.

      А виртуалка с NGINX/PHPFPM и certbot получается простая и понятная как топор, ansible все ставит замечательно, ноль проблем в последнее время.