channels-sdk:一套指令跑遍所有聊天工具,按钮卡片审批一个不少

channels-sdk:一套指令跑遍所有聊天工具,按钮卡片审批一个不少

💡 原文中文,约3400字,阅读约需8分钟。
📝

内容提要

Channels SDK 是开源工具,让 AI 智能体无缝接入 Slack、Teams 等平台,原生显示按钮卡片,支持审批。它通过 AG-UI 协议翻译消息,长期运行进程保持对话,凭证存本地,配置可让 AI 自动完成。核心价值是让 AI 融入团队工作流,用人类习惯的交互方式协作。

🔎

延伸解读

一次描述,到处渲染:跨平台UI的翻译机制

Channels SDK的核心是“一次描述,到处渲染”。开发者只需在代码中声明“给用户三个选项:批准、驳回、稍后”,SDK就会自动将其转换为Slack的Block Kit按钮、Teams的Adaptive Card选项或Discord的组件。这背后依赖AG-UI协议,它定义了一套标准动作(发消息、调用工具、等待确认、渲染组件),AI只需“说”AG-UI语言,SDK就能翻译成各平台的原生界面。这种设计避免了为每个平台重写UI逻辑,让AI能原生融入不同聊天工具。

长驻进程与人工审批:AI的“长跑”能力

与普通聊天机器人不同,Channels SDK使用长期运行的Node进程处理会话。该进程不会在一条消息处理完后退出,而是持续驻留,等待下一条消息或人工审批按钮的点击。这意味着对话上下文可以累积,AI能记住之前的交流。更重要的是,它支持“暂停等人”:在执行危险操作前,AI会发送带确认/取消按钮的卡片,等待人工点击后才继续。这对需要人工把关的业务场景(如删除记录)至关重要,是合规性的保障。

凭证本地存储与AI辅助配置:安全与便捷的平衡

Channels SDK对凭证处理很干脆:命令行不碰密钥,所有Bot Token、Signing Secret都存放在本地.env文件中,Node进程从环境变量读取。CopilotKit Intelligence只管理平台连接入口和消息投递,不持有平台凭证。配置通道只需通道代码、API密钥和平台选择。官方还提供“AI帮你配置”路径:执行npx copilotkit@latest channels setup后,CLI会生成提示词,粘贴给编程助手AI,它能自动阅读指南并操作控制台创建应用,用户只需在关键步骤输入密钥。

四层分工架构:业务逻辑与消息投递解耦

一条消息从Slack发出到AI回复,经过四层:平台(Slack/Teams)推送事件→CopilotKit Intelligence投递事件→你的Channel进程调用AI代理执行工具→Intelligence将结果包装成原生UI发回平台。用户控制第三层全部,以及第一层应用注册和第二层通道创建。业务逻辑(模型密钥、工具代码、业务数据)始终运行在自己的基础设施上,不过别人的手。即使Intelligence服务故障,Channel进程也有健康检查和重连机制,不会丢消息。

Q&A

Channels SDK 是什么?它主要解决什么问题?

Channels SDK 是一个开源 SDK,用于将 AI 智能体无缝集成到 Slack、Teams、Discord、Telegram 等聊天平台。它主要解决 AI 机器人被困在单一聊天窗口、无法原生使用平台交互组件(如按钮、卡片)的问题,让 AI 能以原生界面融入团队工作流。

Channels SDK 如何实现跨平台消息渲染?

它采用“一次描述,到处渲染”的思路,通过 AG-UI 协议将 AI 的标准动作(如发消息、调用工具、等待确认)翻译成各平台的原生 UI 格式,例如 Slack 的 Block Kit、Teams 的 Adaptive Card、Discord 的组件。

Channels SDK 支持哪些 AI 框架?

目前支持的 AI 框架包括 LangGraph、CrewAI、Mastra、Pydantic AI、Google ADK,以及 CopilotKit 内置的代理。

Channels SDK 如何实现长时间运行的对话和人工审批?

它使用一个长期运行的 Node 进程来接待会话,该进程不会在处理完一条消息后退出,而是持续驻留以接收后续消息和按钮点击。SDK 允许 AI 在执行危险操作前发送带按钮的卡片,等待人工确认,从而支持审批流程。

Channels SDK 如何处理平台凭证和敏感信息?

凭证(如 Bot Token、Signing Secret)存放在本地的 .env 文件中,Node 进程从环境变量读取。命令行工具不会要求输入密钥,CopilotKit Intelligence 只管理平台连接入口和消息投递,不持有平台凭证。

如何配置一个 Channels SDK 通道?需要哪些信息?

配置通道需要三个东西:通道代码(在 CopilotKit Intelligence 控制台创建)、Intelligence API 密钥、以及所选平台。将这些填入 .env 文件,然后运行 `node --env-file=.env --import tsx channel.ts` 即可启动。

Channels SDK 的架构分为哪几层?各层职责是什么?

分为四层:平台层(Slack/Teams 等接收事件)、CopilotKit Intelligence 层(负责事件投递和消息可靠性)、Channel 进程层(运行你的 AI 代理和业务逻辑)、Intelligence 层(将结果包装成原生 UI 发回平台)。你控制 Channel 进程,业务逻辑始终运行在你的基础设施上。

Channels SDK 是否支持 AI 自动配置?如何操作?

支持。执行 `npx copilotkit@latest channels setup`,CLI 会打印一段提示词并复制到剪贴板,你将其粘贴给编程助手 AI,它会读取在线指南并操作 Slack 和 Intelligence 控制台完成应用创建和安装。如果 AI 没有浏览器操作能力,它会要求你先安装。

Channels SDK 有哪些官方示例?

官方提供了一个完整的开源示例项目叫 OpenTag,它是一个值班事故处理助手,用 Python 的 LangGraph 编写 AI 逻辑,通过 AG-UI 协议接入 Channels,支持 Slack 和 Teams,并在执行写操作前发送卡片等待人工批准。

🏷️

标签

➡️

继续阅读