loukan42/chaosfolk

loukan42

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

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

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

  • 16 профилей поведения симулированных пользователей: спешащий, только клавиатура, мобильный, рассеянный и другие
  • Инъекция реальных условий: офлайн, медленные и падающие запросы, потерянные ответы, переполненное хранилище, скачки часов
  • Каталог из 69 проверок с тестовыми значениями и ожидаемым поведением, включая имена на разных алфавитах и телефоны из 15 стран
  • Повтор без модели: находка считается воспроизведённой, если падает три раза с инъекцией и проходит три контрольных прогона
  • Команды fields и vary проверяют поля и формы без модели и попадают в тот же отчёт
  • Отчёт содержит баги, доказательства и промпт для кодинг-агента

Для каких задач подходит

  • Поиск багов в формах: двойная отправка, прерванные формы, потеря лидирующих нулей в почтовых индексах
  • Проверка устойчивости приложения к офлайну, медленной сети и потере ответов сервера
  • Тестирование доступности с клавиатуры и на мобильных вьюпортах
  • Обнаружение перечисления аккаунтов и других проблем безопасности ввода
  • Получение воспроизводимых доказательств бага для передачи в кодинг-агент

Подробнее

Chaosfolk — это движок, который запускает несколько симулированных пользователей одновременно. Каждый агент получает цель и один из 16 профилей поведения, работает в собственном контексте Chromium и может проходить несколько целей. Пока агенты взаимодействуют с приложением, движок подмешивает условия, с которыми сталкиваются реальные люди: отключение сети, медленные или падающие запросы, потерянные ответы, переполненное или повреждённое хранилище, сброс куки, скачки часов и смену вьюпорта. Перед проверкой движок читает поля страницы, поэтому тестировщик получает только применимые проверки из каталога на 69 пунктов.

Ключевое отличие от агентов, которые просто сообщают «выглядит сломанным», — требование воспроизводимости. Агент превращает наблюдение в сценарий с явным утверждением, после чего движок проигрывает его без участия модели. Находка считается багом, только если сценарий падает три раза с инъекцией и проходит три контрольных прогона без неё. Сообщение «сохранено» не принимается: перед проверкой сценарий перезагружает страницу, открывает заново, очищает локальное хранилище или отправляет форму ещё раз. Всё, что не прошло эту процедуру, остаётся помеченным как наблюдение.

Помимо исследования с моделью, доступны команды fields и vary, которые работают без модели и попадают в тот же отчёт. Стоит учитывать, что инструмент требует Python 3.12+ и Chromium, а для режима с агентами нужен кодинг-агент. Лицензия MIT позволяет использовать Chaosfolk в коммерческих проектах.

Частые вопросы

Как установить chaosfolk?

Отдельной команды установки в README нет — склонируйте репозиторий и следуйте инструкции из README:

git clone https://github.com/loukan42/chaosfolk.git

Какие задачи решает chaosfolk?

Chaosfolk ищет баги в веб-приложениях, которые не покрыты обычными тестами: проблемы с формами, сетью, хранилищем и доступностью. Он воспроизводит каждую находку в браузере и отдаёт доказательства вместе с промптом для исправления кодинг-агентом.

Какие требования для запуска Chaosfolk?

Нужен Python 3.12+ и Chromium. Для режима с симулированными пользователями также требуется кодинг-агент, который будет управлять тестировщиками.

Можно ли использовать Chaosfolk в коммерческих проектах?

Да, проект распространяется под лицензией MIT, которая разрешает коммерческое использование.

Чем Chaosfolk отличается от обычного агента, который исследует приложение?

Chaosfolk сообщает о баге только после воспроизведения: сценарий должен упасть три раза с инъекцией и пройти три контрольных прогона без неё. Остальные наблюдения помечаются отдельно и не выдаются за баги.

О репозитории

Язык

Лицензия

Звёзды

16

Форки

1

Открытые issues

0

Контрибьюторы

0

Создан

27.10.2026

Обновлён

27.10.2026

Теги