工具推荐
1772015345更新
0
假如:你是一家公司的技术负责人,你的团队需要开发一个客服机器人。
用户们在Slack、Discord、微信群里提问题,技术人员在GitHub上协作,产品经理则偏爱Microsoft Teams。
以前,你不得不为每个平台组建专门的开发小组,写完全不同的代码,维护六七套系统。现在,这些都将成为历史。
因为,Vercel最新开源了Chat SDK。

简单来说,Chat SDK是一个"万能翻译器"和"统一调度中心"的结合体。它让开发者只需要写一套代码,就能同时支持Slack、Microsoft Teams、Google Chat、Discord、GitHub和Linear这六大主流平台。
传统开发模式下,如果你想做一个支持5个平台的聊天机器人,你可能需要5个程序员每人负责一个平台,大家各自为战、重复造轮子。现在有了Chat SDK,一个程序员就能搞定所有平台。
Chat SDK的主要亮点:
1. 写一次,到处运行。它采用事件驱动架构,开发者只需要定义一套业务逻辑,比如"当用户@机器人时,回复欢迎语",这段代码在所有平台上都能无缝运行。平台之间的差异(API格式、消息结构、认证方式)全部由SDK自动处理。
2. TypeScript加持,类型安全有保障。作为TypeScript原生开发的SDK,它继承了TypeScript的所有优点:编译时就能发现类型错误、智能代码提示、大幅降低调试成本。
3. JSX写界面,跨平台渲染。Chat SDK允许用类似React的JSX语法编写交互式卡片(Card)、按钮、表单等UI元素。写出来的代码在Slack上呈现为Block Kit组件,在Google Chat上变成Google Chat Cards,在Microsoft Teams上则是Adaptive Cards。一套代码,多平台原生体验。
4. AI流式响应,原生支持。内置对AI SDK的深度整合。你可以直接把大语言模型的流式输出(textStream)传给消息发送方法,AI的回复会像ChatGPT一样实时逐字显示在聊天窗口中,而不是等全部生成后才一次性发送。用户再也不用盯着"对方正在输入..."干着急。
5. 完整的事件处理体系
支持的消息类型非常全面:
- 提及(@机器人)
- 直接消息
- 表情回应(点赞、鼓掌等)
- 按钮点击、下拉选择
- 斜杠命令(/start、/help等)
- 弹窗表单
- 文件上传
Chat SDK的设计非常模块化,由三个组件构成:
Chat(调度中心)。整个SDK的入口,负责协调各个适配器(Adapter),并将来自平台的事件分发给你定义的处理器。
Adapters(平台适配器)。针对每个平台的独立实现模块。每个平台都有专属的适配器,负责解析webhook回调、格式化消息、处理API调用。目前官方支持Slack、Teams、Google Chat、Discord、GitHub、Linear六大平台。
State(状态管理)。可插拔的存储方案。开发阶段可以用内存存储,生产环境则支持Redis、ioredis等分布式存储,确保机器人在多实例部署时状态一致。
实际使用有多简单?看看这段代码就知道了:
import { Chat } from"chat";import { createSlackAdapter } from"@chat-adapter/slack";import { createRedisState } from"@chat-adapter/state-redis";const bot = new Chat({ userName: "mybot", adapters: { slack: createSlackAdapter(), }, state: createRedisState(),});// 当有人@机器人时,自动回应bot.onNewMention(async (thread) => {await thread.subscribe();await thread.post("Hello! I'm listening to this thread.");});// 当收到订阅消息时,处理并回复bot.onSubscribedMessage(async (thread, message) => {await thread.post(`You said: ${message.text}`);});不到20行代码,一个能用的Slack机器人就完成了。
如果要发送一个带按钮的交互卡片?同样简洁:
import { Card, CardText, Actions, Button } from "chat";await thread.post( <Card title="Order #1234"> <CardText>Your order has been received!</CardText> <Actions> <Button id="approve" style="primary">Approve</Button> <Button id="reject" style="danger">Reject</Button> </Actions> </Card>);AI编程助手也能用。
如果你使用Claude Code、Cursor或GitHub Copilot等AI编程工具,可以直接让它们学习Chat SDK:
npx skills add https://github.com/vercel/chat --skill chat-sdk安装后,AI助手就能理解Chat SDK的完整API,包括事件处理器、JSX卡片组件、流式响应等,写出来的代码更加准确。

Vercel还非常贴心地准备了多个快速起步指南:
- Slack机器人:使用Next.js和Redis,从零搭建一个完整的Slack bot
- Discord客服机器人:基于Nuxt和AI SDK,打造智能客服
- GitHub PR审查机器人:自动为代码审查流程提效
每个教程都有完整的代码仓库和详细说明,即使是Chat SDK的新手也能快速上手。
Chat SDK的出现,让聊天机器人开发从"手工作坊"时代迈向了"工业化生产"时代。它不是第一个尝试统一多平台的工具,但它是第一个在TypeScript生态中做到如此深度整合的方案。
当你的竞争对手还在为每个平台分别开发、维护、更新时,你只需要维护一套代码。
这不仅是效率的差异,更是战略层面的优势。
官网文档地址:chat-sdk.dev/docs
GitHub仓库:github.com/vercel/chat
参考资料:https://x.com/haydenbleasel/status/2026359649499492395;https://github.com/vercel/chat;https://vercel.com/changelog/chat-sdk
豫公网安备41010702003375号