Skills

Chat SDK: eine Logik auf mehrere Chat-Plattformen bringen

Nutzen, wenn TypeScript mehrere Chat-Plattformen zugleich anbinden soll. Zuerst npm i chat, dann pro Plattform einen adapter, und beim ersten Versuch keine Nachrichten nach außen senden.

Official source · Chat SDK

Install

npm i chat

Für wen

Nutze Chat SDK, wenn dieselbe TypeScript-Logik Chatbots auf Slack, Microsoft Teams, Google Chat, Discord, Telegram, GitHub, Linear, WhatsApp und ähnlichen Plattformen antreiben soll. Es betont, die Bot-Logik einmal zu schreiben und überall auszurollen, nicht für jede Plattform ein ungenanntes Framework extra zu schreiben.

Besser passt es, wenn du das Kernpaket in einem Node- / TypeScript-Projekt installieren und danach den passenden Plattform-adapter nachziehen willst. Das Material schreibt diese Plattformen nicht als einander ausschließende Liste; dahinter steht and more. Die offizielle Anleitungsseite ist

https://github.com/vercel/chat

Ersten Versuch in 3 Minuten abschließen

Der empfohlene erste Weg ist die Kernpaket-Installation. Nicht drei Installer zugleich starten:

npm i chat

Voraussetzung: npm ist bereits auf dem Rechner. Der Befehl ändert package.json und node_modules; zuerst bestätigen, dass das aktuelle Verzeichnis dein Bot-Projekt ist. Nach der Installation schreibgeschützt prüfen: die Importe aus dem Material ins Skript schreiben; noch keinen echten Workspace verbinden und keine Nachrichten nach außen senden.

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

Erfolgssignal: das Kernpaket lässt sich importieren. Adapter brauchen eine weitere Installation pro Plattform; der Auszug schreibt Install one or more adapters for your platforms; die Zusammenfassung nennt zum Beispiel @chat-adapter/slack. Schlägt der Adapter-Import fehl, bei der fehlenden Abhängigkeit stehen bleiben; keine anderen Paketnamen erfinden.

Dieselbe Seite zeigt auch npx skills add vercel/chat sowie npx create-chat-sdk@latest my-bot. Das Gerüst beim ersten Mal nicht parallel laufen lassen; es erzeugt Projektdateien, also zuerst bestätigen, dass der Verzeichnisname my-bot keinen vorhandenen Ordner überschreibt.

Anwendungsfälle

Fall 1: Slack in ein vorhandenes TypeScript-Projekt einbinden. Zuerst npm i chat, dann den Slack-adapter installieren, dann eine Instanz mit Chat, createSlackAdapter und createRedisState zusammenbauen. Die Zusammenfassung erwähnt auch onNewMention und onSubscribedMessage, aber der Auszug schreibt keine vollständigen Funktionskörper für diese zwei Callbacks. Fertig ist dieser Fall bei erfolgreichem Import und Zusammenbau, nicht wenn schon eine Antwort in Slack gesendet wurde. Vor Redis-Verbindung oder webhook-Registrierung Ziel und Route prüfen, damit nicht in die falsche Umgebung geschrieben wird.

Fall 2: Mit dem offiziellen Gerüst ein Bot-Verzeichnis anlegen. Der Befehl ist npx create-chat-sdk@latest my-bot. Die Zusammenfassung sagt, es erzeugt Chat-Konfiguration, webhook-Routen und .env.example. Das schreibt auf die Platte: zuerst bestätigen, dass my-bot nicht existiert oder überschrieben werden darf, dann ausführen. Fertig heißt: das Verzeichnis wurde erstellt und du siehst die Erzeugnisse. Keine erfundenen Geheimnisse jenseits von Platzhaltern in .env.example eintragen und keinen ausgehenden Dienst starten, bevor die Konfiguration geändert ist. Das Material schreibt keine Umgebungsvariablennamen; erfinde keine.

Nutzungsgrenzen

Die Kerninstallation ist npm i chat; Plattformfähigkeit kommt von Adaptern. Das Importbeispiel zeigt nur den Slack-adapter und Redis-state. Gerüst und agent-skill-Installation erscheinen als weitere parallele Einstiege; mische sie nicht mit der Kernpaket-Installation zu einem Schritt, der zugleich laufen muss.

Nimm nicht an, jede Plattform in der Liste habe bereits einen ausgeschriebenen Adapter-Paketnamen. Das Material gibt keine Client-Liste und sagt nicht, wie man ohne installierten adapter direkt Teams oder WhatsApp trifft. Jenseits dieser geschriebenen Installations-, Import- und Gerüstbefehle deckt diese Anleitung nichts ab.