跳到正文
Calab

Calab

从语音到集成

语音与视频

进入房间,直接开口

语音房间随时开放:一键即可加入对话。摄像头、屏幕共享和一对一通话都在同一处,无需另发链接或另装应用。

  • RNNoise 降噪和 AEC3 回声消除——不戴耳机也清晰
  • 按键说话和语音激活,后台也可用
  • 以 AV1 或硬件 H.264 共享屏幕,可在画面上指示和绘图
  • 摄像头支持背景虚化或替换图片
  • 会议录音,转写和摘要直接发到聊天
私信中的一对一通话:标题栏显示“通话 · 00:00”和“挂断”按钮,底部是语音面板

音质

毫不妥协的声音

每个房间自行设定音质,最高可达“极佳”:Opus 64 kbps、最高 20 kHz 的全频带。人声的音色与细节清晰可辨,配上好麦克风,差别一听就懂。

  • 房间四档音质:差网络下 8 kbps,最高 64 kbps 全频带
  • 每个人都可设置个人上限,网络较差时节省流量
  • RNNoise 降噪可选;关闭时使用 Chromium 内置降噪
  • 屏幕共享的声音不经处理直接发送:音乐和演示原样播放,其他人的声音不会混入共享(macOS 14.2+、Windows 11)
  • 停顿时几乎不占带宽:麦克风静音时仅 0.1 kbps

面向音乐人

音乐人模式

音质非常高,降噪可以完全关闭,因此你可以现场演奏乐器或唱歌而不损失音质。回声消除、降噪和自动增益均会关闭,麦克风以 Opus 音乐配置发送:单声道 128 kbps 或立体声 192 kbps,带纠错且不切除静音。需要佩戴耳机,应用会提醒你。其他人会在你的名字旁看到吉他图标。Team 及以上套餐可用。

房间音质档位

频带越宽,听者听到的泛音越多。

  1. 低8 kbps

    频带: 最高 4 kHz

  2. 普通16 kbps

    频带: 最高 8 kHz

  3. 良好32 kbps

    频带: 最高 12 kHz

  4. 极佳64 kbps

    频带: 最高 20 kHz

拨打电话

直接从房间拨打任意号码

接入你自己的 SIP 服务商,就能在语音房间里拨打座机或手机。被叫方以带电话图标的参与者身份进入房间,所有人都能听到。

  • 所有人都能看到状态:“拨号中… → 响铃中… → 通话中 02:14”
  • “拨打号码”位于房间标题栏和“…”菜单中;号码可直接粘贴,带空格和括号也行
  • 拨打者和管理员可以挂断;拨号音只有拨打者能听到
  • 服务商设置:服务器、端口、账号、Caller ID、允许的拨打范围
  • “测试连接”会向你的 Caller ID 拨一通测试电话;通话记录显示谁、何时、拨给谁、结果如何
  • “拨打电话”权限默认不授予任何人;每个房间同时一通,每个工作区每小时最多 20 通

通话费用由你的 SIP 服务商收取。

语音房间中的“拨打号码”弹窗:已输入号码和“拨打”按钮
拨号
语音房间的参与者列表:在人员之中有一行电话线路,带听筒图标、号码和状态“通话中 2:14”
被叫方在房间中
工作区设置的“电话”标签页:已启用 SIP、服务器、传输方式、账号、密码和 Caller ID
服务商设置
“电话”标签页:“测试连接”按钮及其结果,以及带号码和结果的通话记录
测试与通话记录

聊天

像 Telegram 一样好用的聊天

每个房间都有自己的聊天:回复、表情回应、转发、贴纸、语音消息、带预览的文件、置顶和搜索。已读标记一如既往。

  • 一次转发到多个聊天
  • 工作区贴纸包
  • 语音消息、音乐和视频内置播放器
  • 提及、按房间设置通知、工作区搜索
“综合”房间:带表情回应的设计稿、对它的回复、一张贴纸和在线成员

日历与会议

会议就在对话旁边

日历内置在应用中:当天的会议、邀请、参会者的回复、带“前往”按钮的会议房间,以及提前 15 分钟的提醒。

  • .ics 邀请

    带 invite.ics 的邮件会把会议加入 Apple、Google、Outlook 或 Yandex 日历。外部参会者通过链接回复,并以访客身份加入。

  • 查找时间

    同事的忙闲列、共同空闲时段和最近的可选时间——点击即可创建会议。

  • CalDAV

    连接 Yandex、iCloud、Fastmail 或 Nextcloud:你的忙碌时间会被计入,Calab 的会议也会自动出现在其中。

