pimenov.ai

База знаний

OpenBot — открытые ИИ-сотрудники на вашей инфраструктуре

OpenBot от CopilotKit: архитектура ИИ-сотрудников со своим компьютером, быстрый запуск через Docker и подключение моделей по API-ключу или подписке.

Опубликовано Обновлено

OpenBot — открытая платформа ИИ-сотрудников от команды CopilotKit. Она разворачивается в инфраструктуре компании, подключает агентов по открытому протоколу взаимодействия агента с пользовательским интерфейсом (Agent–User Interaction Protocol, AG-UI) и даёт им управляемый доступ к браузеру, файлам, корпоративным знаниям и инструментам MCP (Model Context Protocol).

📌
Материал актуализирован по официальному сайту, документации и релизам OpenBot 10 сентября 2026 года. Собственный запуск автором не выполнялся: команды и ожидаемое поведение сверены с первоисточниками, но не проверены вживую. Последний найденный релиз — v0.0.8 от 6 сентября 2026 года.

Что представляет собой OpenBot

В OpenBot агент оформлен как отдельный ИИ-сотрудник: у него есть роль, собственный канал, разрешённые навыки и источники данных. Можно использовать встроенного агента или зарегистрировать внешний адрес агента, совместимый с AG-UI (AG-UI endpoint), на LangGraph, Mastra, PydanticAI либо другом совместимом стеке.

Основные возможности:

  • отдельные каналы и история для каждого агента;
  • ответы по документам Google Drive и Microsoft OneDrive с указанием источников;
  • управление Chromium и файлами там, где подходящего API нет;
  • наблюдение за экраном агента и передача управления человеку;
  • разрешения на инструменты и источники для каждого агента;
  • проверка действий политиками и серверный аудит;
  • подключение MCP-серверов и повторно используемых навыков;
  • компоненты интерфейса и опциональные генерируемые интерфейсы;
  • передача задач от встроенных агентов другим агентам с ограничением глубины цепочки и количества переходов.

OpenBot рассчитан на один контур одной компании, без общего tenant с другими организациями. Docker Compose используется для демонстрационного и локального запуска, Helm указан как поддерживаемый путь для production.

Как устроен контур

Браузер пользователя
      │
   app :3010 — каналы, чат, экран агента и настройки
      │
 server :3001 — API, авторизация, политики, аудит и шлюзы
      │
      ├── agent-computer :4100 — Chromium, профиль и /workspace
      ├── supervisor :4500 — управление контейнерами компьютеров
      ├── agent-bot :4200 — демонстрационный AG-UI Bot
      ├── agent-langgraph :4201 — AG-UI Bot на LangGraph
      ├── PostgreSQL :5432 — данные продукта, права и аудит
      └── CopilotKit Intelligence — треды, память и realtime-шлюз

Приложение открывает канал, сервер определяет пользователя и выбранного агента, а исполняющая часть CopilotKit (CopilotKit Runtime) отправляет запрос в настроенный AG-UI endpoint. Обращения к браузеру, файлам и MCP возвращаются на сервер для проверки разрешений и записи в аудит.

Политики действий работают на сервере

Компьютер агента самостоятельно не решает, разрешено ли действие. Серверный шлюз определяет цель, применяет политику, записывает решение в аудит и только после этого вызывает компьютер.

Правила можно строить по инструменту, агенту, пользователю, адресу страницы, свойствам элемента, пути файла и параметрам MCP. Запреты проверяются раньше разрешений. Пустая или отсутствующая политика ничего не разрешает, ошибка в запрещающем правиле приводит к отказу, а неисправное разрешающее правило не открывает доступ.

⚖️
Поставляемая стартовая политика содержит deny: [] и allow: ["true"]. Это явное разрешение всех действий, пока администратор не сохранит другую политику или не задаст AGENT_COMPUTER_POLICY. Защитное поведение движка при ошибках не заменяет настройку безопасных правил для конкретного контура.

Отдельный компьютер требует supervisor

При настроенном COMPUTER_SUPERVISOR_URL каждый агент получает отдельный контейнер, рабочий том и браузерный профиль. Без supervisor агенты используют общий AGENT_COMPUTER_URL. На совместимом хосте контейнеры можно запускать через gVisor, задав COMPUTER_RUNTIME=runsc.

Supervisor имеет доступ к Docker socket, поэтому его нельзя выставлять наружу. В Docker Compose он привязан к 127.0.0.1:4500.

Человек может перехватить управление

Живой экран показывается рядом с разговором. Если требуется вход в сервис или другое ручное действие, пользователь может взять управление и затем вернуть его агенту. Пока человек управляет браузером, действия агента отклоняются, а события передачи управления записываются в аудит.

Быстрый запуск из репозитория

