Skills Plugins MCP Prompt Model 博客 我的中心

chat-sdk

Use for multi-platform bots built with chat SDK: webhooks, mentions, slash commands, cards, modals and streaming.

DeepseekModel Curated skill Quality Excellent · 90 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=lobehub-lobehub-agents-skills-chat-sdk-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name chat-sdk description Use for multi-platform bots built with chat SDK: webhooks, mentions, slash commands, cards, modals and streaming. user-invocable false Chat SDK Unified TypeScript SDK for building chat bots across Slack, Teams, Google Chat, Discord, GitHub, and Linear. Write bot logic once, deploy everywhere. Critical: Read the bundled docs The chat package ships with full documentation in node_modules/chat/docs/ and TypeScript source types. Always read these before writing code: node_modules/chat/docs/ # Full documentation (MDX files) node_modules/chat/dist/ # Built types (.d.ts files) Key docs to read based on task: docs/getting-started.mdx — setup guides docs/usage.mdx — event handlers, threads, messages, channels docs/streaming.mdx — AI streaming with AI SDK docs/cards.mdx — JSX interactive cards docs/actions.mdx — button/dropdown handlers docs/modals.mdx — form dialogs (Slack only) docs/adapters/*.mdx — platform-specific adapter setup docs/state/*.mdx — state adapter config (Redis, ioredis, memory) Also read the TypeScript types from node_modules/chat/dist/ to understand the full API surface. Quick start 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 ({ botToken : process. env . SLACK_BOT_TOKEN !, signingSecret : process. env . SLACK_SIGNING_SECRET !, }), }, state : createRedisState ({ url : process. env . REDIS_URL ! }), }); bot. onNewMention ( async (thread) => { await thread. subscribe (); await thread. post ( "Hello! I'm listening to this thread." ); }); bot. onSubscribedMessage ( async (thread, message) => { await thread. post ( `You said: ${message.text} ` ); }); Core concepts Chat — main entry point, coordinates adapters and routes events Adapters — platform-specific (Slack, Teams, GChat, Discord, GitHub, Linear) State — pluggable persistence (Redis for prod, memory for dev) Thread — conversation thread with post() , subscribe() , startTyping() Message — normalized format with text , formatted (mdast AST), raw Channel — container for threads, supports listing and posting Event handlers Handler Trigger onNewMention Bot @-mentioned in unsubscribed thread onSubscribedMessage Any message in subscribed thread onNewMessage(regex) Messages matching pattern in unsubscribed threads onSlashCommand("/cmd") Slash command invocations onReaction(emojis) Emoji reactions added/removed onAction(actionId) Button clicks and dropdown selections onAssistantThreadStarted Slack Assistants API thread opened onAppHomeOpened Slack App Home tab opened Streaming Pass any AsyncIterable<string> to thread.post() . Works with AI SDK's textStream : import { ToolLoopAgent } from 'ai' ; const agent = new ToolLoopAgent ({ model : 'anthropic/claude-4.5-sonnet' }); bot. onNewMention ( async (thread, message) => { const result = await agent. stream ({ prompt : message. text }); await thread. post (result. textStream ); }); Cards (JSX) Set jsxImportSource: "chat" in tsconfig. Components: Card , CardText , Button , Actions , Fields , Field , Select , SelectOption , Image , Divider , LinkButton , Section , RadioSelect . await thread. post ( < Card title = "Order #1234" > < CardText > Your order has been received! </ CardText > < Actions > < Button id = "approve" style = "primary" > Approve </ Button > < Button id = "reject" style = "danger" > Reject </ Button > </ Actions > </ Card > , ); Packages Package Purpose chat Core SDK @chat-adapter/slack Slack @chat-adapter/teams Microsoft Teams @chat-adapter/gchat Google Chat @chat-adapter/discord Discord @chat-adapter/github GitHub Issues @chat-adapter/linear Linear Issues @chat-adapter/state-redis Redis state (production) @chat-adapter/state-ioredis ioredis state (alternative) @chat-adapter/state-memory In-memory state (development) Changesets (Release Flow) This monorepo uses Changesets for versioning and changelogs. Every PR that changes a package's behavior must include a changeset. pnpm changeset # → select affected package(s) (e.g. @chat-adapter/slack, chat) # → choose bump type: patch (fixes), minor (features), major (breaking) # → write a short summary for the CHANGELOG This creates a file in .changeset/ — commit it with the PR. When merged to main , the Changesets GitHub Action opens a "Version Packages" PR to bump versions and update CHANGELOGs. Merging that PR publishes to npm. Webhook setup Each adapter exposes a webhook handler via bot.webhooks.{platform} . Wire these to your HTTP framework's routes (e.g. Next.js API routes, Hono, Express).
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。