用途:Chat SDK(npm 包名 chat)是统一 TypeScript SDK,用于构建跨平台聊天机器人,支持 Slack、Microsoft Teams、Google Chat、Discord、Telegram、GitHub、Linear、WhatsApp Business Cloud 等平台,一次编写逻辑即可多平台部署。
主要能力:核心 Chat 类负责协调适配器、路由、锁与状态;适配器提供各平台集成;状态适配器负责订阅、锁、去重与线程状态持久化;Thread 提供 post()、stream()、subscribe()、setState()、startTyping();Message 提供规范化文本、格式化内容、附件、作者信息与平台原始数据。事件处理器覆盖 onNewMention、onDirectMessage、onSubscribedMessage、onNewMessage(regex)、onReaction、onAction、onModalSubmit、onModalClose、onSlashCommand 及若干 Slack 专属事件。支持流式输出(向 thread.post() 传入 AsyncIterable<string>,AI SDK 建议用 result.fullStream),支持 JSX 卡片与模态框(需在 tsconfig.json 设置 jsxImportSource: "chat")。
使用方式:安装后先查阅 node_modules/chat/docs/ 下的文档(getting-started、usage、handling-events、threads-messages-channels、posting-messages、streaming、cards、actions、modals、slash-commands、direct-messages、files、state、adapters 及 api 目录)。快速开始示例:import { Chat } from "chat"; import { createSlackAdapter } from "@chat-adapter/slack"; import { createRedisState } from "@chat-adapter/state-redis"; 创建 Chat 实例并注册适配器与状态,再通过 bot.onNewMention 等注册处理器。各适配器暴露 bot.webhooks.<name>,可直接接入 HTTP 框架路由。
适用场景:需要同时覆盖多个聊天平台的机器人、AI 助手集成、卡片交互、斜杠命令、模态表单等。
限制:结构化 StreamChunk 仅 Slack 支持,其他适配器忽略非文本块;部分平台(Instagram、Signal、X、Messenger)标注为即将推出;自定义适配器需实现请求校验、webhook 解析、消息/线程/频道操作、ID 编解码与格式转换。具体收费、价格与效果资料未提供。