Перейти к содержимому
Calab
Новое: звонки на телефон, веб-приложения и Bot API v2

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

Голосовые комнаты, чат, встречи и задачи на вашем сервере. Лёгкий, как Discord, удобный, как Telegram.

Open source (BSL 1.1) · macOS · Windows · Linux · веб

Окно Calab во время планёрки: на сцене слайд «Релиз 1.1», ниже камеры участников, слева комнаты пространства

Почему Calab

  • Лёгкий

    0,05 % CPU без звонка, ≈ 7 % в голосе (MacBook Air M4). Скрытое окно не декодирует видео.

  • Свой сервер

    docker compose up — и через минуту всё работает. Данные остаются у вас.

  • За VPN и файрволом

    Если UDP закрыт — TURN/TLS через порт 443, как обычный HTTPS.

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

    Транскрипт и саммари приходят карточкой в чат комнаты.

Голос и видео

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

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

  • Шумоподавление RNNoise и эхоподавление AEC3 — чисто даже без наушников
  • Push-to-talk и активация голосом, в том числе в фоне
  • Показ экрана в AV1 или аппаратном H.264, указка и рисование поверх стрима
  • Камера с размытием или картинкой вместо фона
  • Запись встречи с транскриптом и саммари прямо в чат
Звонок один на один в личных сообщениях: «Звонок · 00:00» и кнопка «Завершить» в шапке, внизу панель голоса

Качество звука

Голос без компромиссов

Качество звука задаёт комната — вплоть до «Отличного»: Opus 64 кбит/с в полной полосе до 20 кГц. Слышно тембр и детали голоса, с хорошим микрофоном разница заметна сразу.

  • Четыре уровня комнаты: от 8 кбит/с для плохой связи до 64 кбит/с в полной полосе
  • Каждый может поставить личный потолок и экономить трафик, когда связь хуже
  • Шумоподавление RNNoise включается по желанию; пока оно выключено, работает встроенное шумоподавление Chromium
  • Звук стрима идёт без обработки: музыка и демонстрации звучат как есть, а голоса собеседников в стрим не попадают (macOS 14.2+, Windows 11)
  • В паузах голос почти не расходует канал: 0,1 кбит/с, пока микрофон молчит

Для музыкантов

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

Качество звука очень высокое, а шумоподавление можно полностью отключить — поэтому можно играть на музыкальных инструментах или петь вживую без потери качества. Эхоподавление, шумоподавление и автоусиление выключены, а микрофон уходит в музыкальном профиле Opus: 128 кбит/с моно или 192 кбит/с стерео, с защитой от потерь и без вырезания тишины. Нужны наушники — приложение предупредит. Остальные видят значок гитары рядом с вашим именем. Доступно на тарифе Team и выше.

Уровни качества комнаты

Чем шире полоса, тем больше обертонов слышит собеседник.

  1. Низкое8 кбит/с

    Полоса: до 4 кГц

  2. Нормальное16 кбит/с

    Полоса: до 8 кГц

  3. Хорошее32 кбит/с

    Полоса: до 12 кГц

  4. Отличное64 кбит/с

    Полоса: до 20 кГц

Звонки на телефон

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

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

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

Звонки оплачиваются у вашего SIP-провайдера.

Голосовая комната, поповер «Позвонить на номер» с введённым номером и кнопкой «Позвонить»
Набор номера
Список участников голосовой комнаты: среди людей строка телефонной линии с иконкой трубки, номером и статусом «В разговоре 2:14»
Абонент в комнате
Настройки пространства, вкладка «Телефония»: SIP включён, сервер, транспорт, логин, пароль и Caller ID
Настройки провайдера
Вкладка «Телефония»: кнопка «Проверить подключение» с результатом и журнал звонков с номерами и итогами
Проверка и журнал

Чат

Чат как в Telegram

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

  • Пересылка сразу в несколько чатов
  • Стикерпаки пространства
  • Голосовые, музыка и видео со встроенным плеером
  • Упоминания, уведомления на комнату, поиск по пространству
Канал «общий»: макет с реакциями, ответ на него, стикер и список участников в сети

Календарь и встречи

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

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

  • Приглашения .ics

    Письмо с invite.ics добавляет встречу в Apple, Google, Outlook или Яндекс. Внешние участники отвечают по ссылке и входят гостем.

  • Подобрать время

    Колонки занятости коллег, общие свободные окна и ближайшие слоты — клик создаёт встречу.

  • CalDAV

    Подключите календарь Яндекса, iCloud, Fastmail или Nextcloud: занятость учитывается, встречи Calab появляются в нём сами.

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

