
Когда разработчики заняты или их нет, а автоматизация компании до сих пор в эксельке, и пора уже переезжать на что-то более устойчивое — посмотрите на Тотум: 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 — есть.

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 (тут новости выкладываем)
Vvintage
А не планируете сделать Docker контейнер?
Вы позиционируете продукт как быстрозапускаемый и поддерживаемый силами одного разработчика/аналитика, но при этом для self-hosted варианта требуется целая VM, на которой Ваш скрипт устанавливает PHP, Nginx, сертификаты, прописывает репозитории..
На мой взгляд у такой VM появляется много настроек (т.е. потенциальных уязвимостей), о которых разработчик не в курсе, и за которыми надо приглядывать.
AlexeyPolunin Автор
Был Докер — убрали. Основная масса пользователей не является виртуозами администрирования и слой докера делал для них практически невозможным обновления и настройки, а для нас, возможность как-то им вменяемо дистанционно помочь.
А виртуалка с NGINX/PHPFPM и certbot получается простая и понятная как топор, ansible все ставит замечательно, ноль проблем в последнее время.