Calab 1.6 · открытый код · на вашем сервере

Голос, чат, встречи и задачи для вашей команды

Мессенджер, где голос на первом месте: комнаты всегда открыты, рядом чат как в Telegram, календарь со встречами, доски задач и звонки на телефон. Ставится на ваш сервер одной командой или работает в облаке. Написан нейросетью от первой строки.

  • Код открыт на GitHub
  • macOS · Windows · Linux · Web
  • 0,05 % CPU без звонка
Окно Calab во время планёрки: на сцене слайд «Релиз 1.1», ниже камеры участников, слева комнаты пространства

Так выглядит Calab: планёрка со стримом слайда и камерами участников

Голос и видео

Зашли в комнату — и говорите

Голосовые комнаты всегда открыты: один клик, и вы в разговоре. Кто говорит, видно прямо в списке комнат. Камеры, показ экрана и звонки один на один — там же, без отдельных ссылок и приложений.

  • Чистый звук без внешних сервисовЭхоподавление AEC3 и шумоподавление RNNoise работают на устройстве. Push-to-talk на любую клавишу или активация голосом, в том числе в фоне.
  • Стрим экрана и камераAV1 или аппаратный H.264 с simulcast: каждый зритель получает качество под свой канал. Указка и рисование поверх стрима, камера с размытием или картинкой вместо фона.
  • Запись встреч с транскриптомСервер записывает встречу, после неё в чат комнаты приходит карточка с саммари, аудио и полной расшифровкой через GPTunneL.
  • Временные комнаты и модерацияКомната на час или день с готовой гостевой ссылкой — для созвонов с клиентами. Серверный mute, перенос участников перетаскиванием, саундборд на всю комнату.
0,1 кбит/с
голос в тишине
AV1
стрим с simulcast
Звонок один на один в личных сообщениях Calab: таймер звонка и кнопка «Завершить» в шапке, внизу панель голоса
Качество звука

Голос без компромиссов, а для музыкантов — без обработки

Качество задаёт комната: от 8 кбит/с для плохой связи до 64 кбит/с в полной полосе до 20 кГц. В паузах голос почти не расходует канал.

Четыре уровня комнаты

Низкое 8 кбит/с, нормальное 16, хорошее 32 (по умолчанию) и отличное 64 кбит/с — Opus в полной полосе до 20 кГц.

Режим музыканта

Играть на инструменте и петь вживую: эхо- и шумоподавление выключены, микрофон уходит в музыкальном профиле Opus — 128 кбит/с моно или 192 кбит/с стерео. Нужны наушники. Тарифы Team и выше.

Звук стрима как есть

Музыка и демонстрации звучат без обработки, а голоса собеседников в стрим не попадают (macOS 14.2+, Windows 11).

Личный потолок

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

Шумоподавление по желанию

RNNoise включается, когда нужно, и засыпает в паузах; пока он выключен, работает встроенный шумодав Chromium.

Экономно в тишине

Пока микрофон молчит, голос занимает около 0,1 кбит/с. Стрим статичного экрана — 20–300 кбит/с.

Чат и личные сообщения

Чат как в Telegram

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

  • Поиск с морфологиейПо комнате и по всему пространству, быстрый переход ⌘K по комнатам, участникам и сообщениям, входящие с непрочитанными упоминаниями.
  • Личные сообщенияТа же лента, что в комнатах, плюс архив переписок и звонок в один клик.
  • Задачи прямо из чатаЗадачу можно создать из любого сообщения, а ссылка на неё разворачивается в чате карточкой.
@упоминанияреакциистикерпакиголосовыепересылкапоиск
Канал «общий» в Calab: макет с реакциями, ответ на него, стикер и список участников в сети
Календарь и встречи

Встречи там же, где разговор

Календарь встроен в приложение: день со встречами, ответы участников, комната встречи с кнопкой «Перейти», повторяющиеся встречи и напоминания за 15 минут.

  • Приглашения .icsПисьмо с invite.ics добавляет встречу в Apple, Google, Outlook или Яндекс Календарь. Внешние участники отвечают по ссылке и входят гостем.
  • Подобрать времяКолонки занятости коллег, общие свободные окна и ближайшие слоты в рабочие часы — клик создаёт встречу.
  • CalDAVПодключите календарь Яндекса, iCloud, Fastmail или Nextcloud: занятость учитывается, внешние события видны в дне, встречи Calab появляются там сами. Тарифы Team и выше.
