CopilotKit Channels SDK 开源发布,支持在 Slack、Teams、Discord 等平台运行任何 AI Agent
Channels SDK 的作用及其重要性
The Channels SDK 让任何兼容 AG‑UI 的 AI agent 可以在 Slack、Microsoft Teams、Discord、Telegram 以及未来的聊天平台中运行,渲染原生 UI 元素(blocks、adaptive cards 等),并保留对工具使用和审批的完全控制权。这统一了跨工作场所通信渠道的 agent 部署,减少了集成工作量,并实现了更丰富、具备上下文感知能力的交互。
开箱即用的核心能力
- Agent-agnostic connectivity – 连接内置的 CopilotKit agents 或外部框架,如 LangGraph、CrewAI、Mastra、Pydantic AI、Google ADK,或任何兼容 AG‑UI 的 agent。
- Native UI rendering – 只需描述一次消息;SDK 会自动将其转换为 Slack Block Kit、Teams Adaptive Cards、Discord embeds,或平台特定的 UI。
- Human-in-the-loop controls – 按钮、选择菜单和审批环节直接出现在对话中,允许用户在 agent 采取行动之前进行干预。
- Managed platform credentials – CopilotKit Intelligence 处理 Slack 和 Teams 的 OAuth、签名密钥和 token 轮换,而开发者则保留对模型密钥、工具和业务逻辑的控制权。
快速入门工作流(最快路径)
- 运行 setup skill – 执行
npx copilotkit@latest channels setup。该 skill 会从copilotkit.ai/channels-guide.md获取最新指南,提示你选择平台(Slack 或 Teams)和 agent 框架,并驱动基于浏览器的配置。 - 配置连接 – 在 CopilotKit Intelligence 中创建一个 Channel,并记录 Channel Code 和项目范围的 API key。
- 安装 SDK – ```bash npm install @copilotkit/channels @copilotkit/runtime npm install --save-dev tsx typescript @types/node npm pkg set type=module
4. **编写 listener** – 一个最小化的 Node server 会创建一个 `Channel` 对象,将其连接到 `CopilotRuntime`,并通过 `thread.runAgent` 将传入的消息转发给 agent。
该 repository 提供了一个完整的示例,使用了内置的 `BuiltInAgent` 配合 `model: "openai:gpt-5.4-mini"`。
5. **开始流程** – 在 `.env` 文件中填入 `OPENAI_API_KEY`、`INTELLIGENCE_API_KEY`、`CHANNEL_CODE` 和 `PORT`,然后运行 `node --env-file=.env --import tsx channel.ts`。当 Intelligence 报告 *Online* 时,邀请 bot 到 Slack channel 并提及它;agent 将在 thread 中进行响应。
> **Note:** 如果旧版的全局 `copilotkit` 二进制文件遮蔽了最新版本,`--skill` 标志将失败。请务必使用 `@latest` 后缀以强制 npx 获取当前的 CLI。
---
## 架构概览
1. **User message** – 用户在 Slack 或 Teams 中发布消息。
2. **Intelligence ingress** – CopilotKit Intelligence 接收平台事件并将其转发给长运行的 Channels 进程。
3. **Agent execution** – Channels SDK 运行兼容 AG‑UI 的 agent,该 agent 可能调用工具、访问文件或请求人类审批。
4. **Native response** – Intelligence 渲染 agent 的输出为原生 UI(blocks、cards、charts)并将其发布回对话中。
| 责任 | 由 CopilotKit Intelligence 管理 | 由开发者管理 |
|---|---|---|
| Platform credentials (Slack, Teams) | ✅ | |
| Agent model, tools, business logic | | ✅ |
| Long-running listener process | | ✅ |
| Runtime health, reconnection | ✅ | |
该 SDK 是 MIT‑licensed;客户端库是开源的,而托管的 Intelligence service 是专有的且受许可限制。
---
## 真实案例:OpenTag
OpenTag 是一个使用 Channels 构建的自托管 on-call triage assistant。它展示了:
- 一个通过 AG‑UI 连接的 Python LangGraph agent。
- 具备文件感知提示词的原生 Slack 和 Teams 体验。
- 在创建 Linear 任务或 Notion 页面之前的人类审批步骤。
- 生产级 Node runtime 和 agent service。
探索源码:https://github.com/CopilotKit/OpenTag.
---
## 来自 Hacker News 的社区反馈
- **Engineers’ perspective** – 一个 CopilotKit 工程师强调了内部“吃狗粮”吃得很好:微小的任务特定型 agent(订餐、事件响应、营销视频生成)现在通过 Channels 运行在 Slack/Teams 中。
- **Design validation** – 评论者称赞了统一的 SDK/数据结构的方法,这避免了重新发明低层级的聊天客户端原语。
- **Open-source concerns** – 一位用户指出,只有客户端是 MIT-licensed;后端 Intelligence service 仍然是闭源且受许可限制。
| **Future channel requests** – 社区成员请求了更多平台支持(Mastodon、更多 Discord 支持)并对工作场所 Slack 中无处不在的 chatbot 噪音 表达了复杂的情态态。
---
## 入门资源
| 目标 | 链接 |
|---|---|---|
| Try a live demo (no setup) | https://www.copilotkit.ai/try-channels |
| Install the SDK | https://www.npmjs.com/package/@copilotkit/channels |
| Install the SDK | https://www.npmjs.com/package/@copilotkit/channels |
| Step-by-step guide | https://docs.copilotkit.ai/channels |
| Source code | https://github.com/CopilotKit/channels-sdk |
| Study a full app | https://github.com/CopilotKit/OpenTag |
| AG-UI protocol docs | https://github.com/ag-ui-protocol/ag-ui |
---
## 总结
Channels SDK 抽象了平台特定的底层实现,让开发者专注于 agent 的智能程度,同时在团队已有的协作工具中提供原生、交互式的体验。其开源客户端结合托管的 Intelligence backend,为多渠道 AI agent 的原型设计到生产环境提供了低摩擦的路径。
Sources
相关
- 项目
- 项目
- 项目
- 项目
- 项目