AIKraft Agents

LvcidPsyche/auto-browser

Дайте вашему AI-агенту настоящий браузер с участием человека. Открытый MCP-нативный браузерный агент.

Агенты⭐ 922Pythonпоследний релиз: v1.15.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Auto Browser — это open-source MCP-сервер, предоставляющий AI-агентам доступ к реальному браузеру через Playwright с возможностью вмешательства человека (human-in-the-loop).

Зачем нужен

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

Что можно реализовать

  • Автоматизация задач на сайтах, требующих входа в аккаунт (login-once, reuse-later), с сохранением профилей авторизации.
  • QA-тестирование и отладка браузерных интерфейсов с возможностью оператора вмешаться в процесс через noVNC.
  • Выполнение сложных сценариев в MCP-клиентах (например, Claude Desktop, Cursor), где агентам нужен реальный браузер, а не просто парсинг HTML.
  • Аудит действий AI-агентов с помощью хешированных цепочек свидетельств (Witness receipts) и скраббинга PII-данных.

Ключевые возможности

  • MCP-native архитектура: нативная поддержка протокола Model Context Protocol для интеграции с LLM-агентами.
  • Human-in-the-loop: возможность перехвата управления через noVNC, когда веб-страницы ведут себя непредсказуемо.
  • Безопасность и аудит: встроенные механизмы одобрения действий (approvals), скраббинга персональных данных и верификации цепочки действий.
  • Local-first деплой: запуск через Docker Compose или GitHub Codespaces с изоляцией сессий и ограничением ресурсов.
  • Сохранение сессий: возможность один раз войти в систему и использовать сохраненные профили авторизации для новых сессий.

👤 Кому подойдёт: разработчики, создающие AI-агентов, DevOps-инженеры, QA-специалисты, работающие с браузерной автоматизацией и MCP-интеграциями

Релизы

v1.15.0majorbreaking
🕐 21 ч назад · релиз на GitHub ↗

Релиз v1.15.0: усиление безопасности, строгая валидация конфигурации и исправление логики статусов задач.

  • Breaking: Опечатка в SESSION_ISOLATION_MODE теперь блокирует запуск; поддерживаются только shared_browser_node и docker_ephemeral.
  • Breaking: CLI-провайдеры запускаются в изолированной среде: требуется явно задать CLI_HOME и прописать нужные переменные через CLI_PROVIDER_ENV_PASSTHROUGH.
  • Fixed: Улучшена проверка Witness-бандлов: теперь верификатор выводит причину отказа при ошибках якоря или хеширования.
  • Fixed: Исправлена утечка токенов URL в файлах Harness: добавлена автоматическая очистка (scrub) при чтении и запись флага scrubbed.
  • Fixed: Задачи агентов со статусом error теперь корректно завершаются как failed, а не completed, для правильной обработки клиентами.
v1.14.1patchbreaking
🕐 вчера · релиз на GitHub ↗

Исправлена ошибка 500 при сбое загрузки стартовой страницы (теперь 400), устранён ложный warning при закрытии shadow browse, исправлен порядок файлов docker-compose для изолированных сессий.

  • Fixed: Сессия с неуспешной загрузкой start_url теперь возвращает 400 browser_action_failed вместо 500, что позволяет клиенту корректно обработать ошибку.
  • Breaking: Для изолированных сессий необходимо проверить порядок подключения файлов docker-compose: images должен идти после isolation, иначе используется устаревший локальный образ.
  • Fixed: Устранено ложное предупреждение (WARNING) при закрытии shadow browse, когда цель уже закрыта.
  • Added: В документации уточнено поведение флага PII_SCRUB_SCREENSHOT_STRICT: при недоступности OCR действия, требующие скриншота, будут отклоняться с ошибкой 503.
v1.14.0majorbreaking
🕐 вчера · релиз на GitHub ↗

Релиз v1.14.0: усиление безопасности за счёт запуска Chromium в песочнице и отказа от прав root для контроллера.

  • Breaking: Контроллер больше не запускается от root, а использует uid владельца данных (по умолчанию 10002).
  • Added: Chromium теперь работает в собственной песочнице, что изолирует рендер от системных вызовов контейнера.
  • Added: Введён параметр BROWSER_SANDBOX=on, блокирующий сессии с непроверенной или отсутствующей песочницей.
  • Added: browser-node запускается с кастомным профилем seccomp, разрешающим создание пользовательских пространств имён.
  • Fixed: Исправлено удаление профилей и загрузок в изолированных сессиях, которое ранее игнорировалось из-за прав.
