Chat SDK - Viết bot chat 1 lần, deploy khắp nơi
TL;DR
Thư viện TypeScript cho phép build chatbot chạy trên Slack, Teams, Google Chat, Discord, GitHub, Linear cùng lúc. Viết logic một lần, khỏi lo adapter từng nền tảng.
Nói đơn giản: Thay vì học cách viết bot riêng cho từng app chat, dev giờ xài một thư viện duy nhất viết code đó.
Bài này dành cho ai?
1. Dev muốn build chatbot cho nhiều platform
Vấn đề: Mỗi nền tảng (Slack, Teams, Discord…) có API riêng, viết bot mất công học từng cái một.
Khi cần: Khi khách hàng yêu cầu bot chạy trên cả Slack lẫn Teams, hoặc startup muốn hỗ trợ nhiều kênh cùng lúc.
Được gì: Viết code một lần, bot tự xuất hiện trên mọi nền tảng.
2. Dev muốn tập trung logic, không phải boilerplate
Vấn đề: Khâu setup API, xử lý event, handle state tốn thời gian, dễ sai.
Khi cần: Khi cần deliver nhanh, không muốn đấu tranh với documentation của từng platform.
Được gì: SDK lo hết phần boring, dev tập trung viết business logic.
Các điểm chính
-
Một code base, 6 nền tảng Code viết một lần chạy được trên Slack, Teams, Google Chat, Discord, GitHub, Linear. Không cần viết adapter riêng cho từng cái. → Làm gì: Xác định nền tảng cần hỗ trợ, cài đặt adapter tương ứng, viết logic chung.
-
AI streaming tích hợp sẵn Hỗ trợ stream response từ LLM với native Slack streaming, các nền tảng khác dùng post+edit fallback. → Làm gì: Dùng tính năng streaming để bot trả lời nhanh, không chờ LLM xử lý xong mới hiển thị.
-
JSX-based cards cho mọi nền tảng Viết cards một lần, tự convert sang Block Kit (Slack), Adaptive Cards (Teams), Google Chat Cards. → Làm gì: Dùng JSX component cho buttons, dropdowns thay vì viết JSON thủ công.
-
State management tích hợp Có sẵn adapter cho Redis, ioredis, và in-memory. Redis cho production, memory cho dev. → Làm gì: Dùng
state-rediskhi deploy thật,state-memorykhi test local. -
Thêm vào AI coding agent dễ dàng Chỉ cần chạy
npx skills add vercel/chatđể dạy Claude Code về SDK này. → Làm gì: Khi cần AI viết code liên quan đến bot, agent sẽ hiểu SDK và viết đúng syntax.
Quick Start
- Cài đặt SDK và adapter:
npm install chat
npm install @chat-adapter/slack @chat-adapter/teams
- Viết bot cơ bản:
import `{ Chat }` from "chat";
import `{ createSlackAdapter }` from "@chat-adapter/slack";
const bot = new Chat(`{
userName: "mybot",
adapters: {
slack: createSlackAdapter(),
}`,
});
bot.onNewMention(async (thread) => `{
await thread.post("Hello! I'm listening.");
}`);
Đang tải nội dung...