Доски задач

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

Канбан, список и таймлайн в духе Linear — без отдельного сервиса. Задачу можно создать из любого сообщения, а ссылка на неё разворачивается в чате карточкой.

  • Статусы, приоритеты, лейблы, вехи и сроки
  • Несколько исполнителей, подзадачи и связи
  • Комментарии как в чате: реакции, стикеры, голосовые
  • Фильтры, сохранённые виды и горячие клавиши

На Free — 3 доски, на Team — 30, на Business — 50, на Enterprise — без ограничений.

Доска «Продукт» канбаном: колонки статусов с карточками задач, лейблами, сроками и исполнителями
Таймлайн доски: полосы задач по датам, линия «сегодня» и веха «Релиз 1.1»
Панель задачи: подзадачи, связь «блокирует», история и комментарии как в чате

Заметки

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

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

  • Перетащите сообщение на полку или перешлите его
  • Файлы из Finder и Проводника — прямо на полку
  • Закрепы и поиск, как в обычном чате
«Заметки»: полки «Идеи», «Ссылки», «К релизу» и открытая полка с заметками и пересланным сообщением

Гости

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

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

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

Веб-приложения

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

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

  • Ярлык — картинка, название и адрес; до 20 приложений на пространство
  • Звонок не прерывается: островок с микрофоном остаётся внизу
  • Логины на сайтах сохраняются отдельно для каждого приложения и не смешиваются с Calab
  • Камера и микрофон сайту — только после вашего разрешения
  • Порядок — перетаскиванием; правый клик — изменить, открыть в браузере, перезагрузить, удалить
  • Видят все участники, кроме гостей; добавляют и меняют те, у кого есть право на интеграции
Окно Calab: в левой панели под пространством три ярлыка (Grafana, Вики, CRM), открыт дашборд Grafana на всё окно, внизу остаётся панель идущего звонка

Боты и SDK

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

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

  • Читает и пишет в чатах, которые ему доступны, отвечает на /команды
  • Работает с задачами: создаёт, меняет, комментирует
  • Голос через LiveKit: слышит всех и говорит сам
  • Календарь: создаёт встречи, смотрит «свободно/занято», подбирает время
  • Профили участников, переименование, приглашения и бейджи
  • Запускает запись встречи
  • События по WebSocket или webhook, кнопки под сообщениями, SDK на TypeScript
Подробнее о Bot API
standup.ts
import { Bot } from '@calaba/bot-sdk';const bot = new Bot(process.env.BOT_TOKEN, {  server: 'https://app.calab.ru',});await bot.commands([{ name: 'standup', description: 'Start' }]);// "/standup" → a message with a buttonbot.on('command', (c) =>  bot.send(c.message.roomId, {    text: 'Stand-up time. Record it?',    inlineKeyboard: { rows: [{ buttons: [      { id: 'rec', label: 'Record', data: 'standup' },    ] }] },  }),);// pressed → start the meeting recordingbot.on('callback', (cb) => {  if (cb.buttonId === 'rec') bot.recording.start(cb.roomId);});await bot.start();

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

Ваш сервер, ваши данные

Calab ставится на ваш Linux-сервер одной командой и не зависит от внешних сервисов.

  1. Шаг 1. Поднимите сервер

    Linux-хост с Docker и доменом. Одна команда — и через минуту всё работает, сертификаты Let’s Encrypt выпускаются сами.

    infra/docker/deploy.sh
  2. Шаг 2. Установите приложение

    macOS, Windows или Linux. Или просто откройте Calab в браузере — ничего ставить не нужно.

  3. Шаг 3. Пригласите команду

    Отправьте ссылку-приглашение. Гостям на одну встречу аккаунт не нужен.

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

    API и сигнализация — по TLS, голос и видео — DTLS-SRTP.

  • Данные у вас

    Сообщения, файлы и записи хранятся только на вашем сервере.

  • Работает за VPN

    UDP закрыт — TURN/TLS через 443, для сети это обычный HTTPS.

  • Права на всё

    Роли и права на каждую комнату и доску проверяет сервер.

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

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

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

Без звонка

Средняя нагрузка, % одного ядра: Calab и Discord на одном Mac, подряд, в одинаковых условиях.

Окно видно

Calab

0,05 %

Discord

0,97 %

Окно скрыто

Calab

0,20 %

Discord

0,85 %

