Агент туда, где уже работают люди

CopilotKit представила Channels SDK — открытую библиотеку, которая позволяет запустить любой AG-UI агент в Slack, Microsoft Teams и других чат-платформах из единой кодовой базы. Ключевая идея — не переписывать агента под каждую платформу, а просто дать ему место для работы с людьми. SDK опубликован под лицензией MIT и имеет задокументированный runtime-контракт.


Что такое AG-UI и зачем он нужен

AG-UI (Agent-User Interaction Protocol) — открытый, легковесный, событийно-ориентированный протокол, который стандартизирует взаимодействие AI-агентов с пользовательскими интерфейсами. Он стандартизирует передачу состояния агента, UI-намерений и действий пользователя между моделью и фронтендом — чтобы разработчики могли быстро выпускать надёжные агентные фичи без сложной ручной «проводки».

ℹ AG-UI vs A2UI
Эти два протокола часто путают. AG-UI — транспортный протокол (как передавать события между агентом и UI), созданный CopilotKit. A2UI — спецификация генеративного UI от Google (что именно рендерить). Они дополняют друг друга: AG-UI переносит A2UI-пейлоады внутри своего потока событий.

Как работает Channels SDK

Channels SDK подключает AG-UI-совместимого агента к коммуникационным платформам, которые команда уже использует: агент понимает контекст разговора, стримит ответы, вызывает инструменты, работает с файлами, рендерит интерактивный UI и приостанавливается для подтверждения человеком.

Сообщение описывается один раз, а адаптер самостоятельно преобразует его в нативный формат каждой платформы: Block Kit в Slack и Adaptive Cards в Teams — а не просто текстовый blob через webhook.


sequenceDiagram
    participant U as Пользователь (Slack/Teams)
    participant I as CopilotKit Intelligence
    participant C as Channels Process
    participant A as Агент (AG-UI)
    U->>I: Сообщение в канале
    I->>C: Доставка события платформы
    C->>A: Запуск агента через AG-UI
    A-->>C: Ответ + вызов инструментов
    C-->>I: Результат рендеринга
    I-->>U: Нативный UI (Block Kit / Adaptive Cards)


Разделение ответственности

Архитектура SDK построена на чётком разграничении: разработчик контролирует агента и бизнес-логику, платформенной инфраструктурой занимается CopilotKit Intelligence.

Такое разделение позволяет держать платформенные credentials подальше от процесса агента, не перенося при этом агента, инструменты и бизнес-логику в CopilotKit.

Что контролирует разработчикЧто управляет CopilotKit Intelligence
Агент, модель и бизнес-логикаCredentials Slack и MS Teams
Долгоживущий Channels-процессВходящий трафик платформы и доставка
Состояние приложения, деплой, логиРегистрация runtime, health-checks, реконнекты
API-ключи и секреты (.env)Платформенный ingress и управление сессиями

Поддерживаемые платформы и фреймворки

Сейчас Channels доступен для Slack и Microsoft Teams в режиме раннего доступа; Discord и Google Chat заявлены как следующие платформы.

Можно использовать встроенного агента CopilotKit или подключить LangGraph, CrewAI, Mastra, Pydantic AI, Google ADK и другие AG-UI-совместимые агенты.

Пакет также экспортирует прямые адаптеры для самостоятельного использования — Slack, Teams, Discord, Telegram и WhatsApp.


Быстрый старт: установка и запуск

💡 Самый быстрый путь
Запустите одну команду — и специальный skill проведёт вашего coding-агента через весь процесс настройки, включая создание Slack-приложения и подключение к CopilotKit Intelligence.

Для запуска через coding-агент:

npx copilotkit@latest channels setup

Для ручной установки:

npm install @copilotkit/channels @copilotkit/runtime
npm install --save-dev tsx typescript @types/node
npm pkg set type=module

Минимальный пример listener-процесса на TypeScript:

// channel.ts
import { createServer } from "node:http";
import { createChannel } from "@copilotkit/channels";
import {
  BuiltInAgent,
  CopilotKitIntelligence,
  CopilotRuntime,
} from "@copilotkit/runtime/v2";
import { createCopilotNodeListener } from "@copilotkit/runtime/v2/node";

function makeAgent(threadId: string) {
  const agent = new BuiltInAgent({ model: "openai:gpt-5.4-mini" });
  agent.threadId = threadId;
  return agent;
}

const channel = createChannel({
  name: process.env.CHANNEL_CODE!,
  identifyUser: "platform",
  agent: makeAgent,
});

channel.onMessage(async ({ thread, message }) => {
  await thread.runAgent({ prompt: message.text });
});

Переменные окружения для запуска:

# .env
OPENAI_API_KEY=<openai-api-key>
INTELLIGENCE_API_KEY=<project-api-key>
CHANNEL_CODE=<channel-code-from-intelligence>
PORT=3000

Запуск:

node --env-file=.env --import tsx channel.ts
⚠ Версия Node.js
Для работы Channels SDK требуется Node.js 22 или новее. Убедитесь, что используете актуальную версию перед установкой.

Контекст: почему это важно для отрасли

Агент должен быть там, где уже работают люди — а не требовать от них переключаться в новый интерфейс.

Проблема «последней мили» для enterprise AI-агентов заключалась именно в интеграции с мессенджерами: каждая платформа требовала отдельной разработки, управления credentials и поддержки нативного UI. Production self-hosting сохраняет конфигурацию Channels, credentials провайдера, состояние доставки и операции платформы внутри сети организации — обеспечивая полный контроль над data residency и безопасностью.

По мере того как AI-агенты эволюционируют от простых чат-ботов к полноценным движкам рабочих процессов, задача стандартизации взаимодействия агента и пользователя остаётся одной из ключевых нерешённых проблем. Channels SDK вместе с протоколом AG-UI делает серьёзный шаг к её решению: один агент, одна кодовая база — и нативное присутствие в любом корпоративном мессенджере.

Для команд, которые уже строят агентную автоматизацию на LangGraph, CrewAI или собственных фреймворках, Channels SDK снимает главный барьер — платформенную фрагментацию — и открывает путь к production-деплою агентов туда, где сотрудники проводят большую часть рабочего дня.

📝 Попробовать без настройки
CopilotKit предлагает демо-среду: можно протестировать реального Channels-агента в Slack или Microsoft Teams без необходимости настраивать приложение, runtime или credentials провайдера. Ссылка на демо доступна на официальной странице.