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