日视图:并排的会议、红色的“现在”线,以及带参会者的“发布规划会”会议卡片
为四个人“查找时间”:忙闲列、绿色的共同空闲时段和选中的时间

任务看板

任务就在对话旁边

看板、列表和时间线,Linear 风格——无需再用另一个服务。可以从任意消息创建任务,任务链接在聊天中展开为卡片。

  • 状态、优先级、标签、里程碑和截止日期
  • 多名负责人、子任务和关联
  • 像聊天一样的评论:表情回应、贴纸、语音消息
  • 筛选、保存的视图和快捷键

Free 有 3 个看板,Team 30 个,Business 50 个,Enterprise 不限。

“产品”看板视图:各状态列中的任务卡片,带标签、截止日期和负责人
看板时间线:按日期排列的任务条、“今天”线和“1.1 版本”里程碑
任务面板:子任务、“阻塞”关联、历史记录和像聊天一样的评论

笔记

存放重要内容的私人书架

最多 20 个书架,名称和表情由你决定——就像 Telegram 的“收藏夹”,但可以有多个。书架只有你自己能看到。

  • 把消息拖到书架上,或直接转发
  • 从访达或资源管理器把文件拖到书架上
  • 像普通聊天一样置顶和搜索
笔记:“想法”“链接”“发布相关”书架,以及打开的书架中的笔记和一条转发的消息

访客

访客无需注册——经你批准即可

访客链接直达房间:访客输入名字就能加入对话。需要把关?开启审批:组织者会看到“请求加入”,点击“放行”即可。

  • 访客只能看到自己的房间
  • 可按房间或按链接设置审批
  • 组织者会听到提示音并看到等待人数
访客界面:“正在等待组织者批准…”,显示房间名称和“取消”按钮

网页应用

你的服务,和通话在同一个窗口

管理员可把网站快捷方式固定在左侧栏:Grafana、维基、CRM。点一下,网站就在 Calab 内全窗口打开,通话照常继续。

  • 快捷方式包含图片、名称和地址;每个工作区最多 20 个应用
  • 通话不会中断:带麦克风的底部浮岛仍然保留
  • 各网站的登录状态按应用分别保存,不与 Calab 混用
  • 网站使用摄像头和麦克风,必须经你许可
  • 拖动即可排序;右键可编辑、在浏览器中打开、重新加载或删除
  • 除访客外所有成员可见;拥有集成权限的人可添加和修改
Calab 窗口:左侧栏工作区下方有三个快捷方式(Grafana、维基、CRM),Grafana 仪表盘全窗口打开,底部仍保留正在进行的通话面板

机器人与 SDK

机器人和其他成员一样

机器人使用与应用相同的 API,只能看到其角色允许的内容。Bot API v2 几乎覆盖了人能做的所有操作。

  • 读写它有权访问的聊天,响应 /命令
  • 处理任务:创建、修改、评论
  • 通过 LiveKit 接入语音:能听到所有人,也能说话
  • 日历:创建会议、查看空闲/忙碌、查找合适的时间
  • 成员资料、重命名、邀请和徽章
  • 启动会议录制
  • 通过 WebSocket 或 webhook 接收事件,消息下方按钮,TypeScript SDK
了解更多 Bot API
standup.ts
import { Bot } from '@calaba/bot-sdk';const bot = new Bot(process.env.BOT_TOKEN, {  server: 'https://app.calab.io',});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 步: 部署服务器

    一台装有 Docker 并绑定域名的 Linux 主机。一条命令,一分钟内即可运行,Let’s Encrypt 证书自动签发。

    infra/docker/deploy.sh
  2. 第 2 步: 安装应用

    macOS、Windows 或 Linux。也可以直接在浏览器中打开 Calab,无需安装。

  3. 第 3 步: 邀请团队

    发送邀请链接。只参加一次会议的访客无需注册账号。

  • 传输加密

    API 和信令使用 TLS,语音和视频使用 DTLS-SRTP。

  • 数据归你所有

    消息、文件和录音只保存在你的服务器上。

  • 可穿透 VPN

    UDP 被封?通过 443 端口走 TURN/TLS,对网络来说就是普通 HTTPS。

  • 权限覆盖一切

    角色以及每个房间、每个看板的权限都由服务器校验。

性能

轻量,并且有实测数据

我们在真实机器上测量 CPU 并公布数字,包括不那么好看的那些。

无通话时

平均负载(单核百分比):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 MB。

    优化前

    146.2 MB

    优化后

    130.0 MB

我们没有测量 Discord 的通话,因此不做语音对比。

测量方法. MacBook Air(Apple M4,10 核,24 GB),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