v1.13.1majorbreaking
🕐 2 дн назад · релиз на GitHub ↗

Критический релиз безопасности: исправлена уязвимость обхода ALLOWED_HOSTS через popups, добавлена изоляция Docker-сетей и включён sandbox в Shadow browsing.

  • Fixed: Исправлена уязвимость, позволявшая popups от запрещённых страниц достигать агента; теперь каждое окно проверяется при создании через CDP.
  • Fixed: Добавлена блокировка запросов из сетей сессий `docker_ephemeral` (ответ 403), предотвращающая доступ к API из контейнеров браузера.
  • Fixed: Shadow browsing теперь запускает Chromium с включённым sandbox; запуск от root или без привилегированных user namespaces теперь невозможен.
  • Breaking: Изменена логика работы с popups: они становятся доступными через один CDP-раунд, а открытие в течение 2 секунд после закрытия запрещённой вкладки блокируется.
  • Added: Документация `/docs` и `/redoc` загружается с фиксированными версиями UI и строгими заголовками CSP, блокирующими сторонние ресурсы.
v1.13.0majorbreaking
🕐 3 дн назад · релиз на GitHub ↗

Критический релиз безопасности: добавлена обязательная авторизация по токенам и изоляция сессий браузера в отдельных сетях Docker.

  • Breaking: Введена обязательная авторизация: локальный контроллер теперь автоматически генерирует токен, который требуют все API и MCP-клиенты.
  • Breaking: Каждая сессия docker_ephemeral изолируется в отдельной сети Docker, что блокирует прямой доступ к сервисам compose-сети по имени.
  • Added: Удалены лишние Linux-права у контейнеров браузера для повышения безопасности.
  • Added: Обновлены клиенты и пакеты: добавлена поддержка передачи токена через файлы или заголовки для MCP, Python SDK и LangChain.
  • Fixed: Исправлена уязвимость GHSA-4c52-f6vr-xrrf, позволявшая скомпрометированной странице захватывать другие сессии и десктоп.
v1.12.4majorbreaking
🕐 3 дн назад · релиз на GitHub ↗

Обновление Chromium до 156 и Playwright до 1.64.1 для устранения критических уязвимостей V8; требуется одновременное обновление компонентов.

  • Fixed: Chromium обновлён до версии 156.0.8078.4, исправлены уязвимости CVE-2026-85046 и CVE-2026-87491, эксплуатируемые в дикой природе.
  • Breaking: Обязательное одновременное обновление образов controller и browser-node из-за требования совпадения версий Playwright (1.64.1).
  • Added: Playwright обновлён до версии 1.64.1, изменён список отключаемых функций по умолчанию.
  • Fixed: Навигация с кодом ответа 204 больше не считается ошибкой запроса, а помечается как завершённая.
  • Added: Добавлена поддержка запуска контроллера из исходного кода с ручной установкой Chromium через Playwright.
v1.12.3patchbreaking
🕐 3 дн назад · релиз на GitHub ↗

Исправлена уязвимость с токеном из пробелов, улучшена обработка whitespace в токенах и ключах API.

  • Breaking: Токен, состоящий только из пробелов, больше не считается валидным; если он проходил проверку только из-за пробелов, его нужно заменить.
  • Fixed: Устранена уязвимость: пустой токен из пробелов больше не использовался для аутентификации.
  • Fixed: Контроллер и клиенты теперь автоматически удаляют пробелы и табуляцию вокруг API_BEARER_TOKEN и ключей куратора навыков.
  • Fixed: Исправлена работа с ключами провайдеров (ANTHROPIC_API_KEY и др.) в Skills Curator, которые теперь корректно очищаются от лишних символов.
v1.12.2patch
🕐 3 дн назад · релиз на GitHub ↗

Исправлена ошибка 400 при отказе моделей от tool_choice и устранена проблема с пробелами в API-ключах провайдеров.

  • Fixed: Исправлена ошибка 400 на моделях, отказывающихся от именованного tool_choice (Claude Opus 5.5, Sonnet 5.5, Fable 5.1, DeepSeek с thinking): добавлена автоматическая повторная отправка запроса без tool
  • Fixed: Устранена проблема с API-ключами провайдеров: теперь автоматически удаляются пробелы и переводы строк по краям ключей, предотвращая ошибки 401.
  • Added: Обновлены зависимости контроллера: FastAPI до 0.162, starlette 1.10.0, pydantic-settings 2.16.1, idna 3.20; для сборки из исходников требуется setuptools 84.2.1+.
  • Added: Обновлены CI/CD-действия, включая pypa/gh-action-pypi-publish 1.14.3, который удалил из хранилища доверенных сертификатов отозванный корневой CA emSign.
