开发者

把 Calab 当作平台

机器人、LLM 智能体和你自己的应用,都使用与 Calab 相同的 API:聊天、任务、日历、语音。

机器人

机器人和其他成员一样

在工作区设置中创建机器人并赋予角色,它就会通过与应用相同的 API 工作:聊天、任务、日历、成员和语音。

  • 聊天

    读写它有权访问的所有房间和私信中的消息,回复、添加表情回应、发送文件和贴纸。事件通过 WebSocket 实时送达。

  • 任务

    在看板上创建和修改任务、指派负责人、评论和搜索。机器人看到的看板与拥有相同角色的人一致。

  • 语音

    通过 LiveKit 进入语音房间:能听到参与者,也能发言——文字转语音、回声、音乐、录音。支持 Node、Python 和 Go。

  • 日历

    安排和改期会议,查看空闲/忙碌,并为多人查找合适的时间。机器人是组织者,邮件“代表机器人”发出。

  • 成员

    查看成员资料及其未完成的任务,重命名,通过链接和邮件邀请,颁发徽章——均在角色权限范围内。

  • 会议录制

    开始和停止语音房间的录制——转写和摘要会以卡片形式发到聊天中。需要“录制”权限。

  • 命令与按钮

    注册 /命令,输入“/”时编辑器会提示;并在消息下方添加按钮——点击会作为事件发给机器人。

  • Webhook

    无需长连接:事件以带 HMAC 签名的 POST 请求送达,失败时自动重试。适合 serverless。

权限来自角色,与普通成员相同:机器人只能看到允许它进入的房间。

MCP

MCP:把任意 LLM 接入 Calab

Claude、IDE 中的智能体或你自己的模型,都可以作为机器人在 Calab 中工作:搜索、阅读、创建任务、在房间发言。客户端只需要一个地址和机器人令牌。

  • 一个端点

    POST /api/mcp:基于 HTTP 的 Model Context Protocol。无需适配器,无需会话。

  • 用机器人令牌登录

    机器人令牌放在 Authorization 头中。真人的令牌会被拒绝。

  • 只有机器人的权限

    工具使用同一令牌调用常规 API:权限和限额相同,私有看板和房间仍然不可见。

  • 节省令牌

    工具说明只有一行,返回内容精简;完整对象仅在请求时提供。

# Streamable HTTP
url: https://app.calab.io/api/mcp
Authorization: Bearer calab_bot_…

六个工具

  • find — 查找任务、消息、房间和看板
  • read — 读取任务或房间消息
  • create_task — 创建任务
  • comment_task — 评论任务
  • set_task_status — 更改任务状态
  • send_message — 在房间发言

机器人令牌只在创建时显示一次。

@calaba/bot-sdk

TypeScript SDK

命令、按钮、事件和语音,几行代码即可搞定。

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();
TypeScript 编写的站会机器人. 回声机器人、语音示例和 Python 监听器见 examples/bots。完整的端点与事件参考见文档。

Webhook

无需保持长连接就能接收事件:带 HMAC 签名的 POST 请求,失败时自动重试。

  • 机器人 Webhook:消息、表情回应、任务、会议、按钮
  • 签名使用 HMAC-SHA256,位于 X-Calab-Signature 请求头
  • 失败自动重试,并带事件队列
  • 看板 Webhook:任务的每一次变更(Business 及以上方案)

OAuth 2.0 · OpenID Connect

使用 Calab 登录

OAuth 2.0 与 OpenID Connect:公司内部服务可以让员工直接用 Calab 账号登录。

  • Authorization Code + PKCE (S256)
  • 显示权限范围的授权确认页
  • userinfo、refresh 与令牌撤销
  • 在工作区设置中创建客户端