Для запуска из репозитория нужны Docker и Bun. В конфигурации должны быть подключение к PostgreSQL, ключ шифрования, настройки CopilotKit Intelligence и ключ выбранного модельного провайдера.

Создайте рабочую копию конфигурации:

git clone https://github.com/CopilotKit/openbot.git
cd openbot
cp .env.example .env

Минимально проверьте в .env следующие параметры:

  • DATABASE_URL — подключение к PostgreSQL;
  • KEY_ENCRYPTION_KEY — ключ шифрования сохранённых учётных данных;
  • INTELLIGENCE_API_URL;
  • INTELLIGENCE_GATEWAY_WS_URL;
  • INTELLIGENCE_API_KEY;
  • ключ выбранного модельного провайдера.

Ключ шифрования должен быть 32-байтовым значением в Base64. Его можно сгенерировать так:

openssl rand -base64 32

Запустите стек официальным скриптом:

bash scripts/start.sh

Скрипт запускает PostgreSQL, компьютеры агентов, демонстрационных ботов и supervisor через Docker Compose, а API-сервер и приложение — на хосте. После успешного запуска интерфейс по умолчанию доступен по адресу:

http://localhost:3010
⚠️
Без настроенного провайдера входа сервер запускается только при OPENBOT_SINGLE_USER=true. В этом режиме все запросы относятся к одному фиксированному администратору. Пример .env.example включает этот флаг для локального запуска; публично доступный контур должен использовать настроенную авторизацию.

Для входа поддерживаются Google, Microsoft и Okta через переменные окружения. SAML- и OpenID Connect-провайдеры можно зарегистрировать во время работы системы. При использовании провайдера также требуются BETTER_AUTH_SECRET, BETTER_AUTH_URL и INITIAL_ADMIN_EMAILS.

Подключение модели

Поставляемый LangGraph Bot поддерживает провайдеры openai, anthropic и google, выбранные через BOT_PROVIDER. Ключ задаётся одной из переменных:

  • OPENAI_API_KEY;
  • ANTHROPIC_API_KEY;
  • GOOGLE_API_KEY.

Модель выбирается через BOT_MODEL. Встроенный агент не включается автоматически, пока администратор не настроит провайдера. Тихого отката на неизвестную модель не происходит.

Для совместимого шлюза или модели в собственном контуре используйте OPENAI_BASE_URL. Аналогичные параметры для других API — ANTHROPIC_BASE_URL и GOOGLE_GENERATIVE_AI_BASE_URL.

OPENAI_BASE_URL=https://gateway.internal/v1
OPENAI_API_KEY=replace-with-your-key
BOT_MODEL=openai/your-tool-capable-model

Название модели передаётся без преобразований и должно совпадать с каталогом endpoint. Модель обязана поддерживать вызов инструментов, если агенту требуются браузерные действия или MCP-инструменты. Флаг BOT_RESPONSES_API=true работает только с endpoint, реализующим Responses API.

Компоненты и generative UI

OpenBot различает два механизма:

  • опубликованные компоненты из каталога, которые администратор разрешает конкретному агенту;
  • интерфейсы, код которых модель создаёт непосредственно во время ответа.

Генерируемые интерфейсы по умолчанию отключены. Для их включения нужно явно задать OPENBOT_GENERATIVE_UI=true или 1. Такой интерфейс выполняется в изолированном iframe без сессии и доступа к приложению через тот же источник (same-origin), но может загружать библиотеки из CDN. В контуре, где браузеру запрещён публичный интернет, возможность лучше оставить выключенной.

Тарифы CopilotKit Intelligence

OpenBot использует CopilotKit Intelligence для тредов, памяти и realtime-шлюза. Для managed Intelligence достаточно адресов API и gateway вместе с INTELLIGENCE_API_KEY. COPILOTKIT_LICENSE_TOKEN теперь необязателен и нужен только для self-hosted Intelligence, где такой токен используется.

Тарифы на 10 сентября 2026 года:

ТарифЦенаОсновные ограничения
DeveloperБесплатно1 разработчик, 200 тредов, хранение 3 дня, 1 ГБ, 500 credits всего
Pro$39 в месяц5 000 тредов, хранение 5 дней, 10 ГБ, 2 000 credits в месяц
Team$100 за место в месяцДо 5 мест, 25 000 тредов, хранение 14 дней, 100 ГБ, 5 000 credits в месяц
EnterpriseИндивидуальноНеограниченное число тредов, настраиваемое хранение, SLA и приоритетная поддержка

Developer и Pro предоставляют VPC/on-prem только для runtime. На Team самостоятельное размещение вместе с базой указано как опциональное, а на Enterprise — как включённое. Отдельно учитывайте расходы на модель, серверы, хранилище и эксплуатацию.

