Skills

Chat SDK: implantar uma mesma lógica em várias plataformas de chat

Use para ligar TypeScript a várias plataformas de chat ao mesmo tempo. Primeiro npm i chat, depois um adapter por plataforma, e não envie mensagens para fora na primeira tentativa.

Official source · Chat SDK

Install

npm i chat

Para quem

Use o Chat SDK quando quiser a mesma lógica TypeScript para chatbots no Slack, Microsoft Teams, Google Chat, Discord, Telegram, GitHub, Linear, WhatsApp e plataformas semelhantes. Ele enfatiza escrever a lógica do bot uma vez e implantá-la em todo lugar, não escrever um framework sem nome para cada plataforma.

Encaixa melhor se você pretende instalar o pacote núcleo num projeto Node / TypeScript e depois o adapter da plataforma. O material não trata essas plataformas como lista excludente; continua com and more. A página oficial do guia é

https://github.com/vercel/chat

Primeira tentativa em 3 minutos

O primeiro caminho recomendado é a instalação do pacote núcleo. Não abra três instaladores ao mesmo tempo:

npm i chat

Pré-requisito: npm já está na máquina. Este comando muda package.json e node_modules; confirme primeiro que o diretório atual é o seu projeto de bot. Após instalar, checagem somente leitura: escreva no script as importações do material; ainda não conecte um workspace real nem envie mensagens para fora.

import { Chat } from "chat";
import { createSlackAdapter } from "@chat-adapter/slack";
import { createRedisState } from "@chat-adapter/state-redis";

Sinal de sucesso: o pacote núcleo pode ser importado. Adapters precisam de outra instalação por plataforma; o trecho diz Install one or more adapters for your platforms; o resumo nomeia, por exemplo, @chat-adapter/slack. Se a importação de um adapter falhar, pare na dependência ausente; não invente outros nomes de pacote.

A mesma página também mostra npx skills add vercel/chat e npx create-chat-sdk@latest my-bot. Não rode o scaffold em paralelo na primeira tentativa; isso gera arquivos de projeto, então confirme primeiro que o nome de diretório my-bot não vai sobrescrever uma pasta existente.

Casos de uso

Caso 1: ligar Slack a um projeto TypeScript existente. Primeiro npm i chat, depois instale o adapter Slack e monte uma instância com Chat, createSlackAdapter e createRedisState. O resumo também menciona tratar onNewMention e onSubscribedMessage, mas o trecho não escreve o corpo completo desses dois callbacks. O critério de conclusão deste caso é importação e montagem bem-sucedidas, não que já se tenha respondido no Slack. Antes de conectar Redis ou registrar um webhook, confirme que o destino e a rota não vão gravar no ambiente errado.

Caso 2: criar um diretório bot com o scaffold oficial. O comando é npx create-chat-sdk@latest my-bot. O resumo diz que gera configuração Chat, rotas webhook e .env.example. Isto grava em disco: confirme que o diretório my-bot não existe ou pode ser sobrescrito e então execute. O critério de conclusão: o diretório foi criado e você vê os gerados. Não coloque segredos fabricados em .env.example além de placeholders, e não inicie um serviço para fora antes de mudar a configuração. O material não escreve nomes de variáveis de ambiente; não os invente.

Limites de uso

A instalação núcleo é npm i chat; a capacidade de plataforma vem dos adapters. O exemplo de importação só dá o adapter Slack e o estado Redis. O scaffold e a instalação agent skill aparecem como outras entradas lado a lado; não as misture com a instalação do pacote núcleo como um passo que precise rodar junto.

Não assuma que cada plataforma da lista já tem um nome de pacote adapter escrito. O material não dá lista de clientes nem diz como atingir Teams ou WhatsApp sem adapter instalado. Além destes comandos de instalação, importação e scaffold já escritos, este guia não cobre o resto.