Разработчик за сутки собрал self-hosted мессенджер Calab с помощью ИИ-агентов
Разработчик под псевдонимом Fable 5.1 за одни сутки создал рабочий self-hosted мессенджер Calab, используя иерархию ИИ-агентов в Claude Code. Проект включает голосовые комнаты, стриминг экрана и чат, а весь код опубликован на GitHub.
В конце сентября разработчик, известный как Fable 5.1, начал эксперимент: за один вечер он отправил первый промпт с требованием создать аналог Discord, но с чатом как в Telegram и звуком как в Zoom. Уже на следующий день версия 0.3.1 оказалась в продакшене — с подписанными сборками для macOS, Windows и Linux, веб-версией и лендингом. За весь процесс он не написал ни строчки кода и не запустил ни одного теста вручную, а лишь отправил 90 сообщений, 29 из которых были скриншотами с указанием «сделай как тут». Продукт получил название Calab, а исходный код выложен на GitHub. Примечательно, что первый промпт был стеной текста без единой запятой, в которой смешались все требования: голосовые комнаты, роли и права, стриминг экрана, PostgreSQL и отдельное указание «эхо не должно быть совершенно».
Ключевая особенность Calab — это полноценный self-hosted мессенджер для команд, а не просто набор форм. В нём реализованы голосовые комнаты с кодеком Opus и технологией DTX, которая в тишине не отправляет пакеты вообще, снижая трафик до 0,1 кбит/с, а при речи — до 30–45 кбит/с. Шумоподавление RNNoise работает на устройстве, а эхоподавление AEC3 взято из стека WebRTC. Для стриминга экрана используется AV1 с simulcast: отправитель кодирует картинку в нескольких качествах, а зритель получает только тот слой, который реально видит, что позволяет экономить до 300 кбит/с на текстовых документах. Сервер написан на Go, клиенты — на Electron, а серверный образ весит около 20 МБ и в простое занимает около 40 МБ оперативной памяти. В пике над проектом параллельно работало около 12 ИИ-агентов, один из которых занимался кодеками, другой — TURN, третий — лендингом, а четвёртый — UX по скриншотам Discord.
Техническая архитектура Calab опирается на SFU LiveKit, который выступает в роли диспетчера, раздающего потоки каждому участнику. Если UDP-порты блокируются файрволом, соединение автоматически переключается на TCP, а затем на TURN/TLS через порт 443, маскируясь под обычный HTTPS. Это позволяет работать даже из-за VPN, что подтверждено тестами. Чат повторяет привычный интерфейс Telegram: пузыри сообщений, реакции, закрепы, упоминания, превью ссылок и поиск с морфологией. Гости могут заходить по ссылке без регистрации. Отдельно стоит отметить, что метод перемещения участников между комнатами есть у LiveKit только в облачной версии, поэтому агенты написали свой и оформили это как ADR-0019. Также были созданы ADR (architecture decision record) — короткие записи «что решили и почему», которые помогают поддерживать проект.
До этого эксперимента разработчик уже имел опыт использования ИИ-агентов, но в данном случае он применил иерархию: лид (Fable 5.1) не писал код, а координировал «Опусов», экономя ресурсы. Отдельный агент-стенд-инженер прошёл весь цикл: держал состояние сервера, деплоил, проверял, тегировал и публиковал релизы. За ночь подписка за $200 потеряла 30% недельного лимита, что автор считает приемлемой ценой за созданные сервер, клиент, стенд и подписанные сборки. Примечательно, что агенты завели себе аккаунты в Calab и общались между собой, обсуждая чек-листы релиза и дежурства по стенду. Это напоминает «восстание машин», но пока они просто работают. Позже лид разобрал причины излишнего расхода токенов (долгоживущие агенты с огромным контекстом, общее рабочее дерево, ревью, порождающие ревью, полные прогоны тестов) и переписал правила, после чего всё шло свежими агентами.
Для российского рынка подобный кейс может иметь двоякое значение. С одной стороны, он демонстрирует, что создание сложных продуктов с нуля становится доступным небольшим командам и даже отдельным разработчикам, что снижает барьеры входа. С другой — reliance на зарубежные сервисы, такие как Claude Code, GitHub Actions и S3, может ограничивать применение в условиях санкций. Тем не менее, открытый исходный код Calab позволяет развернуть мессенджер на собственных серверах, что важно для компаний, заботящихся о безопасности данных. В условиях импортозамещения подобные self-hosted решения могут стать альтернативой Slack и Discord, особенно если учесть, что сервер на Go нетребователен к ресурсам. Однако стоит учитывать, что для работы голосовых комнат и стриминга требуется стабильное соединение и правильно настроенный TURN-сервер, что может потребовать дополнительных компетенций от администраторов.
По сравнению с альтернативами, такими как Mattermost или Rocket.Chat, Calab выигрывает за счёт современных кодеков и легковесности, но проигрывает в зрелости и наличии готовых интеграций. Однако главное отличие — скорость разработки: за сутки был создан продукт, который обычно требует месяцев работы команды. Это ставит вопрос о будущем SaaS-моделей: если один разработчик с ИИ может создать аналог Discord, то традиционные SaaS-сервисы могут столкнуться с конкуренцией со стороны кастомных решений. Вопрос лишь в поддержке и развитии таких проектов. Пока неясно, насколько легко будет масштабировать Calab на сотни и тысячи пользователей, как обеспечивается безопасность и какие юридические аспекты использования ИИ-агентов могут возникнуть.
В дальнейшем автор планирует опубликовать цифры по стоимости в долларах и список ошибок нейросетей, чтобы история не выглядела слишком идеальной. Открытыми остаются вопросы масштабирования, безопасности и юридические аспекты использования ИИ-агентов. Если Calab получит развитие, он может стать примером нового подхода к разработке, где человек выступает заказчиком, а ИИ — исполнителем. Пока же проект доступен на GitHub, и любой желающий может развернуть его у себя.