Календарь Calab на день: встречи бок о бок, линия «сейчас» и карточка встречи с участниками
Доски задач и согласование

Задачи рядом с разговором

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

  • Всё для планированияСтатусы, приоритеты, лейблы, вехи и сроки, несколько исполнителей с ведущим, подзадачи и связи, фильтры и сохранённые виды.
  • Согласование задачНазначьте согласующих и сколько нужно одобрений — все или N из M. Пока задача не согласована, дальше по доске она не двигается; отказ — с комментарием.
  • Приватные и закрытые доскиДоступ по ролям и людям, как к комнатам; закрытую доску не видят даже администраторы.
3 вида
канбан · список · таймлайн
N из M
одобрений для задачи
Доска задач Calab канбаном: колонки статусов с карточками, лейблами, сроками и исполнителями
Звонки на телефон

Позвоните на любой номер — прямо из комнаты

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

  • Статус виден всем«Набираем… → Звонит… → В разговоре 02:14». Завершить звонок могут звонивший и модераторы.
  • Проверка и журнал«Проверить подключение» — пробный звонок на ваш Caller ID; журнал: кто, когда, куда и чем закончилось.
  • Под контролем администратораПраво «Звонить на номера» по умолчанию ни у кого, один звонок на комнату, до 20 в час на пространство, направления — по префиксам. Звонки оплачиваются у вашего провайдера.
Список участников голосовой комнаты Calab: среди людей телефонная линия с иконкой трубки, номером и статусом «В разговоре»
Веб-приложения

Ваши сервисы — в одном окне со звонком

Администратор закрепляет в левой панели ярлыки сайтов — Grafana, вики, CRM. Клик — и сайт открывается прямо в Calab на всё окно, а звонок продолжается.

  • До 20 приложений на пространствоЯрлык — картинка, название и адрес, порядок меняется перетаскиванием. Видят все, кроме гостей.
  • Логины отдельноВходы на сайтах хранятся для каждого приложения отдельно и не смешиваются с Calab; камера и микрофон — только с вашего разрешения.
  • Не тормозит в фонеСкрытое приложение, которое ест больше 2 % ядра, выгружается через 15 секунд — логины остаются.
Окно Calab: в левой панели ярлыки Grafana, вики и CRM, открыт дашборд Grafana на всё окно, внизу панель идущего звонка
Заметки

Личные полки для всего важного

До 20 полок со своими названиями и эмодзи — как «Избранное» в Telegram, только несколько. Полку видите только вы.

  • Перетащите или перешлитеСообщения из чатов и файлы из Finder или Проводника — прямо на полку.
  • Как обычный чатЗакрепы и поиск по заметкам работают так же, как в комнатах.
Заметки в Calab: полки «Идеи», «Ссылки», «К релизу» и открытая полка с заметками и пересланным сообщением
Гости

Гости без регистрации — с вашего разрешения

Гостевая ссылка ведёт прямо в комнату: гость вводит имя и оказывается в разговоре. Нужен контроль — включите подтверждение, и организатор нажмёт «Пустить».

  • Гость видит только свою комнатуГости не входят в лимит участников, а администратор может сделать гостя участником.
  • Зал ожиданияПодтверждение для комнаты или отдельной ссылки, у организатора — звук и счётчик ожидающих.
Экран гостя в Calab: «Ожидаем подтверждения организатора…» с названием комнаты и кнопкой «Отменить»
Боты, API и SDK

Бот — такой же участник, как все

Бот работает через тот же API, что и приложение, и видит ровно то, что разрешено его ролям. Bot API v2 покрывает почти всё, что делает человек.

Чат

Читает и пишет в доступных комнатах и личке, отвечает на /команды, ставит кнопки под сообщениями.

Задачи

Создаёт, меняет, назначает и комментирует задачи на досках, ищет по ним.

Календарь

Назначает и переносит встречи, смотрит «свободно/занято» и подбирает время.

Голос

Заходит в комнату через LiveKit: слышит участников и говорит сам — на Node, Python или Go.

Участники

Профили с открытыми задачами, приглашения по ссылке и почте, бейджи, пропуск гостей.

Запись встреч

Запускает и останавливает запись — транскрипт и саммари придут карточкой в чат.

