Как я за 3 дня развернул корпоративный мессенджер с ИИ-ботом, который не боится отключения интернета

В нынешних реалиях полагаться на Telegram или Slack в бизнесе — это как строить дом на чужой земле. Завтра отзовут лицензию, заблокируют аккаунт или просто «отключат рубильник» на магистрали.

Как я за 3 дня развернул корпоративный мессенджер с ИИ-ботом, который не боится отключения интернета

День 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), который стал полноценным участником команды.

Что умеет бот:

  1. Модерация: Автоматически предупреждает, если кто-то переходит на капс или использует ненормативную лексику.
  2. Доступ к данным: Бот подключен напрямую к нашей базе данных. Прямо в чате можно написать !статус_проекта и получить актуальные цифры, не открывая тяжелые CRM-системы.
  3. Агрегация: Бот собирает данные из других наших проектов по API и раз в день выкидывает сводку в админский чат.

Инструкция «для домохозяек»

Чтобы сотрудники не мучились с настройкой, я подготовил простую инфографику. Весь путь регистрации сократился до 3 шагов:

  1. Зайти на наш внутренний URL.
  2. Придумать короткий логин (сервер подставится сам).
  3. Скачать Element Classic на телефон и сообщить логин админу.

Итоги в цифрах

  • Затраты на софт: 0 рублей (всё open-source).
  • Затраты на железо: бюджетный VPS или старый сервер в углу офиса.
  • Время: 3 дня от идеи до первого сообщения.
  • Уровень приватности: 100%. Мы сами владеем ключами шифрования и базой данных.

Почему это важно?

Мы привыкли, что технологии — это где-то «там», в облаке. Но настоящий суверенитет бизнеса начинается с владения своими коммуникациями. Теперь, даже если весь мир уйдет в офлайн, наш локальный «матрикс» будет жить.

8 комментариев