Что мы ускорили

  • Голос, тихая комната

    Шумодав RNNoise работает по требованию и засыпает в паузах.

    было

    15,0 %

    стало

    6,9 %
  • Видео при скрытом окне

    Скрытое окно больше не декодирует видео.

    было

    17,5 %

    стало

    7,0 %
  • Видео под открытым меню

    Стекло и размытие убраны: материалы сплошные.

    было

    17,2 %

    стало

    11,4 %
  • Индикатор записи

    Пульсирует три раза и замирает, а не мигает часами.

    было

    59,1 %

    стало

    11,7 %
  • Установщик macOS

    Убрали лишние языки Chromium: −16,3 МБ.

    было

    146,2 МБ

    стало

    130,0 МБ

Звонки Discord мы не измеряли, поэтому по голосу не сравниваем.

Методика. MacBook Air (Apple M4, 10 ядер, 24 ГБ), macOS 27, Discord 0.0.413. CPU — сумма по всем процессам приложения (top, выборка раз в 5 с, 3 минуты, первая отброшена), один прогон на сценарий. «Было» и «стало» — один и тот же Calab до и после правки: для голоса и видео это релиз 0.5.1 и его бандл с оптимизациями (стенд app.calab.ru, фейковый микрофон, издатель lk), для меню и индикатора записи — сборка на мок-сервере и локальном LiveKit, размер установщика — docs/18. Инструмент — tools/energy-bench.py, исходные CSV — в репозитории. Все замеры и условия — docs/14-energy.md

Тарифы

Free, Team, Business и Enterprise

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

  • Начните здесь

    Free

    Бесплатно

    Небольшой команде: до 5 человек в комнате

    Что входит
    Голосовая комната
    до 5
    Участники пространства
    до 50
    Качество звука
    до «Нормальное»
    Стрим и камера
    720p, 15 кадров/с
    Стримы одновременно
    1
    Камеры одновременно
    3
    Файлы
    5 ГБ
    Боты
    1
    Стикерпаки
    1
    Доски задач
    3
    Календарь
    есть
    Режим музыканта
    недоступно на этом тарифе
    CalDAV
    нет
    On-prem (свой сервер)
    нет
    Поддержка
    нет
    Цена
    бесплатно
  • Team

    По запросу

    До 15 человек в комнате, до 100 участников, 300 ГБ файлов

    Что входит
    Голосовая комната
    до 15
    Участники пространства
    до 100
    Качество звука
    любое
    Стрим и камера
    без ограничения
    Стримы одновременно
    2
    Камеры одновременно
    10
    Файлы
    300 ГБ
    Боты
    5
    Стикерпаки
    без ограничения
    Доски задач
    30
    Календарь
    есть
    Режим музыканта
    есть
    CalDAV
    есть
    On-prem (свой сервер)
    нет
    Поддержка
    есть
    Цена
    по запросу
  • Business

    По запросу

    До 50 человек в комнате, до 500 участников, 1 ТБ файлов и приоритетная поддержка

    Что входит
    Голосовая комната
    до 50
    Участники пространства
    до 500
    Качество звука
    любое
    Стрим и камера
    без ограничения
    Стримы одновременно
    5
    Камеры одновременно
    25
    Файлы
    1 ТБ
    Боты
    20
    Стикерпаки
    без ограничения
    Доски задач
    50
    Календарь
    есть
    Режим музыканта
    есть
    CalDAV
    есть
    On-prem (свой сервер)
    нет
    Поддержка
    приоритетная
    Цена
    по запросу
  • Enterprise

    Свой сервер

    On-prem без ограничений, лицензия BSL 1.1 или коммерческая

    Что входит
    Голосовая комната
    без ограничения
    Участники пространства
    без ограничения
    Качество звука
    любое
    Стрим и камера
    без ограничения
    Стримы одновременно
    без ограничения
    Камеры одновременно
    без ограничения
    Файлы
    без ограничения
    Боты
    без ограничения
    Стикерпаки
    без ограничения
    Доски задач
    без ограничения
    Календарь
    есть
    Режим музыканта
    есть
    CalDAV
    есть
    On-prem (свой сервер)
    есть
    Поддержка
    есть
    Цена
    BSL 1.1; коммерческая — по запросу

Enterprise (свой сервер): некоммерческое использование — бесплатно, с «Powered by GPTunneL» в интерфейсе; коммерческое — по лицензии GPTunneL. Каждая версия Calab переходит под Apache License 2.0 через четыре года после выпуска. Текст лицензии

Скачать

Приложение для всех платформ