WebSocket или webhook

События в реальном времени или POST с подписью HMAC-SHA256 и повторами при сбоях.

SDK на TypeScript

@calaba/bot-sdk и примеры: эхо, голосовое эхо, озвучка текста, бот на Python.

Производительность

Лёгкий — и это измерено

Процессор меряем на реальной машине и публикуем цифры вместе с методикой. Средняя нагрузка без звонка, % одного ядра: Calab и Discord на одном Mac, подряд, в одинаковых условиях.

CalabDiscord0.0.413
Без звонка, окно видно0,05 %0,97 %
Без звонка, окно скрыто0,2 %0,85 %

MacBook Air (Apple M4, 10 ядер, 24 ГБ), macOS 27; сумма по всем процессам приложения, выборка раз в 5 с в течение 3 минут, один прогон на сценарий. Звонки Discord мы не измеряли, поэтому по голосу не сравниваем. Сам Calab в голосе с тихой комнатой — около 7 % (было 15 %), скрытое окно не декодирует видео. На другой машине цифры будут другими. Методика и все замеры

Свой сервер и безопасность

Сделан для команд, у которых есть админ, а не отдел DevOps

Всё нужное — в одном docker compose: Caddy, LiveKit, Go-API, PostgreSQL и Valkey. Никаких внешних сервисов.

Роли по функциям

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

Закрытые разделы

Приватные комнаты и доски видны только списку людей, закрытые — даже не администраторам. Всё, что вам не видно, отвечает «не найдено».

Работает за файрволом

UDP → TCP → TURN через 443 автоматически: для сети это обычный HTTPS. Хватает одного публичного IP.

Шифрование в пути

Медиа — DTLS-SRTP, API — HTTPS/WSS, HSTS и строгая CSP, argon2id, ротация refresh-токенов. Сквозного шифрования пока нет.

Права проверяет сервер

Одна функция прав на сервере и в клиенте с общими тест-векторами; клиент лишь скрывает интерфейс.

Эксплуатация

Сертификаты Let's Encrypt, ежедневные бэкапы с проверенным восстановлением, метрики Prometheus, файлы на диске или в S3, автообновление приложений.

Написан нейросетью

Issue на GitHub закрывает нейросеть. Человек только одобряет

Calab написан моделями от первой строки: архитектура, код, тесты, документация и changelog. Тот же конвейер обслуживает задачи от пользователей: единственная ручная кнопка — одобрение, чтобы никто не заставил нейросеть навредить проекту.

GitHub Issues
План выполнения

Причина: Caps Lock читается через раскладку, а не как физическая клавиша

Правка: apps/desktop → hotkeys, чтение кода клавиши напрямую

Проверки: typecheck, unit, e2e:visual -g settings на трёх раскладках

Риск: низкий, затрагивает только macOS

Одобрить выполнение
Проверьте план перед запуском агента
Одобрить и запустить
Pull request #8 · fix/ptt-capslock-layouts

✓ typecheck · lint · unit

✓ e2e:visual -g settings — 3 из 3

✓ CI: buf lint, go vet, drift-check генерации

→ Calab 0.3.1 · changelog обновлён, сборки собраны

Нейросеть отвечает в самой issue: причина, план, оценка.

План привязан к документации проекта, а не к догадкам.

Без одобрения агент не трогает код.

Так в первый день вышли пять версий Calab.

Доработка под бизнес

Нужна функция для вашей команды: у вендора и в Calab

Облачный мессенджерзакрытый код
Запрос

Письмо в поддержку

Оценка

Квартал в бэклоге вендора

Разработка

Если совпало с их планами

Проверка

Ждёте релиза для всех

Итог

Может быть, через год

Calabоткрытый код + нейросеть
Запрос

Issue на GitHub

Оценка

План от нейросети за минуты

Разработка

Человек одобрил — агент пишет

Проверка

Тесты и ревью в CI

Итог

PR и релиз — дни, а не кварталы

Доработки под ваши процессы — SSO, интеграции, брендинг, своя инфраструктура — делаем по коммерческой лицензии GPTunneL.

Сравнение

Calab против облачных мессенджеров

