CopilotKit — открытый SDK для агентных приложений с Generative UI
📂 Исходный код на GitHubОткрытый SDK для агентных приложений: чат, Generative UI, общее состояние и human-in-the-loop для React, Angular, Vue, React Native, Slack и Teams. Авторы развивают протокол AG-UI.
CopilotKit — это открытый SDK для создания агентных приложений. Он встраивает AI-агентов в интерфейс: чат, Generative UI, общее состояние и подтверждения от человека. Проект написан на TypeScript, лицензия — MIT. Команда CopilotKit также развивает протокол AG-UI. Его уже приняли Google, LangChain, AWS, Microsoft, Mastra и PydanticAI.
Что такое CopilotKit
Проект начинался как React-библиотека для чат-ассистентов. Сегодня авторы называют его слоем между вашими агентами и пользователями. Один и тот же агент может работать в веб-приложении, в мобильном приложении и в рабочем чате команды — Slack или Microsoft Teams.
Задача SDK — соединить интерфейс, агентов и инструменты в один цикл. Агент может задать пользователю вопрос, вызвать инструмент, который отрисует компонент на экране, и вести состояние между шагами и сессиями. Логика агента при этом не меняется: для каждого фреймворка и канала отвечает своя часть CopilotKit.
Ключевые возможности
В README перечислены семь базовых функций:
- Chat UI — настраиваемый чат с потоковыми сообщениями, вызовами инструментов и ответами агента.
- Backend Tool Rendering — агент вызывает бэкенд-инструмент, а тот возвращает готовый UI-компонент для клиента.
- Generative UI — агент сам генерирует и обновляет компоненты во время работы, исходя из запроса и своего состояния.
- Shared State — синхронизированное состояние, которое в реальном времени читают и пишут и агент, и интерфейс.
- Human-in-the-Loop — агент ставит выполнение на паузу и ждёт от человека ввода, подтверждения или правок.
- Rich Threads — переписки переживают перезагрузку, смену устройства и новую сессию вместе с интерфейсом.
- Automatic Learning — завершённые диалоги превращаются в проверенные скиллы. Пайплайн дообучения не нужен.
Как устроен AG-UI
Протокол AG-UI описывает, как агент общается с интерфейсом по сети. CopilotKit берёт на себя транспорт и UI-слой, поэтому бэкенд агента можно писать на любом фреймворке. Из коробки есть интеграции с LangChain, CrewAI, Mastra и PydanticAI.
Новое приложение на AG-UI создаётся одной командой:
npx create-ag-ui-app my-agent-app
Быстрый старт
Авторы предлагают три пути. Первый — доверить интеграцию кодинг-агенту. Скопируйте промпт из README и отдайте его своему агенту:
Help me get started with CopilotKit. From the root of my project, run this
command and follow the instructions:
npx --yes copilotkit@latest onboard start
Второй путь — установить агентские скиллы от CopilotKit. Они помогают кодинг-агенту строить фичи и искать баги в проекте, где CopilotKit уже подключён:
npx copilotkit@latest skills install
Третий путь — собрать новое приложение с нуля. Команда создаст проект в отдельной папке и ничего не тронет в текущем коде:
npx copilotkit@latest create
Хук useAgent
Для программного управления агентом есть хук useAgent. Он работает поверх AG-UI и даёт полный контроль над соединением. Вот пример из документации:
// Programmatically access and control your agents
const { agent } = useAgent({ agentId: "my_agent" });
// Render and update your agent's state
return <div>
<h1>{agent.state.city}</h1>
<button onClick={() => agent.setState({ city: "NYC" })}>
Set City
</button>
</div>
Здесь интерфейс читает состояние агента напрямую и может его менять. Агент увидит изменение и продолжит работу с новыми данными. Подробности — в документации useAgent.
Generative UI: три подхода
Generative UI — центральный паттерн CopilotKit: агент отрисовывает интерфейс как часть своей работы. Проект выделяет три типа:
- Статический через протокол AG-UI. Компоненты известны заранее, агент лишь выбирает, какой показать.
- Декларативный через A2UI. Агент описывает интерфейс декларацией, клиент её рендерит.
- Открытый через MCP Apps и Open JSON. Агент волен строить любые компоненты во время выполнения.
Учебный репозиторий с примерами Generative UI лежит в основном репозитории проекта.
Поддерживаемые платформы
Один агентский бэкенд обслуживает все фронтенды:
| Платформа | Статус |
|---|---|
| React / Next.js | GA |
| Angular | Поддерживается |
| Vue | Поддерживается |
| React Native | Поддерживается |
| Slack / Microsoft Teams | Поддерживается |
| Discord / WhatsApp / Telegram | Адаптер Channels SDK |
| Google Chat / iMessage / SMS | В планах |
Логика агента остаётся прежней. AG-UI отвечает за протокол обмена, CopilotKit — за UI-слой конкретного фреймворка или канала.
Каналы: агент в каждом мессенджере
Channels SDK берёт готового агента и переносит его в чат-приложения. Инструменты, общее состояние и human-in-the-loop сохраняются без переписывания кода.
- Slack — агент становится полноценным Slack-приложением: треды, вызовы инструментов и подтверждения прямо в канале.
- Microsoft Teams — агентные сценарии там, где уже работает компания.
CopilotKit Intelligence
Под открытым SDK лежит коммерческая платформа CopilotKit Intelligence. Она добавляет продакшен-функции: долговременные треды с Generative UI, память о пользователе, продуктовую аналитику и автоматическое обучение агентов.
- Rich Threads — диалоги с интерфейсом восстанавливаются после перезагрузки и на новом устройстве.
- User Memories — устойчивые факты и предпочтения пользователя. Они переносятся между диалогами и ищутся по смыслу, а не по ключевым словам.
- Automatic Learning — завершённые треды превращаются в подкреплённые примерами инсайты и проверенные скиллы, которые вы публикуете сами.
- Product Analytics — видно, что делают агенты и где пользователь получает ценность.
- Self-hosting — платформу можно развернуть в своём кластере Kubernetes или внутри корпоративного контура.
Платформа работает с существующим приложением на CopilotKit и любым агентским фреймворком. Доступен хостинг или развёртывание у себя.
Чем полезен проект
CopilotKit закрывает вопрос «как показать агента пользователю». Не нужно писать свой чат, продумывать поток подтверждений и синхронизацию состояния. Компоненты и хуки дают готовый каркас, а протокол AG-UI освобождает от привязки к одному фреймворку или каналу.
Проект пригодится, если вы строите агентное приложение на React или Vue, хотите выпустить агента в Slack и Teams или ищете стандарт обмена между бэкендом агента и интерфейсом. Исходный код открыт под лицензией MIT, вклад приветствуется — правила описаны в CONTRIBUTING.md. Быстрее всего начать с официального quickstart.
Источник: https://github.com/CopilotKit/CopilotKit