v1.12.1patchbreaking
🕐 7 дн назад · релиз на GitHub ↗

Исправлены ошибки при работе с ошибками Chrome, устранен утечка DevTools и улучшена передача информации о заблокированных навигациях.

  • Breaking: Изменены коды ответов REST и MCP для сессий с ошибками Chrome и отказами в доступе (например, 403/500 заменены на 400 или фиксированные ошибки).
  • Fixed: Исправлена ошибка 500 при теневом просмотре с отказанных, data: или blob: страниц; теперь возвращается 403.
  • Fixed: Устранена утечка сессий DevTools, которые оставались подключенными после медленного поиска цели.
  • Fixed: В компактных наблюдениях встроенного агента теперь сохраняется поле blocked_navigation, чтобы модель видела причину остановки навигации.
  • Added: Появилось новое поле blocked_navigation в ответах observe, get_html и after-наблюдений, содержащее детали заблокированной навигации.
v1.12.0majorbreaking
🕐 7 дн назад · релиз на GitHub ↗

Введение блокировки запросов до отправки, новые коды ошибок и изменения в работе с хранилищем и предзагрузкой.

  • Added: Реализована блокировка навигации до отправки запроса Chromium, если URL попадает в запрет ALLOWED_HOSTS.
  • Breaking: Изменены коды ответов API: теперь используются browser_action_blocked, pre_request_gate_unavailable и session_closed вместо старых вариантов.
  • Added: Включена по умолчанию функция PRE_REQUEST_BLOCKING; для отката к поведению v1.11.2 требуется явное отключение.
  • Fixed: Возобновлено стороннее разделение хранилища: сохранённые профили аутентификации больше не содержат localStorage.
  • Added: Отключена предзагрузка speculation-rules и добавлена защита от сервис-воркеров для страниц, управляемых контроллером.
v1.11.2majorbreaking
🕐 8 дн назад · релиз на GitHub ↗

Критический релиз безопасности: устранены уязвимости VNC, обхода авторизации и изоляции сессий, изменено поведение одобрений.

  • Breaking: Порт VNC 5900 больше не публикуется; подключение к браузеру осуществляется только через noVNC на порту 6080.
  • Fixed: Исправлены уязвимости, позволявшие обходить проверки Origin, подделывать одобрения и получать доступ к данным вне ALLOWED_HOSTS.
  • Breaking: Изменена логика одобрений: старые токены недействительны, требуется повторное запрос и утверждение оператором.
  • Fixed: Улучшена проверка файлов при загрузке и изоляция сессий операторов в MCP-контекстах.
  • Fixed: Запрещено запрашивать одобрение для действий request_human_takeover или done.
v1.11.1majorbreaking
🕐 10 дн назад · релиз на GitHub ↗

Критическое обновление безопасности: исправлена уязвимость подмены элементов через element_id и улучшена стабильность действий.

  • Breaking: Идентификаторы элементов из версий до 1.11.1 больше не работают; требуется повторное наблюдение (observe) для получения новых id.
  • Fixed: Устранена уязвимость, позволявшая странице подменять элемент, на который действует element_id, через атрибуты или скрытые фреймы.
  • Breaking: browser.find_elements и browser.wait_for_selector теперь запрещают использование selector_hint в качестве селектора.
  • Added: Введен новый формат element_id (op- и 24 шестнадцатеричных знака), хранящийся в изолированной среде JS.
  • Fixed: Улучшена проверка стабильности и видимости элементов перед кликом, наведением и вводом текста.
v1.11.0minor
🕐 12 дн назад · релиз на GitHub ↗

Добавлен профиль lean и система пакетов инструментов MCP; улучшена обработка ошибок и предупреждений при конфигурации.

  • Added: Введен профиль lean, включающий только базовые инструменты браузера, и система пакетов для гибкой настройки.
  • Added: Инструменты теперь распределены по 21 пакету, что позволяет точно настраивать доступ через MCP_TOOL_PACKS.
  • Fixed: При опечатке в имени профиля теперь выводится предупреждение с подсказкой правильного варианта.
  • Fixed: Сообщения об ошибках вызова недоступных инструментов теперь указывают конкретный пакет, к которому они относятся.
