Что такое OpenDots и зачем это нужно
После анонса проприетарного продукта Dots от OpenAI, разработчики из CopilotKit представили OpenDots — полностью опенсорсный фреймворк для развертывания собственных AI-сотрудников. Это не просто чат-бот, а полноценная рабочая среда, где каждый агент (названный «Dot») обладает собственным изолированным виртуальным компьютером, памятью и правами доступа.
Ключевая особенность платформы — возможность самостоятельного хостинга. Разработчики могут клонировать репозиторий, настроить инфраструктуру и адаптировать интерфейс под свои задачи, сохраняя полный контроль над данными и моделями.
Архитектура и технические детали
Система построена на стеке CopilotKit и AG-UI, обеспечивая потоковую передачу сообщений и управление состоянием агента. В основе лежит интеграция с TanStack AI для стриминга моделей и выполнения серверных инструментов. Архитектура разделяет историю разговоров (через CopilotKit Threads) и рабочее пространство документов.
Для работы с внешним миром используются:
- OpenBot: контейнерный супервайзер, предоставляющий каждому Dot изолированный браузер, файловую систему и терминал.
- WebRTC: для голосовых звонков в реальном времени с отдельным вычислительным агентом.
- Slack Channels SDK: для интеграции агентов в рабочие процессы через упоминания.
Ключевые возможности платформы
OpenDots предлагает функционал, выходящий за рамки простого генеративного текста. Ниже приведена сравнительная таблица основных компонентов системы:
| Компонент | Функциональность | Техническая реализация |
|---|---|---|
| Spaces (Пространства) | Хранилище документов с поиском, визуальным редактором и вложенными страницами | Локальная БД, CopilotKit Threads |
| Dot Computers | Изолированная среда: браузер, файлы, shell, контроль действий | OpenBot, контейнеризация, изоляция прав |
| Human-in-the-loop | Пауза выполнения для утверждения или отклонения черновиков | UI-карточки «Approve & save» / «Decline» |
| Голосовые звонки | Реалтайм-речь с таймером, субтитрами и возможностью минимизации | WebRTC, отдельный compute-агент |
| Slack-интеграция | Упоминание агента в каналах, продолжение в треде | Channels SDK, allowlist пользователей |
Как запустить проект
Для локального развертывания требуется Node.js 24 и npm. Процесс установки стандартен для современных JS-проектов:
- Клонирование репозитория:
git clone https://github.com/CopilotKit/OpenDots.git - Установка зависимостей:
npm ci - Запуск сервера разработки:
npm run dev
После запуска приложение доступно по адресу http://127.0.0.1:5173. Важно отметить, что базовая версия работает локально без подключения внешних сервисов, но для активации функций браузера, звонков и Slack потребуется дополнительная конфигурация провайдеров моделей и API-ключей в файле .env.
Источник: Github ↗