CalabDiscord, Slack, Zoomоблачные
Где лежат данныеНа вашем сервере или в облаке CalabВ облаке вендора
Исходный кодОткрыт на GitHubЗакрыт
Голос, встречи, задачиВ одном приложенииОбычно разные сервисы
Звонки на телефонИз комнаты, через ваш SIPЗависит от сервиса
Доработки под васIssue → нейросеть → PRТолько из планов вендора
Закрытый контурДа, один публичный IPНет
ГостиПо ссылке, с подтверждением входаЗависит от сервиса

Некоммерческое использование Calab на своём сервере бесплатно, коммерческое — по лицензии GPTunneL.

Тарифы

Free, Team, Business и Enterprise

Начните бесплатно. Нужно больше — Team или Business в облаке, либо Enterprise: Calab на вашем собственном сервере без ограничений.

FreeбесплатноTeamпо запросуBusinessпо запросуEnterpriseсвой сервер
Человек в голосовой комнатедо 5до 15до 50без ограничений
Участники пространствадо 50до 100до 500без ограничений
Файлы5 ГБ300 ГБ1 ТБбез ограничений
Стримы / камеры в комнате1 / 32 / 105 / 25без ограничений
Качество звука и видеодо «Нормального», 720p 15 к/слюбоелюбоелюбое
Боты / доски задач1 / 35 / 3020 / 50без ограничений
Режим музыканта и CalDAVнетестьестьесть
Поддержканетестьприоритетнаяесть

Календарь, согласование задач, веб-приложения и телефония есть на всех тарифах; гости в лимит участников не входят. Цены Team и Business — по запросу на it@gptunnel.ai. Enterprise: некоммерческое использование бесплатно с «Powered by GPTunneL» в интерфейсе, коммерческое — по лицензии GPTunneL. Тарифы на calab.ru

Свой сервер

Три команды до рабочего мессенджера

Нужны Linux-хост с публичным IP, Docker с Compose и домен с A-записями app, rtc и turn. Для команды до 30 человек — ориентировочно 4 vCPU и 8 ГБ памяти.

git clone https://github.com/itrcz/calab.git && cd calab
Шаг 1

Клонируйте репозиторий

cp infra/docker/.env.example infra/docker/.env
Шаг 2

Заполните домен и секреты

Все переменные описаны в комментариях к файлу.

infra/docker/deploy.sh
Шаг 3

Поднимите стек

Caddy, LiveKit, API, PostgreSQL и Valkey. Сертификаты Let's Encrypt выпускаются сами.

Порты: 80/443 TCP, 443 UDP, 7881 TCP, 7882 UDP. Первый зарегистрированный пользователь становится владельцем сервера, дальше — по приглашениям. Приложения для macOS, Windows и Linux обновляются сами.

Инструкция по деплою
В планах

Что появится дальше

Этого в Calab пока нет — это ближайшие планы.

Голосовой ИИ-ассистент

Ассистент в голосовых комнатах. Уже тестируется, в общем доступе пока нет.

IVR

Голосовое меню и внутренние номера для звонков по SIP.

Wiki

База знаний команды рядом с чатом и задачами.

Диск

Общее хранилище файлов пространства.

Для бизнеса

Дорабатываем под ваши процессы

Открытый код плюс конвейер с нейросетью означают, что «под вас» — это не квартал разработки, а согласованный план и несколько дней.

Свой контур

Ставим на ваши серверы или в закрытую сеть, переносим данные, настраиваем бэкапы и мониторинг.

Интеграции

SSO и OIDC, боты и вебхуки, связка с вашими CRM, трекерами и базами знаний.

Брендинг

Имя, логотип, домен и свои сборки приложения под вашей маркой.

Сопровождение

Обновления с вашего сервера, восстановление из бэкапов, договор и закрывающие документы.

FAQ

Вопросы про Calab

Режим музыканта, тарифы Free, Team, Business и Enterprise, веб-приложения пространства на всё окно. Незадолго до этого появились звонки на телефон по SIP, согласование задач, Bot API v2, временные комнаты, роли по функциям, доски задач, календарь с CalDAV и заметки. Полный список — в changelog на GitHub.
Заявка

Нужен Calab под вашу команду?

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

Что интересует?

Вся команда — в одном окне

Код открыт, сервер ставится одной командой, а доработки делает нейросеть под присмотром человека.

  • Голос, видео, чат, встречи и задачи
  • Бесплатный тариф Free или свой сервер
  • Issue на GitHub вместо тикетов вендору