v1.10.2majorbreaking
🕐 12 дн назад · релиз на GitHub ↗

Критический релиз безопасности: исправление утечек PII, изменение управления mesh и отключение трассировки по умолчанию.

  • Breaking: Удалены REST-эндпоинты для управления узлами mesh; теперь настройки хранятся только в файле.
  • Breaking: Трассировка Playwright отключена по умолчанию; старые файлы логов и артефакты требуют ручной очистки.
  • Breaking: Сетевые логи теперь хранятся в зашифрованном виде, а права доступа к файлам учетных данных строго ограничены.
  • Added: Добавлен строгий режим скриншотов: при невозможности очистки PII запрос возвращается с ошибкой 503.
  • Fixed: Исправлен MCP-мост, больше не рекламирующий неиспользуемый метод подписки на ресурсы.
v1.10.1patch
🕐 13 дн назад · релиз на GitHub ↗

Обновление зависимостей (Pillow 13.0.0) и усиление контроля за публикацией Docker-образов через CI.

  • Added: Обновлена зависимость Pillow до версии 13.0.0, образы GHCR пересобраны с новой версией.
  • Fixed: Публикация Docker-образов теперь требует успешного прохождения CI на коммите main, как и для релизов.
  • Теги edge и sha-<commit> продолжают публиковаться при каждом пуше в main без дополнительных проверок.
v1.10.0majorbreaking
🕐 17 дн назад · релиз на GitHub ↗

Критическое обновление безопасности: изоляция сессий, строгий ALLOWED_HOSTS и контроль доступа к CDP.

  • Breaking: Введена строгая проверка ALLOWED_HOSTS: переходы на запрещённые домены блокируются или перенаправляют на about:blank.
  • Breaking: Статус сессии valid теперь требует валидации подписей; старые сессии без ключа подписи помечаются как недействительные.
  • Breaking: browser.cdp_attach отклоняется при наличии нескольких учётных записей операторов для предотвращения перехвата браузера.
  • Fixed: Изолировано владение состоянием аутентификации: доступ к файлам сессии разрешён только оператору-владельцу.
  • Fixed: Экспорт профилей аутентификации теперь скрывает plaintext state.json при наличии зашифрованной версии.
  • Added: REST-ошибки возвращают корректные HTTP-статусы (404, 403, 400) вместо универсального 500.
v1.9.1minor
🕐 1 мес назад · релиз на GitHub ↗

Выпуск v1.9.1: добавлены готовые Docker-образы на GHCR с SBOM, обновлены зависимости FastAPI, ruff и cryptography.

  • Added: Добавлены готовые Docker-образы auto-browser-controller и auto-browser-browser-node на GHCR, поддерживающие SBOM и аттестацию сборки.
  • Added: Пользователи могут запускать auto-browser без сборки проекта, используя готовые образы через docker compose.
  • Fixed: Обновлены зависимости контроллера: FastAPI до версии >=0.142.2, ruff до 0.16.10 и cryptography до 50.0.2.
v1.9.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Исправлены критические уязвимости безопасности, изолированы сессии операторов и обновлены провайдеры OpenAI и Claude.

  • Breaking: Сессии больше не разделяются между операторами при использовании именованных учетных данных (API_BEARER_TOKENS).
  • Breaking: Все переменные из .env теперь передаются в контроллер; требуется Docker Compose 2.24+.
  • Added: Модель OpenAI по умолчанию изменена на gpt-6.1-sol, теперь используется Responses API.
  • Fixed: Исправлена работа провайдера Claude для моделей Opus 5.5, Sonnet 5.5 и Fable 5.1.
  • Fixed: Улучшено маскирование PII: теперь скрываются номера карт в группах и токены провайдеров.
v1.8.1minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Релиз v1.8.1: усиление безопасности, исправление критических ошибок сессий и действий, оптимизация скорости работы.

  • Breaking: В browser.create_session параметр totp_secret теперь требует указания totp_hosts, если не задан start_url.
  • Added: noVNC takeover принимает только собственные страницы на loopback; для других хостов требуется настройка NOVNC_ALLOWED_HOSTS.
  • Fixed: Исправлена ошибка, из-за которой успешные действия с последующей навигацией ошибочно помечались как неудачные.
  • Fixed: Устранена потеря данных при параллельных записях в JSON-хранилища и исправлено поведение сессий при разрыве.
  • Added: MCP-мост теперь корректно обрабатывает ошибки аутентификации и лимитов, а также поддерживает ID оператора.
