Как я за 3 дня развернул корпоративный мессенджер с ИИ-ботом, который не боится отключения интернета
В нынешних реалиях полагаться на Telegram или Slack в бизнесе — это как строить дом на чужой земле. Завтра отзовут лицензию, заблокируют аккаунт или просто «отключат рубильник» на магистрали.
День 1: Выбор фундамента (Matrix + Synapse)
Я сразу отмел самописные чаты на сокетах. Нужно было решение с шифрованием, мобильными приложениями и поддержкой федерации. Выбор пал на Matrix.
- Сервер: Synapse (написан на Python, эталонная реализация).
- База данных: PostgreSQL (надежно, легко бэкапить).
- Среда: Docker Compose. Это позволило поднять всё одной командой.
Техническая деталь: Чтобы мессенджер был доступен извне, я использовал Nginx в качестве Reverse Proxy и получил бесплатные SSL-сертификаты от Let's Encrypt.
Главная фишка: Поскольку сервер стоит внутри нашей локальной сети (или в частном облаке), сотрудники в офисе обращаются к нему по локальному IP. Если интернет «падает», внутренняя переписка не прерывается ни на секунду.
День 2: Голос и видео (CoTurn)
Чаты — это просто, но бизнесу нужны звонки. В Matrix за это отвечает протокол WebRTC. Чтобы звонки проходили через корпоративные брандмауэры и NAT, пришлось поднять STUN/TURN сервер (CoTurn).
Тут я потратил полдня на отладку порта 5349 и сертификатов. Зато теперь звонок из Москвы в Брест проходит с минимальной задержкой, а трафик шифруется и не уходит на серверы сторонних корпораций.
День 3: Бот-надзиратель и «Мозги»
Просто чат — это скучно. Я написал на Python бота (matrix-nio), который стал полноценным участником команды.
Что умеет бот:
- Модерация: Автоматически предупреждает, если кто-то переходит на капс или использует ненормативную лексику.
- Доступ к данным: Бот подключен напрямую к нашей базе данных. Прямо в чате можно написать !статус_проекта и получить актуальные цифры, не открывая тяжелые CRM-системы.
- Агрегация: Бот собирает данные из других наших проектов по API и раз в день выкидывает сводку в админский чат.
Инструкция «для домохозяек»
Чтобы сотрудники не мучились с настройкой, я подготовил простую инфографику. Весь путь регистрации сократился до 3 шагов:
- Зайти на наш внутренний URL.
- Придумать короткий логин (сервер подставится сам).
- Скачать Element Classic на телефон и сообщить логин админу.
Итоги в цифрах
- Затраты на софт: 0 рублей (всё open-source).
- Затраты на железо: бюджетный VPS или старый сервер в углу офиса.
- Время: 3 дня от идеи до первого сообщения.
- Уровень приватности: 100%. Мы сами владеем ключами шифрования и базой данных.
Почему это важно?
Мы привыкли, что технологии — это где-то «там», в облаке. Но настоящий суверенитет бизнеса начинается с владения своими коммуникациями. Теперь, даже если весь мир уйдет в офлайн, наш локальный «матрикс» будет жить.