SuperAPI AI 工具集

chat-sdk

通用与其它

查看项目

更新于 10-16 03:05

技能介绍

用途:Chat SDK 是统一的 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 专用事件。支持把 AsyncIterable<string> 传给 thread.post() 或 thread.stream() 实现流式输出,配合 AI SDK 时建议使用 result.fullStream。卡片与模态框使用 JSX,需在 tsconfig.json 中设置 jsxImportSource: "chat"。

使用方式:安装后先阅读 node_modules/chat/docs 下的文档与 dist/index.d.ts 类型定义,再编写代码。快速开始示例: 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(), dedupeTtlMs: 600_000 }); bot.onNewMention(async (thread) => { await thread.subscribe(); await thread.post("Hello! I'm listening to this thread."); }); 每个已注册适配器会暴露 bot.webhooks.<name>,可直接接入 HTTP 框架路由。

适用场景:需要同时覆盖多个聊天平台、希望复用同一套机器人逻辑与状态管理的项目。

限制:结构化 StreamChunk 仅 Slack 支持,其他适配器会忽略非文本块;部分平台(Instagram、Signal、X、Messenger)标注为即将推出;自定义适配器需自行实现请求校验、webhook 解析、消息/线程/频道操作、ID 编解码与格式转换。具体收费、价格与平台支持细节暂未提供。