
Channels SDK:一个开源库,把你的 AI Agent 接进 Slack、Teams、Discord
CopilotKit 开源的 Channels SDK(MIT 协议),让你用同一套代码把任何 AG-UI 兼容的 AI Agent 接到 Slack、Microsoft Teams、Discord 等聊天平台,还能渲染原生交互 UI——按钮、选择器、审批门直接出现在对话里。
原文来源:GitHub — CopilotKit/channels-sdk — CopilotKit 开源的 Channels SDK,把任何 AG-UI 兼容的 AI Agent 接入 Slack/Teams/Discord/Telegram 等聊天平台,并渲染原生交互 UI,让 Agent 在真实工作场景里干活。
它解决什么问题
AI Agent 写代码、查数据、调 API 的能力已经很强,但大部分 Agent 活在终端或网页对话框里,和真正的协作场景脱节。团队日常在 Slack、Teams 里沟通,想让 Agent 参与进来——比如自动分类工单、汇报部署状态、审批前先问你一句——就需要把 Agent"接进"聊天平台。
这个接的过程很麻烦:每个平台有各自的 API、事件订阅、消息格式(Slack 用 Block Kit,Teams 用 Adaptive Cards),还有 OAuth 认证、重连、健康检查这些脏活。Channels SDK 把这些全部封装掉,让开发者只关心自己的 Agent 逻辑。
—— 广告 ——
项目基本信息
- 仓库:CopilotKit/channels-sdk(490 stars / 43 forks,2026 年 7 月中旬发布)
- 协议:MIT,完全开源
- npm 包:
@copilotkit/channels(当前 0.4.0,与@copilotkit/runtime配对发布) - 定位:任何 AG-UI 兼容 Agent → 任何聊天平台
- 参考应用:OpenTag,一个用 Channels 构建的开源值班工单助手
核心架构:一次对话,原生渲染到每个平台
Channels 的核心承诺是:描述一次消息,渲染成各平台原生 UI。同样的交互内容,在 Slack 里显示为 Block Kit 卡片,在 Teams 里显示为 Adaptive Card,在 Discord 里显示为对应格式。
架构上分两层,各管各的:
| 你负责 | CopilotKit Intelligence 负责 |
|---|---|
| Agent、模型凭据、工具、业务逻辑 | Slack/Teams 平台凭据 |
| 常驻运行的 Channels 监听进程 | 平台事件入口与投递 |
| 应用状态、部署、日志 | 运行时注册、健康检查、重连 |
消息流转路径固定四步:用户在 Slack 发消息 → Intelligence 收到平台事件并投递给你的 Channels 进程 → Channels 通过 AG-UI 协议驱动 Agent 执行工具、生成结果 → Intelligence 把原生平台 UI 送回对话。
关键设计:Agent 通过 AG-UI(Agent-UI 开放协议)与 Channels 通信,而不是绑定某个特定框架。这意味着 LangGraph、CrewAI、Mastra、Pydantic AI、Google ADK 的 Agent 都能接进来,你的 Agent 保留自己的模型、工具和业务逻辑,Channels 只负责"翻译"成平台交互。
上手:两行命令的快速路径
Channels 提供了一条让编码 Agent 自己动手的路径:
npx copilotkit@latest channels setup这条命令会安装 channels-setup skill,打印一段提示词并复制到剪贴板,粘贴给你的编码 Agent(Claude Code、Codex 等都行)。Agent 会自己去 CopilotKit Intelligence 控制台和 Slack 开发者后台操作,你只需要输入密钥——它负责点击。
想跳过托管流程、直接在自己已运行的编码 Agent 里装 Slack 流程,也可以用:
npx copilotkit@latest skills install --skill setup-slack-channel -y手动接入的核心代码
不走捷径的话,核心监听器代码非常精简。先装包:
npm install @copilotkit/channels @copilotkit/runtime
npm install --save-dev tsx typescript @types/node
npm pkg set type=module然后创建一个 Channel,绑定 Agent 工厂函数:
import { createChannel } from "@copilotkit/channels";
import { BuiltInAgent, CopilotKitIntelligence, CopilotRuntime } from "@copilotkit/runtime/v2";
import { createCopilotNodeListener } from "@copilotkit/runtime/v2/node";
const channel = createChannel({
name: required("CHANNEL_CODE"),
identifyUser: "platform",
agent: makeAgent, // 换成任何 AG-UI 兼容的 Agent 工厂
});
channel.onMessage(async ({ thread, message }) => {
await thread.runAgent({
prompt: message.text,
context: [{ description: "Originating platform", value: message.platform }],
});
});
const runtime = new CopilotRuntime({
agents: {},
intelligence: new CopilotKitIntelligence({ apiKey: required("INTELLIGENCE_API_KEY") }),
channels: [channel],
});启动:
node --env-file=.env --import tsx channel.ts当 Intelligence 报告 Online 后,把应用邀请进 Slack 频道并 @ 它,Agent 就开始接收对话并在线程里回复了。
注意几个工程细节:需要 Node.js 22+;Channels 和 Runtime 必须一起升级(它们是经过测试的配对);copilotkit channels status 命令可以对比你的配置、代码和服务器状态,方便排查不一致。
人机协同:审批门和生成式 UI
Channels 最实用的能力是把审批直接放进对话里。Agent 在写 Linear/Notion/执行危险操作之前,可以先在对话里抛出一个带按钮的卡片,等人点击确认再继续——OpenTag 参考应用就是这么做的:Agent 调工具前先请求人工审批。
还有生成式 UI(generative UI):文件感知的提示词、图表、仪表盘这类交互组件,可以直接渲染在聊天流里。比如 Agent 分析完部署日志,在 Discord 里直接渲染一张图表卡片。
适用场景与选型建议
适合:
- 想给团队现有 Agent 加聊天平台入口的开发者——不用为每个平台写适配器
- 已经用了 LangGraph/CrewAI/Mastra 等框架,不想被某个平台的 SDK 绑架
- 值班助手、工单分类、部署监控这类"在聊天流里干活"的场景
要注意的:
- 平台连接层依赖 CopilotKit Intelligence 托管服务(企业可自托管),不是纯本地方案
- 目前托管连接只支持 Slack 和 Teams;Discord、Telegram 已出现在 README 的计划表里,Google Chat/iMessage/SMS 还在规划中
- 项目还很新(0.4.0),API 可能变动,升版本要留意 changelog
同类对比
和直接调 Slack API 写 bot 相比:自己写要处理事件订阅、Block Kit 渲染、OAuth、重连、多平台适配,一套代码只能服务一个平台。Channels 的价值是"一次接入,处处运行",代价是引入了一层托管依赖。如果只打算做一个平台的简单 bot,直接写反而更轻;如果要让 Agent 在多平台、多框架间复用,Channels 这种抽象就划算得多。
一句话总结:Channels SDK 把"Agent 接入聊天平台"这个脏活封装成了标准协议 + 托管连接,让你把精力花在 Agent 本身。想快速体验的话,官方还提供了无需配置的 Try Channels 沙盒。
© 2026 四月
原文链接:https://www.aprilzz.com/tools/channels-sdk-agent-chat
相关文章
qm:Y Combinator 开源的团队级多智能体工作平台
YC 把内部每天在用的多智能体系统 QM 开源了:每个员工有独立工作区、共享记忆和文件、Slack 与 Web 双端、可插拔多种 Agent 引擎,MIT 协议直接部署
Gemini CLI:Google 开源的终端 AI Agent
Gemini CLI 是 Google 推出的开源终端 AI Agent,将 Gemini 3 的强大能力直接带入命令行。支持 60 请求/分钟的免费额度、Google Search 联网搜索、MCP 扩展和代码库级理解。
Oak:一个为 AI 智能体打造的版本控制系统
Git 很棒,但它不是为 AI 设计的。Oak 从零开始构建了一个面向智能体的版本控制系统,速度快 10 倍,还不需要你改工作流