Клиент на Electron: глобальные хоткеи, push-to-talk в фоне, стрим любого окна.

  • macOS

    Apple Silicon · Intel

    DMG, macOS 12 и новее

    Подписано Developer ID и нотаризовано Apple — открывается без предупреждений.

  • Windows

    x64

    Установщик .exe, Windows 10 и 11

    Сборка пока без подписи: при первом запуске SmartScreen покажет «Неизвестный издатель» → «Подробнее» → «Выполнить в любом случае».

  • Linux

    AppImage · deb

    x64

    AppImage перед запуском сделайте исполняемым: chmod +x.

Или откройте веб-версию — в Chrome, Edge, Safari или Firefox.

Вопросы

Коротко о главном

Что нужно для своего сервера?

Linux-хост с Docker, публичный IP и домен. Открытые порты: 80 и 443 (TCP и UDP), 7881/TCP, 7882/UDP. Ориентировочно для команды до 30 человек — 4 vCPU и 8 ГБ памяти; точнее зависит от числа одновременных стримов экрана.

Что такое записи встреч и куда уходит аудио?

Пространство один раз подключается к GPTunneL кодом в настройках. Дальше любой участник, кроме гостей, включает запись в голосовой комнате; запись ведёт сервер. После встречи аудио уходит в GPTunneL на расшифровку, а в чат комнаты приходит карточка с саммари и полным транскриптом; аудио хранится вложением карточки 30 дней. Запись можно запретить в настройках комнаты.

Сколько стоят звонки на телефон и кто может звонить?

Звонки оплачиваются у вашего SIP-провайдера: администратор подключает его в настройках пространства («Телефония»). Право «Звонить на номера» по умолчанию ни у кого — администратор выдаёт его роли или человеку осознанно. Лимиты: один звонок на комнату, до 20 звонков в час на пространство, не дольше 2 часов; направления можно ограничить префиксами, например +7. Гостям звонить нельзя.

Сколько трафика расходует Calab?

Голос — 16–64 кбит/с на говорящего (по умолчанию 32), в паузах около 1 кбит/с. Стрим статичного экрана — 20–300 кбит/с, потолок 1080p — 2 Мбит/с. Каждому зрителю сервер отдаёт качество под его канал.

Как обновляется приложение?

Десктоп обновляется сам при запуске. Сборка для macOS подписана и нотаризована Apple; для Windows пока без подписи, поэтому SmartScreen может предупредить. Веб-версия всегда свежая.

Что нового в последних версиях?

Звонки на городские и мобильные номера по SIP прямо из голосовой комнаты, веб-приложения пространства (Grafana, вики, CRM в окне Calab), согласование задач и расширенный Bot API: встречи, свободно/занято, участники, приглашения, бейджи и запись. Раньше появились доски задач, «Подобрать время», календарь по CalDAV и «Заметки». Скоро: голосовой ИИ-ассистент (уже тестируется), IVR для телефонии, Wiki команды и общий Диск. Полный список — в списке изменений.

Как защищена связь?

API и сигнализация — по TLS, голос и видео — DTLS-SRTP. Сообщения и файлы хранятся только на вашем сервере. Сквозного шифрования пока нет: медиа проходит через ваш медиасервер.

Работает ли через VPN и корпоративный файрвол?

Да. Если UDP недоступен, клиент переключается на TCP, а затем на TURN/TLS через порт 443 — для сети это обычный HTTPS.

Какие ограничения у текущей версии?

Рассчитана на 20–30 человек онлайн одновременно и до трёх стримов экрана в комнате. Горизонтальное масштабирование — в планах.

Что будет, когда в комнату попробует войти 6-й человек?

На тарифе Free в голосовой комнате одновременно могут находиться до 5 человек. Шестой не сможет подключиться — увидит подсказку о лимите тарифа и предложение перейти на Team.

Как получить коммерческую лицензию для Enterprise (свой сервер)?

Напишите на it@gptunnel.ai: расскажите о компании и сценарии — пришлём условия.

Чем различаются Team, Business и Enterprise?

Team и Business — облако с лимитами. Team: до 15 человек в комнате, до 100 участников, 300 ГБ файлов. Business: до 50 человек в комнате, до 500 участников, 1 ТБ файлов, остальное без ограничений и приоритетная поддержка. Enterprise — Calab на вашем сервере (on-prem) по лицензии BSL 1.1 или коммерческой, без ограничений. Цена Team и Business — по запросу на it@gptunnel.ai.

Как купить Team?

Напишите нам на it@gptunnel.ai — как правило, включаем тариф в течение дня.