В Cloud Dev мелькнул опенсорсный «Grok Bot»: поручаете рабочие задачи, у агента свой браузер с теми учётками, файлами и инструментами, которые вы сами выдали, стыкуется с любым agent harness, заточен под компании, статус alpha, коротко «тестировать — Open Bot». Это зацепка, не текст ниже. Канон на 28 августа 2026 — репозиторий CopilotKit/openbot и его README. Лицензия MIT. Репозиторий создан 17 августа 2026. На 28 августа 2026 около 3,2 тысячи звёзд. Сайт: copilotkit.ai/openbot.
Это CopilotKit OpenBot, не бот xAI и не обёртка над чужими CLI. Разбор только по README: без выдуманных SLA.
Что это и чем не является
Формулировка репозитория: open-source AI coworkers, у каждого свой компьютер — браузер, файлы и инструменты, каждое действие решается до факта и пишется в журнал после. Любой агент, который говорит на AG-UI. Коротко: вы поднимаете платформу коллег-агентов у себя, а не в чужом облаке с чужими логинами.
Форма похожа на xAI Grok Bot: постоянный компьютер, настоящие сессии в браузере, человек может вмешаться. OpenBot этим не является. Grok Bot xAI вы не хостите. CopilotKit OpenBot крутится на вашей машине, данные в вашем PostgreSQL, ключ модели задаёте вы. Не пишите в бриф «поставили Grok от xAI» — поисковик смешает продукты, а команда получит не тот контур.
Отдельно, одной фразой, чтобы не путать выдачу: OpenMausBot (OpenMausbot.com) — другой проект, Apache 2.0, обёртка над CLI Claude / Codex / Grok. К CopilotKit OpenBot он не относится. Дальше в статье только OpenBot от CopilotKit.
В примере поставки три коллеги. Это конфиг, не код: General Assistant на повседневную работу, Knowledge на вопросы по документам компании, Risk Analyst на риск и комплаенс. Своих добавляете в agents.yaml или в UI на /agents. Бот получает только то, что вы выдали: профиль браузера, том файлов, MCP, skills. Не выданный коннектор он не «нагуглит на сайте вендора» — README прямо говорит, что бот должен сказать «мне это не выдали».
Для вайб-кодера смысл узкий. Не ещё один чат в IDE. Это слой, где агент ходит в настоящий браузер под вашими учётками, а вы смотрите экран и журнал. Рядом по теме «агент на своей машине», но другой продукт: подписки cloud agents в Cursor — облачный агент на событии PR и Slack. OpenBot — self-host коллега с компьютером внутри вашей инфраструктуры.
Alpha и self-host: MIT не равен «бесплатный прод»
Статус в бейдже и README один: alpha, under active development. Ждите баги, ломаные края, сдвиги API. Issues и PR принимают. Это не GA и не обещание аптайма.
Запуск описан под ваш ноутбук. Docker Compose поднимает части. Данные живут в вашем PostgreSQL. Модель в коробке не лежит: пока администратор не прописал провайдера, встроенный агент недоступен. Учётные данные модели администратор кладёт сам, они шифруются at rest и не пишутся в логи.
MIT на код — не «можно катить в прод без лицензии CopilotKit». README требует проект CopilotKit Intelligence и лицензию. Бесплатный план есть. Intelligence можно поднять у себя. Сервер не стартует без INTELLIGENCE_API_URL, INTELLIGENCE_GATEWAY_WS_URL, INTELLIGENCE_API_KEY и COPILOTKIT_LICENSE_TOKEN. Durable threads и память идут через Intelligence. Не обещайте команде «клонировали MIT и забыли про вендора» — это неправда по README.
Режим ноутбука: в .env.example стоит OPENBOT_SINGLE_USER=true. Тогда каждый запрос принимается как один администратор, свежий клон доходит до продукта без OAuth-клиента. Sign-in обязателен, прежде чем кто-то ещё дотянется до деплоя. Выключаете single-user, включаете вход. Провайдеры из README: Google, Microsoft, Okta либо свой SAML / OIDC. Перед любым деплоем не на localhost — TLS спереди. Иначе cookies входа хотят Secure, а страница по голому HTTP вне localhost не является secure context.
Кому это вообще про продукты, не про чат: сбор аудитории в Telegram — другая задача, её закрывает TG Lead Finder. OpenBot про коллег-агентов внутри контура, не про парсер и не про рассылку.
AG-UI: бот — это endpoint, не фреймворк
Бот в OpenBot — любой endpoint, который говорит на AG-UI (Agent–User Interaction Protocol). Платформа не прибита к одному харнессу, и вы тоже. В README названы LangGraph, Mastra, CrewAI, Pydantic AI, Google ADK или сервер, написанный руками. Все приезжают одинаково. Governance едет на протоколе, не на фреймворке. Политика, аудит и компьютер не переписываются под каждый SDK.
С /agents коллеге задаёте имя, title, описание роли, видимость private/public, опциональный AG-UI endpoint и write-only заголовок авторизации. Endpoint проверяется теми же target checks, что и навигация браузера — при регистрации и на каждом редиректе. Если своего endpoint нет, продукт-коллеги берут MANAGED_AGENT_AG_UI_URL, а без неё — отказ. Приватный адрес не примут, пока он не в AGENT_ENDPOINT_ALLOWED_HOSTS. Список только про регистрацию агента, не про «этому боту можно в вашу сеть».
Уже собранный LangGraph или ручной AG-UI сервер вешается как коллега с каналом, экраном и шлюзом. Переписывать агента «на CopilotKit» не нужно: нужен AG-UI. Нет протокола — это другой продукт, не «почти подойдёт».
Слой рядом по «смотреть работу и перехватить», но снова другой стек: Claude Code Remote Control со смартфона держит сессию Claude Code с телефона. OpenBot держит экран бота в /channel/:id и отдаёт руль человеку на логине и 2FA.
Шлюз fail-closed: сначала решение и аудит, потом действие
Разница между «агент умеет ваши тулы» и «агента можно к ним подпустить» в README названа прямо. Всё, что бот делает с компьютером, файлом, MCP или компонентом, идёт через один gateway. Пути в обход нет.
Цепочка жёсткая:
- Резолв цели из server-held snapshot.
- Оценка CEL-политики.
- Запись строки аудита.
- Только потом вызов компьютера.
Нет действия без уже существующей записи. Fail-closed: deny раньше allow, отсутствующая политика не разрешает ничего, сломанное правило отказывает, а не открывает. Правила смотрят tool.name, intent, bot.id, actor.id, page.url, page.host, element., key, file., mcp.*. Политику крутите на /admin/boundaries. Журнал — /admin/audit: что пустили, что отказали, что упало; у отказа — правило, которое сработало.
Секреты не попадают в транскрипт. Трейл пишет, что секрет запросили и какой он длины, не значение. Учётки кладёте в /admin/credentials: write-only, из API не возвращаются, из событий аудита вымарываются.
Экран рядом с чатом: что бот сейчас видит. Вкладка Activity — что запустил, прочитал, сохранил, с выводом. Команда в транскрипте открывается в то же место. Сохранённый файл показывает путь и размер, не содержимое.
Take the wheel. Упёрся в логин или 2FA — просит человека. Перехват в той же панели, в аудите: computer.help_requested, computer.control_taken, computer.control_released. Пока человек за рулём, действия бота отказывают, а не копятся в очереди. Это не «бот параллельно тыкает, пока вы вводите пароль».
Компоненты вместо одной прозы: ответы могут быть UI, не только текстом. Вызовы проверяются: компонент существует, опубликован и этому боту не запрещён. Governed MCP: в каталоге Google Drive и Notion, доступ «как у человека, который спросил». Чужой MCP — отдельный разбор вендора, URL-проверки, неизвестные тулы считаются записью. Skills — инструкции, не capabilities. Личные skills только к ботам автора, deployment skills — админские, вызов через / в композере. Не путайте skill с правом на браузер или MCP: право даёт политика и гранты, skill говорит, как работать.
Компьютер на каждого бота
Супервизор выдаёт боту свой контейнер, свой том /workspace и свой профиль браузера. Это не общая вкладка Chrome на хосте. Опционально COMPUTER_RUNTIME=runsc — gVisor, если хост это умеет.
Shell — не «ещё один SSH мимо политики». Команда в workspace, установка того, что нужно, обработка скачанного файла — через тот же шлюз. Правило может запретить shell целиком или конкретные команды; команда всё равно в журнале. В окружение команды попадают PATH, locale, terminal и proxy, не весь env деплоя.
Маршруты, которые стоит знать, не листая весь README:
- /bot — прямой чат с ботом, ?agent= выбирает кого.
- /agents — создать, править, дублировать, спрятать, удалить, запустить коллегу.
- /channel/:id — разговор с одним коллегой, экран, что он запускал.
- /admin/audit — аудит действий.
- /admin/boundaries — политика браузера, файлов, MCP.
- /admin/credentials — зашифрованные учётки.
- /admin/computers — посмотреть, остановить, сбросить компьютеры ботов.
Проверка из README: откройте /bot и скажите Open news.ycombinator.com and tell me the top story. Потом смотрите /admin/audit. На /admin/boundaries добавьте deny или пресет и повторите то же действие в браузере — отказ должен быть в журнале, не «тихо не получилось».
Компьютеры по умолчанию на loopback, нужен per-container token. Не торчите agent-computer в интернет: там живой браузер с настоящими логинами.
Быстрый старт с ноутбука
Нужно по README:
- Docker — PostgreSQL и поставляемые боты.
- Bun 1.3+ — приложение и API.
- Проект CopilotKit Intelligence и лицензия — бесплатный план есть, Intelligence можно self-host.
- Ключ модели. Proof-of-concept бот — OpenAI. LangGraph-бот — OpenAI, Anthropic или Google.
Шаги, как в README, без украшений:
- cp .env.example .env
- npx --yes copilotkit@latest login, затем project select, затем license --write. Runtime-ключ cpk-... из project select — в .env как INTELLIGENCE_API_KEY. license --write пишет COPILOTKIT_LICENSE_TOKEN.
- OPENAI_API_KEY. Managed URL Intelligence из примера не трогайте, если не поднимаете Intelligence сами. Пример KEY_ENCRYPTION_KEY годится локально; свой: openssl rand -base64 32.
- bun install и bash scripts/start.sh.
Скрипт поднимает Docker-сервисы, миграции, API на 3001, приложение на 3010, проверяет health и печатает, что дальше. Это laptop-контур, не «кластер на троих».
Деплой одним образом, без Kubernetes, из README:
``sh docker build -t openbot . docker run -p 3001:3001 --env-file .env \ -e EMBEDDED_POSTGRES=on -v openbot-data:/var/lib/postgresql/data openbot ``
EMBEDDED_POSTGRES можно не включать и указать свой DATABASE_URL. Своего коллегу — /agents или agents.yaml. Политику на /admin/boundaries задайте до живых учёток почты и админки.
Когда ещё рано
Alpha. Баги ожидаемы. Не ставьте это как единственный контур прод-доступа к бухгалтерии «потому что MIT».
Не путайте лицензию кода и лицензию Intelligence. Без проекта и токена сервер не поднимется. Бесплатный план есть — это не «можно вырезать Intelligence и оставить только MIT-дерево».
OPENBOT_SINGLE_USER=true — режим одного администратора на ноутбуке. Для команды это дыра, не фича. Сначала вход (Google / Microsoft / Okta / SAML / OIDC), потом люди. Без провайдера и без single-user процесс откажется стартовать, а не пустит всех админами.
Не кладите секреты в tenant YAML и в git. Только /admin/credentials. Не открывайте компьютер бота наружу. TLS обязателен вне localhost.
Не ждите от README «заменит отдел», «сам пройдёт любой 2FA», «MCP на весь каталог SaaS». В каталоге на дату статьи — Google Drive и Notion. Остальное неизвестно — не пишем. Агент по событию PR — Cursor cloud agents. Пульт Claude Code с телефона — Remote Control. OpenBot проверяйте как self-host коллегу с компьютером и шлюзом, не как ответ на все агентные запросы августа 2026.
Коротко
CopilotKit OpenBot на 28 августа 2026 — MIT-репозиторий с ~3,2 тысячи звёзд, alpha, свой компьютер у каждого бота, любой AG-UI endpoint, единственный путь через шлюз: резолв → CEL → аудит → действие, fail-closed. Данные у вас, модель ваша, Intelligence с лицензией обязателен (бесплатный план есть). Форма похожа на Grok Bot xAI, но хостите вы.
Канон: github.com/CopilotKit/openbot и copilotkit.ai/openbot. Первый ход из README: /bot, промпт про Hacker News, затем /admin/audit. Если отказа нет в журнале — вы смотрите не ту систему или обошли шлюз, чего README делать не велит.