Источник: официальная страница цен CopilotKit.

Полезные сценарии

Проверка работы агента в браузере

Задача: убедиться, что агент действительно выполняет действия, а не ограничивается текстовым ответом.

Условие: настроены компьютер, модель с вызовом инструментов и политика, разрешающая безопасную тестовую навигацию.

Действия: откройте разговор с агентом и попросите перейти на общедоступную страницу, прочитать её заголовок и вернуть результат.

Наблюдаемый результат: экран агента показывает навигацию, ответ содержит данные со страницы, а серверный аудит — решение по действию.

Ограничение: внешний сайт может блокировать автоматизированный браузер; это не доказывает неисправность OpenBot.

Проверка запрета до выполнения действия

Задача: проверить, что граница доступа работает на сервере.

Условие: доступна административная настройка политик и выбран безопасный тестовый сайт.

Действия: сначала выполните разрешённую навигацию, затем добавьте запрещающее правило для выбранного хоста или действия и повторите запрос.

Наблюдаемый результат: повторное действие не передаётся компьютеру, а в аудите появляется отказ.

Ограничение: правила используют CEL. Ошибка в deny-правиле приводит к запрету, а некорректное allow-правило не даёт разрешения.

Подключение корпоративных знаний

Задача: получать ответы по документам с учётом прав пользователя.

Условие: администратор настроил источник Google Drive или Microsoft OneDrive, а пользователь подключил свою учётную запись, когда это требуется.

Действия: разрешите агенту источник и задайте вопрос, ответ на который находится в доступном пользователю документе.

Наблюдаемый результат: агент возвращает ответ со ссылками на документы. Если сопоставление прав неоднозначно, документ не должен попасть в выдачу.

Ограничение: декларация источника и пользовательская авторизация являются отдельными этапами.

Проверка установленного контура

Минимальный чеклист:

  1. bash scripts/start.sh завершается без ошибки конфигурации.
  2. Интерфейс открывается на http://localhost:3010.
  3. Настроенный агент отвечает в собственном канале.
  4. Без ключа модели встроенный агент остаётся недоступным, а не переключается на неизвестный провайдер.
  5. Тестовое действие в браузере отображается на живом экране.
  6. Решение по действию появляется в серверном аудите.
  7. При COMPUTER_SUPERVISOR_URL разные агенты получают отдельные контейнеры и профили.

Если интерфейс доступен, но агент не отвечает, проверьте модельный ключ, три параметра Intelligence, AG-UI endpoint и журналы API-сервера.

Что изменилось в последних релизах

На 10 сентября 2026 года последний найденный релиз — v0.0.8. Он добавил desktop shell для macOS, Windows и Linux, который устанавливает закреплённые образы, создаёт необходимые секреты, запускает стек и показывает OpenBot в отдельном окне.

В v0.0.7 появились опубликованные образы отдельных сервисов для linux/amd64 и linux/arm64, создание навыков и сотрудников из разговора, постоянные пользовательские инструкции и улучшения аудита. В v0.0.6 токен COPILOTKIT_LICENSE_TOKEN стал необязательным для managed Intelligence.

Из-за активного темпа релизов перед установкой сверяйте переменные окружения и инструкции с актуальной версией.

Ограничения и случаи, когда OpenBot не подходит

  • Для самостоятельного контура нужны навыки работы с контейнерами, переменными окружения, PostgreSQL и провайдерами авторизации.
  • Docker Compose предназначен прежде всего для демонстрации; production-путь строится вокруг Helm.
  • Отдельный компьютер для каждого агента появляется при использовании supervisor; без него агенты используют общий компьютер.
  • Браузерный агент получает возможности обычного браузера и shell внутри своего контейнера. Поэтому настройка политик, сетевые ограничения и защита Docker socket особенно важны при использовании supervisor.
  • Поле allowed_groups в tenant package пока нельзя считать действующим контролем доступа: доступ к каналам определяется membership, а группы пользователей не заполняются путями входа, описанными в текущей архитектуре.
  • Генерируемые интерфейсы требуют отдельного включения и могут обращаться к публичным CDN.
  • Источники знаний tenant package сейчас ограничены Google Drive и Microsoft OneDrive. Каталог MCP отдельно включает Google Drive и Notion.

Официальные ссылки

OpenBot подходит командам, которым нужен контролируемый агентный контур с собственными моделями, политиками и аудитом, а эксплуатацию контейнеров и доступов есть кому поддерживать.

Следующий шаг

Grok Bot за $300 и его открытый аналог OpenBot

Связанные материалы

OpenBot особенно полезен командам, которые хотят проверить собственный агентный контур и распределить задачи между ИИ-сотрудниками.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov