Содержание
Коротко
На Habr автор экосистемы «ИИ для 1С» рассказывает, как строил qa-mcp — MCP-сервер для UI-тестирования 1С:Предприятие без Vanessa Automation в цепочке. Реверс протокола TestClient неделями шёл по кругу с Codex; модель Fable 5 от Anthropic за ~день дала 70–80% исследовательского прорыва.
Что произошло
Продукт «ИИ для 1С» собирает набор MCP-коннекторов: метаданные конфигурации, справка, данные в базе, правка BSL/XML, админ-команды. Для UI-тестов сначала обернули Vanessa Automation — зрелый BDD-слой с русскими Gherkin-шагами и .feature-файлами.
На Linux в headless с Xvfb это терпимо: тесты бегут фоном. На рабочем Windows-ноутбуке картина другая — агент поднимает полноценный сеанс 1С с окнами плюс менеджер тестирования; формы мелькают перед глазами, сценарий сбивается случайным кликом, память тает. Идея: сохранить Gherkin, но управлять TestClient напрямую из Python, минуя лишнюю среду выполнения.
Штатное тестирование 1С — пара «менеджер тестирования» (/TESTMANAGER) и «клиент тестирования» (/TESTCLIENT), обмен бинарными кадрами. Vanessa переводит человекочитаемые сценарии в этот механизм. Задача автора — .feature → transpiler → нативный протокол → форма 1С.
Неделю с Codex в режиме глубокого рассуждения: pcap, гипотезы о длинах полей, replay кадров — «что-то получалось», но общей карты не было. Темп указывал на год работы ради замены слоя, который уже работает.
Появилась Fable 5 («урезанный Mythos»). За pro-подписку (~$20) автор скормил модели сырые дампы, провалившиеся гипотезы и куски Python. Меньше чем за сутки — понимание handshake, переиспользуемых кадров, динамических полей и границ, где нельзя «додумывать», а нужен захват трафика. Дальше Codex и Claude Code Opus 4.8 ещё ~две недели довели до продукта.
Итог qa-mcp (состояние на 23.06.2026): ~60 MCP-инструментов, 475 offline-тестов, transpile корпуса Vanessa с 12% до 100% на их сценариях, Gherkin/BDD, отчёты JUnit/Allure, проверки UI → база через OData, генерация smoke-тестов из метаданных, замеры покрытия через debug protocol, детектор дрейфа протокола при смене версии платформы.
Почему это важно
Это редкий публичный кейс, где ИИ не «написал CRUD», а разобрал закрытый бинарный протокол ERP-платформы — задачу, которую команды обычно откладывают. Для разработчиков 1С и авторов агентных контуров важен вывод: верхний слой (Gherkin, привычные шаги) можно сохранить, а середину — заменить на прямой TestClient, если нужен QA, ориентированный на агентов, без второго полноэкранного 1С на ноутбуке.
qa-mcp добавляет то, чего не хватало в Vanessa-MCP: assert_data по OData (кнопка нажалась ≠ документ провёлся), матрица прав по ролям, дымовые тесты из метаданных, CI-контроль по времени шага и построчному покрытию через /e1crdbg/. Оговорка честная: протокол не публичный API 1С — шаблоны привязаны к версии платформы (lab: 8.3.27.2130); protocol drift detector предупреждает о сдвиге.
На практике
- Не спешите выбрасывать Vanessa — если BDD-корпус и headless-стенд устраивают, qa-mcp — альтернатива для рабочего процесса с агентом, а не «Vanessa плохая».
- Разделите исследование и код — тяжёлый реверс протокола автор отдал модели с большим контекстом (Fable 5); прикладной код и интеграции — Codex/Claude по спецификациям.
- Transpile с unmapped — не распознанный шаг попадает в отчёт, а не проглатывается молча.
- UI + данные — после записи формы проверяйте OData, не только закрытие окна.
- Версия платформы — зафиксируйте манифест шаблонов; при обновлении 1С гоняйте live-regression и
python -m qa_mcp.regression.versioning. - Smoke из meta-mcp —
generate_smoke_suiteоткрывает основные формы справочников/документов по карте метаданных.
| Слой | Роль |
|---|---|
.feature / Gherkin |
Авторский язык сценариев |
| qa-mcp / FastMCP | Transpile, run, assert, отчёты |
| TestClient протокол | Нативное управление UI 1С |
| OData / debug protocol | Проверка данных и покрытия кода |
Итог
Статья — про компромисс между зрелым BDD-инструментом и QA, заточенным под агентов: Fable 5 сняла блокер на «последней миле» протокола, qa-mcp сохранил Gherkin и добавил проверки данных и производительности. Если вы строите ИИ-разработку в 1С, имеет смысл следить за проектом — и закладывать детектор дрейфа протокола, а не надеяться на вечную совместимость байтовых шаблонов.