CopilotKit Channels SDK 開源發佈,讓任何 AI Agent 都能在 Slack、Teams、Discord 等平台運行
Channels SDK 的功能及其重要性
Channels SDK 讓任何相容於 AG‑UI 的 AI agent 能夠在 Slack、Microsoft Teams、Discord、Telegram 以及未來的聊天平台中運行,渲染原生 UI 元素(如 blocks、adaptive cards 等),並保留對工具使用和審核的完全控制權。這統一了代理程式在工作場所通訊渠道中的部署,減少了整合工作量,並實現了更豐富、具備上下文感知能力的互動。
開箱即用的核心功能
- 與代理程式無關的連接性 – 連接內建的 CopilotKit agents 或外部框架,例如 LangGraph、CrewAI、Mastra、Pydantic AI、Google ADK 或任何相容於 AG‑UI 的 agent。
- 原生 UI 渲染 – 只需描述一次訊息;SDK 會自動將其轉換為 Slack Block Kit、Teams Adaptive Cards、Discord embeds 或特定平台的 UI。
- 人機協作控制 (Human‑in‑the‑loop) – 按鈕、選擇選單和審核閘道會直接出現在對話中,讓使用者在 agent 採取行動前進行干預。
- 託管平台憑證 – CopilotKit Intelligence 處理 Slack 和 Teams 的 OAuth、簽章密鑰和令牌輪換,而開發者則保留對模型金鑰、工具和業務邏輯的控制權。
快速入門工作流程(最快路徑)
- 執行設定技能 (setup skill) – 執行
npx copilotkit@latest channels setup。該技能會從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。該儲存庫提供了一個完整的範例,使用內建的 `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* 時,在 Slack 頻道中邀請該機器人並標記它;agent 將會在對話串中做出回應。
> **Note:** 如果舊版的全域 `copilotkit` 二進位檔遮蔽了最新版本,`--skill` 旗標將會失敗。請務必使用 `@latest` 後綴以強制 npx 獲取當前 CLI。
---
## 架構概覽
1. **使用者訊息** – 使用者在 Slack 或 Teams 中發送訊息。
2. **Intelligence 接入** – CopilotKit Intelligence 接收平台事件並將其轉發給持續運行的 Channels 程序。
3. **Agent 執行** – Channels SDK 運行相容於 AG‑UI 的 agent,該 agent 可能會呼叫工具、存取檔案或請求人工審核。
4. **原生回應** – Intelligence 將 agent 的輸出渲染為原生 UI(blocks、cards、charts)並將其發回對話中。
| 職責 | 由 CopilotKit Intelligence 負責 | 由開發者負責 |
|---|---|---|
| 平台憑證 (Slack, Teams) | ✅ | |
| Agent 模型、工具、業務邏輯 | | ✅ |
| 持續運行的監聽程序 | | ✅ |
| 運行時健康狀況、重新連接 | ✅ | |
該 SDK 採用 MIT 授權;客戶端函式庫為開源,而託管的 Intelligence 服務則是專有的且受授權限制。
---
## 實際案例:OpenTag
OpenTag 是使用 Channels 構建的自託管值班分流助手。它展示了:
- 透過 AG‑UI 連接的 Python LangGraph agent。
- 具備檔案感知提示的原生 Slack 和 Teams 體驗。
- 在建立 Linear 票券或 Notion 頁面之前的真人審核步驟。
- 產線級的 Node 運行時和 agent 服務。
前往 https://github.com/CopilotKit/OpenTag 探索原始碼。
---
## Hacker News 社群回饋
- **工程師觀點** – 一位 CopilotKit 工程師強調了內部的「吃自家產品」(dog-fooding) 實踐:微型任務專用 agent(訂餐、事件分流、行銷影片生成)現在透過 Channels 在 Slack/Teams 中運行。
- **設計驗證** – 評論者稱讚這種統一的 SDK/數據結構方法,指出這避免了重複造低階聊天客戶端原語 (primitives) 的輪子。
- **開源疑慮** – 一位使用者指出只有客戶端是 MIT 授權;後端 Intelligence 服務仍是封閉且受授權限制的。
- **未來的頻道需求** – 社群成員要求增加更多平台(Mastodon、更多 Discord 支援),並對工作場所 Slack 中無處不在的聊天機器人噪音表示了複雜的情緒。
---
## 入門資源
| 目標 | 連結 |
|---|---|
| 嘗試線上 Demo (無需設定) | https://www.copilotkit.ai/try-channels |
| 安裝 SDK | https://www.npmjs.com/package/@copilotkit/channels |
| 逐步指南 | https://docs.copilotkit.ai/channels |
| 原始碼 | https://github.com/CopilotKit/channels-sdk |
| 學習完整應用程式 | https://github.com/CopilotKit/OpenTag |
| AG‑UI 協定文件 | https://github.com/ag-ui-protocol/ag-ui |
---
## 總結
Channels SDK 抽象化了特定平台的底層細節,讓開發者可以專注於 agent 的智慧化,同時在團隊已經協作的聊天工具中提供原生的互動體驗。其開源客戶端結合託管的 Intelligence 後端,為多渠道 AI agent 提供了一條從原型到生產的低摩擦路徑。
Sources
相關
- 專案
- 專案
- 專案
- 專案
- 專案