v1.8.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Критические исправления безопасности (DNS-rebinding, обход allowlist), изменение поведения MCP и CLI по умолчанию.

  • Breaking: Требует настройки CONTROLLER_ALLOWED_HOSTS для не-loopback запросов без токена, иначе возвращается 400.
  • Fixed: Устранена уязвимость DNS-rebinding и обхода allowlist через несовпадение парсинга URL в Python и Chromium.
  • Fixed: Исправлено выполнение скриптов при загрузке файлов через /artifacts благодаря добавлению CSP и заголовков безопасности.
  • Breaking: MCP-результаты теперь компактные, профиль инструментов ограничен 20 позициями, а HTML возвращается с ограничением в 20 000 символов.
  • Fixed: Закрыта возможность чтения файлов вне хранилища через аргументы MCP с путями типа ../.
v1.7.0majorbreaking
🕐 2 мес назад · релиз на GitHub ↗

Критическое исправление безопасности: API больше не доступен без токена при публичном доступе, устранены уязвимости аутентификации и целостности данных.

  • Breaking: API по умолчанию требует токен доступа при публичном доступе; без него запуск прерывается, что предотвращает несанкционированный контроль.
  • Fixed: Исправлены уязвимости аутентификации: устранено самоотключение при отсутствии токена и возможность подмены идентичности оператора.
  • Fixed: Устранена возможность развилки цепи (chain forking) при параллельной записи и добавлена проверка целостности через якорный файл.
  • Fixed: Внедрена верификация подписи для кандидатов навыков при чтении, а не только при записи, что исключает подмену staged-артефактов.
v1.6.1majorbreaking
🕐 3 мес назад · релиз на GitHub ↗

Критические исправления безопасности: устранена возможность кражи куки и SSRF через CDP, добавлена обязательная авторизация в Codespaces.

  • Fixed: Удалены из белого списка CDP-команды Runtime.evaluate и Network.getCookies, предотвращающие выполнение произвольного JS и кражу учётных данных.
  • Breaking: В overlay для Codespaces теперь обязательно требуется установка переменной API_BEARER_TOKEN, иначе сервис не запустится.
  • Fixed: Порт VNC (5900) больше не публикуется на всех интерфейсах, что исключает несанкционированный доступ к экрану.
  • Обнаружены проблемы с авторизацией API по умолчанию и привязкой профилей, которые будут исправлены в следующих версиях.
v1.5.1majorbreaking
🕐 3 мес назад · релиз на GitHub ↗

Критическое обновление безопасности: исправлены уязвимости PII-редактирования, обновлены зависимости и Playwright.

  • Breaking: Исправлены критические уязвимости PII-редактирования: теперь корректно скрываются данные на скриншотах, в тексте и ключах AWS, а также обрабатываются все режимы захвата.
  • Fixed: Обновлен Playwright до версии 1.62.0 на обеих сторонах (pip и npm) для устранения сбоев readiness и соответствия требованиям Node ≥ 20.
  • Fixed: Исправлена ошибка импорта модуля в browser.export_script, из-за которой вызовы через MCP завершались ошибкой ModuleNotFoundError.
  • Added: Обновлен пакет cryptography до версии 50.0.0 для устранения CVE-2026-69247, хотя данная уязвимость не затрагивает используемые в проекте алгоритмы шифрования.
v1.5.0minor
🕐 3 мес назад · релиз на GitHub ↗

Auto Browser v1.5.0: добавлен текстовый пресет для экономии токенов, улучшен поиск элементов и исправлены ошибки MCP-моста.

  • Added: Добавлен пресет text для observe: чтение страницы без скриншотов и OCR для снижения стоимости.
  • Added: Реализован режим query в find_elements для поиска текста на странице по регулярному выражению.
  • Fixed: Исправлена работа переменной PERCEPTION_PRESET_DEFAULT, которая теперь корректно применяется по умолчанию.
  • Fixed: Улучшена обработка ошибок инструментов: теперь передаются детальные сообщения вместо общей фразы об ошибке.
  • Fixed: Исправлен холодный старт MCP-моста: теперь ошибка содержит понятное сообщение и инструкцию по исправлению.