Документация ИИ-функции

ИИ-функции

Mockarty интегрирует искусственный интеллект по всей платформе, чтобы помочь вам генерировать моки, писать тестовые скрипты, диагностировать ошибки, анализировать производительность и многое другое. Каждая ИИ-функция следует единому паттерну: кнопка действия, шестерёнка настроек для кастомизации и результаты, отображаемые в формате Markdown.

Чат агента — ответ
Чат агента — подтверждение действия

URL-адреса в примерах: Во всех примерах используется localhost:5770 как адрес Mockarty по умолчанию. Если ваш экземпляр работает на удалённом сервере, замените localhost:5770 на реальный адрес (например, https://mockarty.company.com или http://192.168.1.50:5770). Подробнее — в разделе Полезные функции и советы.


Что такое ИИ-агент? Зачем он нужен для тестирования?

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

В контексте тестирования и моков API, ИИ-агент может:

  • Генерировать моки по описанию – «Создай мок для GET /api/users, возвращающий 10 пользователей с реалистичными именами и email» превращается в полностью настроенный мок за секунды.
  • Диагностировать ошибки – вставьте ответ с ошибкой, и агент объяснит причину и предложит исправление.
  • Писать тестовые скрипты – агент анализирует ваш запрос/ответ и автоматически пишет ассерты.
  • Запускать сканирование безопасности – попросите агента профаззить эндпоинт, и он настроит и запустит тест безопасности.
  • Запрашивать базы данных, вызывать API, отправлять уведомления – агент имеет доступ к более чем 90 встроенным инструментам, позволяющим взаимодействовать с реальными системами от вашего имени.

Вам не нужны знания ИИ или машинного обучения. Если вы можете описать, что вам нужно, в сообщении чата, агент поможет.


Быстрый старт: ваш первый мок с помощью ИИ

Выполните эти шаги, чтобы создать первый мок с помощью ИИ. Общее время: менее 2 минут.

Предварительные требования: Администратор должен настроить хотя бы один LLM-профиль (см. Начало работы).

  1. Откройте конструктор моков – перейдите в раздел Mocks в боковом меню, затем нажмите Create Mock.
  2. Нажмите кнопку «Generate Mock» – она расположена в панели инструментов над редактором мока.
  3. Опишите, что вам нужно – например:

    Создай REST-мок для GET /api/products, возвращающий JSON-массив из 5 товаров. У каждого товара должны быть: id (число), name (реалистичное название товара), price (десятичное число от 10 до 500) и inStock (boolean).

  4. Проверьте сгенерированный мок – ИИ заполняет маршрут, HTTP-метод, тело ответа с Faker-функциями и код 200.
  5. Нажмите Save – ваш мок работает. Отправьте запрос на http://localhost:5770/stubs/sandbox/api/products, чтобы увидеть его в действии.

Вот и всё. Для доработки нажмите Improve Mock, чтобы добавить обработку ошибок, граничные случаи или дополнительные условия.


Содержание


Начало работы

Для работы ИИ-функций требуется хотя бы один включённый LLM-профиль. Перейдите в Admin → AI & LLM → LLM Profiles, чтобы создать его. Mockarty поддерживает следующих LLM-провайдеров:

Провайдер Описание API-ключ
OpenAI GPT-4o, GPT-4o-mini и другие модели OpenAI Да
Anthropic Claude Sonnet, Claude Haiku и другие модели Anthropic Да
Google Модели Gemini через Google AI Studio Да
OpenRouter Доступ к 200+ моделям через один API-ключ Да
Ollama Запуск моделей локально (Qwen, Llama, Mistral и др.) – данные не покидают вашу машину Нет
Mistral Модели Mistral AI Да
Groq Сверхбыстрый инференс для поддерживаемых моделей Да
Custom Любой OpenAI-совместимый эндпоинт (например, vLLM, LocalAI, LiteLLM) Зависит

После настройки профиля ИИ-кнопки появляются по всей платформе.

Панель администратора — Настройка AI и LLM

Агент-чат — Интерфейс AI ассистента


LLM-профили

Каждый профиль определяет:

  • Провайдер — какой LLM-сервис использовать
  • Модель — модель по умолчанию (например, gpt-4o, claude-sonnet-4-20250514, qwen3:8b)
  • API-ключ — учётные данные (не требуется для Ollama)
  • Базовый URL — переопределение для self-hosted или пользовательских эндпоинтов
  • Доступные модели — модели, которые пользователи могут выбирать в этом профиле
  • Включён — переключатель активности профиля

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

Выбор подходящего профиля:

  • Для быстрых операций (генерация скриптов, диагностика ошибок): используйте быструю модель, например gpt-4o-mini или claude-haiku
  • Для сложного анализа (анализ производительности, аудит безопасности, генерация отчётов): используйте мощную модель, например gpt-4o или claude-sonnet
  • Для экономии бюджета: используйте Ollama с локальной моделью
  • Для экспериментов: OpenRouter предоставляет доступ ко многим моделям через один API-ключ

Выбор модели

Вы можете выбрать LLM-модель на двух уровнях:

Для каждой ИИ-функции

Каждая ИИ-кнопка (Generate Mock, Diagnose Error и др.) имеет иконку шестерёнки, позволяющую выбрать:

  1. LLM-профиль — какого провайдера и какие учётные данные использовать
  2. Модель — конкретную модель внутри профиля

Разные функции могут использовать разные модели. Например, быструю модель для генерации скриптов и мощную модель для анализа безопасности.

В чате агента

Виджет чата агента имеет селектор модели в заголовке. Вы можете переключать модели посреди разговора — новая модель применяется к последующим сообщениям, при этом контекст беседы сохраняется.

Привязка модели к пользовательскому агенту

Администраторы могут привязать конкретный LLM-профиль и переопределение модели к пользовательскому агенту. Когда сообщение маршрутизируется к такому агенту, его привязанная модель используется автоматически, независимо от выбора пользователя. См. Привязка LLM-профиля.


Справочник ИИ-кнопок

Конструктор моков

Кнопка Что делает Когда использовать
Generate Mock Опишите, что вам нужно, на естественном языке → ИИ создаст полный мок с маршрутами, условиями, faker-полями Начало с нуля или быстрое прототипирование
Improve Mock Отправьте текущий мок в ИИ → получите предложения по обработке ошибок, граничным случаям, обогащению faker После создания базового мока, чтобы сделать его более реалистичным

API Tester

Кнопка Что делает Когда использовать
Generate Script ИИ пишет тестовый скрипт на основе вашего запроса/ответа. Поддерживает API скриптов mk.* и формат Visual Script Builder После выполнения запроса, чтобы добавить ассерты
Generate Perf Script ИИ пишет k6-совместимый нагрузочный тест с этапами VU, проверками, порогами Планирование нагрузочного теста для эндпоинта
Diagnose Error Отправьте неудачный запрос/ответ в ИИ → получите анализ причин и предложения по исправлению При получении неожиданных ошибок (4xx/5xx)
API Diff Вставьте две спецификации OpenAPI → ИИ определит критические, дополнительные изменения и устаревания Перед деплоем новой версии API
Log Analysis Отправьте логи запросов → ИИ обнаружит аномалии, паттерны, проблемы производительности Расследование периодических сбоев
Generate Collection Опишите ваш API → ИИ создаст тестовую коллекцию с множеством запросов Настройка комплексного тестирования API
Analyze Report ИИ анализирует результаты тестового прогона на готовность к релизу: оценка рисков, причины сбоев, рекомендации После завершения тестового прогона, перед принятием решения о релизе

Fuzzing

Кнопка Что делает Когда использовать
Analyze Finding ИИ анализирует отдельную находку безопасности: серьёзность, влияние, рекомендации по устранению Разбор конкретной аномалии
Batch Analyze Выберите несколько находок → ИИ анализирует все с кратким резюме Обзор нескольких находок одновременно
Batch Auto-Triage Выберите аномалии → ИИ классифицирует каждую как confirmed / false_positive / fixed / accepted Быстрая сортировка большого списка находок

Рекордер

Кнопка Что делает Когда использовать
Analyze Traffic ИИ анализирует записанный API-трафик на паттерны, цепочки, аномалии После записи сессии, чтобы понять поток трафика
Security Audit ИИ выполняет анализ безопасности записанного трафика Проверка записанного трафика на уязвимости
Find Scenarios ИИ определяет тестовые сценарии из записанных паттернов запросов Создание тест-кейсов из реального трафика

Производительность

Кнопка Что делает Когда использовать
Analyze Results ИИ анализирует метрики нагрузочного теста (задержка, частота ошибок, APDEX) с практическими рекомендациями После завершения нагрузочного теста

Настройки ИИ (кнопка-шестерёнка)

Каждая ИИ-кнопка имеет иконку шестерёнки, которая открывает панель настроек с тремя элементами управления:

Панель администратора — настройки AI и LLM

1. ИИ-профиль

Выберите, какой LLM-профиль использовать для конкретной операции. Разные профили могут иметь разные модели (быстрые vs. умные) или разные ценовые уровни.

Пример: Используйте быструю модель для генерации скриптов, но мощную модель для анализа безопасности.

2. Пользовательский промпт

Добавьте дополнительные инструкции для ИИ. Они добавляются к системному промпту и позволяют настроить поведение ИИ без изменения кода.

Практические примеры:

Случай использования Пользовательский промпт
Язык “Write the response in Russian” или “Respond in Japanese”
Область фокуса “Focus specifically on SQL injection vulnerabilities”
Формат “Output the result as a numbered list with severity ratings”
Доменный контекст “This is a healthcare API, pay attention to HIPAA compliance”
Проверка SLA “Compare against our SLA: p95 < 200ms, error rate < 0.1%”
Стиль “Use our company’s coding style: camelCase, JSDoc comments”
Уровень детализации “Give a brief summary, no more than 3 paragraphs”

Пользовательский промпт сохраняется для каждой функции — ваш промпт для “Generate Script” не повлияет на “Diagnose Error”.

3. MCP-инструменты

Если ваш администратор настроил инструменты MCP Marketplace, вы можете выбрать, какие внешние инструменты ИИ может использовать во время операции. Когда инструменты выбраны:

  1. Они отправляются в LLM вместе с вашим запросом
  2. LLM может вызывать инструменты во время генерации (например, запрос к реальному API, получение актуальных данных)
  3. Результаты инструментов передаются обратно в LLM для более точного ответа
  4. Финальный ответ включает данные в реальном времени из инструментов

Пример: У вас есть OpenAPI-инструмент, указывающий на staging-сервер. При генерации мока ИИ может вызвать реальный API, чтобы понять структуру ответа, а затем создать мок, точно повторяющий реальное поведение.

Каждая функция хранит свои выборы инструментов независимо — инструменты, включённые для “Generate Mock”, не влияют на “Diagnose Error”.


MCP Marketplace

Что такое MCP Marketplace?

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

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

Пример рабочего процесса:

  1. Администратор регистрирует OpenAPI-спецификацию вашего staging API в маркетплейсе
  2. Каждый эндпоинт в спецификации становится доступным инструментом (например, GET /api/users → инструмент getUsers)
  3. Когда вы просите ИИ «сгенерировать мок для API пользователей», он может вызвать реальный эндпоинт getUsers
  4. ИИ видит реальную структуру ответа, типы полей и реалистичные данные
  5. Он генерирует мок, точно отражающий ваш реальный API

Панель администратора — AI и LLM, MCP Marketplace

Типы источников

Маркетплейс поддерживает шесть типов интеграции, каждый из которых преобразует свой протокол в инструменты, доступные для вызова ИИ:

Тип источника Что подключает Как создаются инструменты Лучше всего для
MCP Server Сервер Model Context Protocol Сервер сам сообщает свои инструменты через JSON-RPC Специализированные серверы ИИ-инструментов (Playwright, доступ к файловой системе, инструменты базы данных)
OpenAPI REST API (Swagger/OpenAPI спецификация) Каждый эндпоинт автоматически становится инструментом Любой HTTP API с документацией
WSDL SOAP Web-сервис Каждая SOAP-операция становится инструментом Устаревшие корпоративные сервисы
gRPC gRPC-сервис Обнаруживает методы через серверную рефлексию; вызовы проксируются как реальные gRPC-запросы API микросервисов
A2A Agent Внешний ИИ-агент Возможности агента становятся инструментами Мультиагентные ИИ-потоки
RAG База знаний (RAGFlow, AnythingLLM, Dify, R2R) Адаптер автоматически обнаруживает инструменты поиска/списка Документация компании, спецификации API, стандарты кодирования. Подробное руководство см. в База знаний (RAG).

Как инструменты создаются из API

OpenAPI (REST API)

Когда вы регистрируете URL OpenAPI/Swagger-спецификации, Mockarty:

  1. Загружает и парсит спецификацию (JSON или YAML)
  2. Преобразует каждый эндпоинт в инструмент:
    • Имя инструмента = operation ID или метод + путь (например, getUserById)
    • Описание = summary эндпоинта из спецификации
    • Входные параметры = path-параметры, query-параметры, заголовки, тело запроса — всё с типами из спецификации
    • Тег = первый OpenAPI-тег (для группировки)
  3. Когда ИИ вызывает инструмент, Mockarty формирует реальный HTTP-запрос и выполняет его

Пример: Спецификация OpenAPI с GET /api/users/{id} становится инструментом getUserById с параметром id. ИИ вызывает его с {"id": "123"}, и Mockarty выполняет реальный HTTP-запрос, возвращая ответ ИИ.

WSDL (SOAP-сервисы)

Когда вы регистрируете URL WSDL, Mockarty:

  1. Парсит документ WSDL
  2. Извлекает все операции из типов портов
  3. Создаёт инструменты с префиксом soap_ (например, soap_GetCustomerInfo)
  4. Автоматически формирует SOAP XML-конверт при вызове инструмента ИИ

Это позволяет ИИ взаимодействовать с устаревшими SOAP-сервисами без знания XML или протокола SOAP — он просто передаёт JSON-параметры.

MCP-сервер

Серверы MCP (Model Context Protocol) — это специализированные провайдеры инструментов:

  1. Mockarty подключается к серверу через JSON-RPC
  2. Вызывает tools/list для обнаружения доступных инструментов
  3. Каждый инструмент имеет имя, описание и JSON Schema входных данных
  4. Вызовы инструментов проходят через tools/call по JSON-RPC

Stateful-сессии: MCP-серверы могут сохранять состояние между вызовами инструментов в рамках одного разговора. Например, MCP-сервер Playwright может открыть браузер в одном вызове и переходить по страницам в последующих — всё в рамках одной сессии чата.

A2A-агент

Интеграция Agent-to-Agent подключается к внешним ИИ-агентам:

  1. Mockarty загружает карточку агента из /.well-known/agent.json
  2. Навыки агента становятся доступными инструментами
  3. Вызовы инструментов проксируются к внешнему агенту

Пользовательские заголовки и переопределение учётных данных

Многие внешние API требуют аутентификации. Mockarty обрабатывает это на двух уровнях:

Аутентификация на уровне сервера (устанавливается администратором):

Тип аутентификации Что отправляется
None Без заголовков аутентификации
Bearer Authorization: Bearer {token}
API Key Пользовательский заголовок (например, X-API-Key: {key})
Basic Authorization: Basic base64(user:pass)
Custom Headers Любой набор заголовков (например, {"X-Tenant": "prod", "Authorization": "..."})

Переопределение заголовков на уровне пользователя:

Каждый пользователь может переопределить заголовки аутентификации сервера для каждой функции. Это полезно, когда:

  • Разным членам команды нужны разные учётные данные (например, dev vs. staging)
  • Вы хотите тестировать на разных окружениях
  • Инструменту нужны индивидуальные API-ключи для каждого пользователя

Как установить пользовательские заголовки:

  1. Откройте шестерёнку настроек ИИ для любой функции
  2. В секции MCP-инструментов раскройте область «Custom Headers» для нужного сервера
  3. Добавьте или переопределите заголовки с помощью пар ключ-значение
  4. Нажмите «Сохранить»

Ваши переопределения заголовков объединяются поверх заголовков сервера по умолчанию во время выполнения. Если вы установите Authorization: Bearer my-token, это заменит аутентификацию сервера по умолчанию только для ваших запросов.

Настройки — пользовательские заголовки

Жизненный цикл инструментов

После регистрации сервера в маркетплейсе:

  1. Обнаружение: Фоновый воркер обновляет списки инструментов периодически (по умолчанию: каждые 2 часа, настраивается для каждого сервера)
  2. Проверка здоровья: Воркер также проверяет доступность сервера и обновляет статус (online, offline, error)
  3. Кэширование: Обнаруженные инструменты сохраняются в базе данных для быстрой загрузки
  4. Выбор: Пользователи выбирают, какие инструменты включить для каждой ИИ-функции через шестерёнку настроек
  5. Выполнение: Когда ИИ вызывает инструмент, Mockarty маршрутизирует вызов через соответствующий адаптер
  6. Результат: Результат инструмента возвращается ИИ для включения в финальный ответ

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


Система ИИ-агентов

Обзор

Система ИИ-агентов (ADK — Agent Development Kit) обеспечивает интеллектуальное многошаговое взаимодействие с ИИ. В отличие от одиночных ИИ-кнопок (которые выполняют одно действие и возвращают результат), система агентов может:

  • Маршрутизировать ваш запрос к специализированному суб-агенту
  • Выполнять несколько вызовов инструментов параллельно
  • Поддерживать контекст разговора между сообщениями
  • Запускать фоновые задачи асинхронно
  • Использовать более 90 встроенных инструментов для CRUD моков, тестирования API, запросов к базам данных, отправки уведомлений и многого другого

Виджет чата с агентом

Плавающий виджет чата в правом нижнем углу соединяет вас с системой агентов.

Агент-чат — AI ассистент

Как это работает:

  1. Напишите сообщение, описывающее, что вам нужно
  2. Система маршрутизирует ваше сообщение к наиболее подходящему суб-агенту
  3. Агент анализирует запрос и может вызвать инструменты (вы увидите вызовы инструментов в чате)
  4. Если вызовы инструментов требуют одобрения, вам будет предложено подтвердить или отклонить
  5. Агент возвращает ответ с учётом результатов инструментов
  6. Контекст разговора сохраняется — последующие сообщения строятся на предыдущем контексте

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

  • Потоковые ответы — вы видите процесс «размышления» ИИ в реальном времени
  • Прозрачность вызовов инструментов — видите, какие инструменты вызываются и их результаты
  • Одобрение инструментов — для инструментов, изменяющих данные, вы подтверждаете перед выполнением
  • Сохранение сессий — закройте чат и вернитесь позже, контекст сохранён
  • Множественные сессии — начинайте новые разговоры или продолжайте существующие

Архитектура суб-агентов

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

Сообщение пользователя «Запусти фаззинг /api/search на SQL-инъекции» Оркестратор Анализирует ключевые слова, маршрутизирует к лучшему суб-агенту. Обрабатывает общие запросы напрямую. mock_builder CRUD моков, Faker api_tester Коллекции, тесты fuzzer Безопасность perf_tester Нагрузка, k6 recorder Запись трафика analyzer Анализ (чтение) code_generator Из спецификаций db_specialist SQL, Mongo, Redis web_crawler Загрузка и парсинг api_client HTTP, gRPC, MQ utility_belt Трансформации notifier 12+ каналов contract_tester Контракты 90+ встроенных инструментов CRUD моков, тесты, БД запросы, уведомления, утилиты Инструменты MCP Marketplace OpenAPI, gRPC, WSDL, MCP-серверы, A2A-агенты, RAG У каждого суб-агента отфильтрованный набор инструментов. Оркестратор имеет доступ ко всем утилитным инструментам. Пользовательские агенты (созданные админом) проверяются первыми при маршрутизации и имеют приоритет.

Принцип работы

Когда вы отправляете сообщение, оркестратор маршрутизирует его к наиболее подходящему суб-агенту на основе ключевых слов. Каждый суб-агент имеет:

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

Если ни один суб-агент не подходит, оркестратор обрабатывает запрос напрямую, имея доступ ко всем утилитным, базовым и уведомительным инструментам.

13 встроенных суб-агентов + оркестратор

Суб-агент Область Что делает Примеры запросов
mock_builder Управление моками Создаёт, обновляет и управляет HTTP/gRPC/MCP/SOAP моками. Генерирует моки из OpenAPI-спецификаций. Использует Faker-функции для динамических данных. Тестирует и валидирует конфигурации моков. «Создай мок для GET /api/users, возвращающий 10 пользователей с email и ролью»
api_tester Тестирование API Управляет тестовыми коллекциями и наборами тестов. Запускает тесты и выдаёт результаты. Импортирует коллекции Postman и OpenAPI. Поддерживает ассерты и окружения. «Запусти мою коллекцию тестов логина и покажи, какие тесты упали»
recorder Запись трафика Записывает и воспроизводит API-трафик, управляет прокси-сессиями, экспортирует в HAR/коллекции/тестовые скрипты. Поддерживает обратный прокси, прямой прокси с MITM, запись WebSocket/SSE. «Начни запись трафика с моего staging-сервера на порту 8080»
fuzzer Тестирование безопасности Настраивает и запускает фаззинг-кампании безопасности для API. Находит уязвимости (SQL-инъекции, XSS и др.). Перечисляет, сортирует и классифицирует аномалии по серьёзности. «Запусти фаззинг эндпоинта /api/search на SQL-инъекции»
perf_tester Тестирование производительности Запускает нагрузочные и стресс-тесты с настраиваемым количеством виртуальных пользователей. Генерирует k6-совместимые тестовые скрипты. Сравнивает метрики между прогонами (задержка, пропускная способность, частота ошибок). «Запусти нагрузочный тест /api/orders с 50 VU на 2 минуты»
contract_tester Контрактное тестирование Валидирует моки по API-спецификациям, проверяет совместимость с провайдером, проверяет обратную совместимость. Поддерживает OpenAPI, gRPC proto, GraphQL-схемы. «Провалидируй мои моки по OpenAPI-спецификации на наличие критических изменений»
analyzer Анализ Анализ только для чтения: моки, результаты тестов, логи, API-спецификации и аномалии фаззинга. Предоставляет структурированные рекомендации в виде markdown-таблиц. Может запрашивать базу данных для получения инсайтов. «Проанализируй мой последний прогон — что упало и почему?»
code_generator Генерация кода Генерирует конфигурации моков из OpenAPI, gRPC (.proto) и WSDL-спецификаций. Создаёт автономные мок-серверы. Показывает предварительный просмотр перед применением. «Сгенерируй моки из этой OpenAPI-спецификации: https://api.example.com/swagger.json»
db_specialist Запросы к базам данных Запрашивает базы данных для поддержки тестовых процессов. Поддерживает PostgreSQL, MySQL, ClickHouse, MongoDB (через Atlas Data API), Elasticsearch, OpenSearch, Redis и другие. Показывает таблицы, выполняет запросы только на чтение. «Покажи всех пользователей в staging-базе со статусом active»
web_crawler Веб-контент Загружает и парсит веб-страницы с помощью легковесного HTML-парсера (без headless-браузера). Извлекает текст, ссылки, таблицы и структурированное содержимое. Поддерживает CSS-селекторы для точной выборки. «Открой документацию API на https://docs.example.com и перечисли все эндпоинты»
api_client Вызов API Вызывает HTTP/REST, gRPC, GraphQL, Kafka, RabbitMQ и MCP API. Обнаруживает сервисы через рефлексию/интроспекцию. Публикует и потребляет сообщения. Полезен для тестирования реальных API прямо из чата. «Вызови GET https://api.staging.example.com/health и покажи ответ»
utility_belt Утилиты данных Инструменты трансформации и генерации данных. Форматирование/валидация JSON и XML. Кодирование/декодирование Base64, URL, HTML. Декодирование JWT-токенов. Конвертация временных меток. Генерация UUID, хешей, паролей. Тестирование регулярных выражений. Сравнение текстов. «Декодируй этот JWT-токен: eyJhbGci…»
notifier Уведомления Отправляет уведомления и оповещения в более чем 12 каналов: email (SMTP), Slack, Microsoft Teams, Google Chat, Mattermost, Cisco Webex, Telegram, Discord, PagerDuty, Opsgenie, Jira и произвольные вебхуки. «Отправь сообщение в Slack-канал #testing: все smoke-тесты пройдены»
orchestrator Общие вопросы Обрабатывает общие вопросы, приветствия и запросы, не подходящие конкретному суб-агенту. Имеет доступ ко всем утилитным, базовым, уведомительным, кэш- и todo-инструментам. Маршрутизирует сложные задачи к специалистам. «Чем ты можешь помочь?»

Как работает маршрутизация агентов

Когда вы отправляете сообщение, система автоматически выбирает лучшего суб-агента на основе ключевых слов в сообщении:

Ключевые слова в сообщении Маршрутизируется к
“database”, “db query”, “sql”, “postgres”, “mysql”, “mongodb”, “elasticsearch”, “redis” db_specialist
“browse”, “crawl”, “web page”, “scrape”, “fetch page”, “html” web_crawler
“http request”, “curl”, “call api”, “grpc call”, “graphql query”, “kafka publish”, “rabbitmq” api_client
“send email”, “send notification”, “slack”, “telegram”, “teams”, “discord”, “pagerduty”, “jira” notifier
“format json”, “base64”, “jwt decode”, “uuid”, “generate hash”, “regex”, “diff”, “timestamp” utility_belt
“record”, “recording”, “recorder”, “proxy session”, “traffic capture”, “mitm” recorder
“contract test”, “validate mock”, “validate against spec”, “backward compatibility”, “breaking change” contract_tester
“fuzz”, “vulnerability”, “security scan”, “exploit” fuzzer
“performance test”, “load test”, “benchmark”, “stress test” perf_tester
“test collection”, “test suite”, “run test”, “import postman” api_tester
“generate from”, “generate server”, “create from spec” code_generator
“create mock”, “add mock”, “update mock”, “delete mock” mock_builder
“analyze”, “explain”, “summarize”, “compare”, “review” analyzer

Приоритет маршрутизации:

  1. Пользовательские агенты (созданные администратором) проверяются первыми — их ключевые слова имеют приоритет
  2. Встроенные суб-агенты проверяются в порядке, указанном выше
  3. Если ни одно ключевое слово не совпало, запрос обрабатывает оркестратор напрямую

Справочник встроенных инструментов

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

Инструменты управления моками (через MCP)

Инструмент Что делает
create_mock Создаёт или обновляет мок-эндпоинт с маршрутами, условиями, ответами и Faker-функциями
get_mock Получает полную конфигурацию мока по ID
list_mocks Выводит список всех конфигураций моков с пагинацией
delete_mock Безвозвратно удаляет мок по ID
restore_mock Восстанавливает ранее удалённый мок
get_chain_mocks Получает все моки, принадлежащие определённой цепочке
delete_chain_mocks Удаляет все моки в цепочке
get_mock_logs Получает логи запросов/ответов для конкретного мока
validate_mock Валидирует конфигурацию мока без его создания
test_mock Отправляет тестовый запрос к моку и возвращает ответ

Инструменты управления хранилищами (через MCP)

Инструмент Что делает
get_global_store Получает все пары ключ-значение из Глобального хранилища
add_to_global_store Добавляет пары ключ-значение в Глобальное хранилище
delete_from_global_store Удаляет определённые ключи из Глобального хранилища
get_chain_store Получает все пары ключ-значение из хранилища цепочки
add_to_chain_store Добавляет пары ключ-значение в хранилище цепочки
delete_from_chain_store Удаляет определённые ключи из хранилища цепочки

Инструменты генерации кода (через MCP)

Инструмент Что делает
generate_mocks_from_openapi Автоматически генерирует моки из OpenAPI/Swagger-спецификации
generate_from_openapi Генерирует серверный код из OpenAPI-спецификации
generate_from_grpc Генерирует серверный код из gRPC .proto-файла
generate_from_wsdl Генерирует серверный код из WSDL-спецификации
preview_generation Показывает предварительный просмотр генерируемого кода без применения

Инструменты шаблонов и файлов (через MCP)

Инструмент Что делает
upload_template Загружает Go-шаблон для использования в ответах моков
get_template Получает содержимое загруженного шаблона
delete_template Удаляет загруженный шаблон
list_templates Выводит список всех загруженных шаблонов
read_file Читает временный файл, загруженный во время сессии чата

Инструменты тестирования API

Инструмент Что делает
list_collections Выводит список тестовых коллекций API
run_collection Запускает тестовую коллекцию и возвращает результаты
list_test_runs Выводит список завершённых тестовых прогонов со статусами
import_postman Импортирует коллекцию Postman
import_openapi Импортирует эндпоинты из OpenAPI-спецификации
build_api_collection Создаёт тестовую коллекцию с запросами, заголовками и ассертами
generate_test_script Генерирует k6-совместимый скрипт нагрузочного теста

Инструменты фаззинга

Инструмент Что делает
start_fuzzing Запускает сессию фаззинга безопасности для API
stop_fuzzing Останавливает запущенную сессию фаззинга
list_fuzz_results Выводит список результатов сессий фаззинга
list_fuzz_findings Выводит список находок безопасности из фаззинга
triage_fuzz_finding Классифицирует находку (confirmed, false_positive, fixed, accepted)
configure_fuzzing Генерирует конфигурацию фаззинга с начальными запросами

Инструменты нагрузочного тестирования

Инструмент Что делает
run_perf_test Запускает нагрузочный тест
list_perf_results Выводит список результатов нагрузочных тестов
compare_perf_results Сравнивает метрики между несколькими прогонами
generate_perf_script Генерирует k6-скрипт нагрузочного теста

Инструменты записи трафика

Инструмент Что делает
start_recording Запускает новую сессию записи с настройкой прокси (обратный/прямой/MITM)
stop_recording Останавливает активную сессию записи
list_recording_sessions Выводит список всех сессий записи со статусами и количеством записей
get_recording_session Получает детали конкретной сессии записи
delete_recording Удаляет сессию записи и её записи
list_recording_entries Выводит список захваченных запросов/ответов для сессии
create_mocks_from_recording Генерирует конфигурации моков из записанного трафика
export_recording_har Экспортирует сессию записи в формат HAR (HTTP Archive)
export_recording_collection Экспортирует сессию записи как тестовую коллекцию API
export_recording_perf_script Экспортирует сессию записи как k6-скрипт нагрузочного теста
analyze_recording Анализирует записанный трафик на паттерны, цепочки и аномалии

Инструменты контрактного тестирования

Инструмент Что делает
contract_validate_mocks Валидирует конфигурации моков по API-спецификации (OpenAPI, proto, GraphQL)
contract_verify_provider Проверяет, что реальный эндпоинт провайдера соответствует контракту
contract_check_compatibility Проверяет обратную совместимость между двумя версиями API-спецификации
contract_validate_payload Валидирует конкретный запрос/ответ по схеме

HTTP и клиентские инструменты API

Инструмент Что делает
http_request Отправляет HTTP-запросы (GET, POST, PUT, DELETE) с заголовками, телом, query-параметрами
grpc_call Вызывает gRPC-сервисы — список сервисов, список методов, вызов унарных RPC
graphql_query Интроспектирует GraphQL-схемы и выполняет запросы/мутации
kafka_publish Публикует сообщения в Kafka-топики
kafka_consume Потребляет последние сообщения из Kafka-топиков
rabbitmq_publish Публикует сообщения в обменники/очереди RabbitMQ
rabbitmq_consume Просматривает сообщения в очередях RabbitMQ
mcp_list_tools Выводит список доступных инструментов на MCP-сервере
mcp_call_tool Вызывает конкретный инструмент на MCP-сервере

Инструменты работы с базами данных

Инструмент Что делает
sql_query Выполняет SQL-запросы только на чтение к PostgreSQL, MySQL или ClickHouse
mongodb_query Запрашивает MongoDB через Atlas Data API или HTTP-интерфейсы
elasticsearch_query Ищет по индексам Elasticsearch/OpenSearch
redis_command Выполняет команды Redis только на чтение (GET, HGETALL, KEYS и др.)
db_list_tables Выводит список таблиц/коллекций/индексов в базе данных

Веб- и контент-инструменты

Инструмент Что делает
browse_url Загружает публичный URL и извлекает текстовое содержимое (HTML, JSON, XML). Блокирует приватные IP.
search_in_page Ищет конкретный текст на загруженной веб-странице
analyze_content Анализирует структурированный контент (OpenAPI, Postman, HAR, JSON, YAML)

Инструменты трансформации данных

Инструмент Что делает
json_format Форматирует, валидирует или минифицирует JSON
xml_format Форматирует или валидирует XML
base64_convert Кодирует/декодирует строки Base64
url_encode Кодирует/декодирует URL-компоненты
html_encode Кодирует/декодирует HTML-сущности
jwt_decode Декодирует JWT-токены (заголовок + полезная нагрузка, без верификации подписи)
json_xml_convert Конвертирует между JSON и XML форматами
timestamp_convert Конвертирует между Unix, ISO 8601 и читаемыми временными метками
diff_compare Сравнивает два текста или JSON-структуры, выделяя различия
generate_uuid Генерирует идентификаторы UUID v4
generate_hash Генерирует дайджесты SHA-256, MD5 и других алгоритмов
generate_text Генерирует реалистичные данные с помощью Faker (имена, email, адреса, lorem ipsum)
generate_password Генерирует безопасные случайные пароли с настраиваемой сложностью
regex_test Тестирует регулярные выражения с извлечением групп совпадений
color_convert Конвертирует между HEX, RGB и HSL форматами цветов
timestamp_now Возвращает текущую временную метку в различных форматах

Инструменты уведомлений

Инструмент Что делает
send_email Отправляет email через настроенный SMTP (текст + HTML)
send_slack Отправляет сообщения в Slack через Incoming Webhook (поддерживает Block Kit)
send_telegram Отправляет сообщения в Telegram через Bot API (MarkdownV2/HTML)
send_teams Отправляет сообщения в Microsoft Teams через Webhook (Adaptive Cards)
send_discord Отправляет сообщения в Discord через Webhook (поддерживает embeds)
send_google_chat Отправляет сообщения в Google Chat через Webhook (Card v2)
send_mattermost Отправляет сообщения в Mattermost через Webhook (Slack-совместимый API)
send_webex Отправляет сообщения в Cisco Webex через Bot API
send_pagerduty Создаёт/подтверждает/разрешает инциденты PagerDuty (Events API v2)
send_opsgenie Создаёт оповещения Opsgenie с приоритетом P1-P5
send_jira_comment Добавляет комментарии к задачам Jira через REST API v3
send_webhook Отправляет HTTP POST/PUT/PATCH на любой URL вебхука с JSON-телом
list_system_channels Выводит список всех настроенных каналов уведомлений с типами и статусами
send_via_channel Отправляет сообщение через предварительно настроенный канал уведомлений по имени или ID

Инструменты управления сессиями

Инструмент Что делает
current_time Возвращает текущую дату/время в любом часовом поясе
cache_set Сохраняет пару ключ-значение во временный кэш (TTL 1 час)
cache_get Получает кэшированное значение по ключу
cache_delete Удаляет кэшированный ключ
cache_list Выводит список всех кэшированных ключей
todo_add Добавляет задачу в персональный список дел (5 дней до истечения)
todo_list Выводит список всех задач пользователя
todo_update Обновляет статус или детали задачи
todo_remove Удаляет задачу из списка

Параллельное выполнение инструментов

Система агентов выполняет несколько вызовов инструментов одновременно, когда LLM запрашивает несколько инструментов в одном ответном сообщении. Это значительно ускоряет сложные операции.

Как это работает:

  1. LLM решает, что ему нужно вызвать несколько инструментов (например, list_mocks + list_collections + current_time)
  2. Mockarty запускает все вызовы параллельно с помощью горутин
  3. Результаты собираются конкурентно и возвращаются LLM вместе
  4. LLM обрабатывает все результаты на следующем шаге

Пример: Когда вы спрашиваете «Покажи все моки и тестовые коллекции в неймспейсе payments», агент вызывает list_mocks и list_collections одновременно, а не последовательно, сокращая время ответа вдвое.

Встроенные инструменты (такие как form_update и проверки разрешений) обрабатываются синхронно до начала параллельного выполнения, гарантируя, что проверки безопасности никогда не пропускаются.

Хранилище учётных данных

Хранилище учётных данных (Credentials Store) позволяет передавать агенту API-ключи, строки подключения к базам данных, токены и другие секреты, не включая их в текст сообщений чата.

Ключевое свойство безопасности: Учётные данные хранятся только в localStorage вашего браузера. Они никогда не отправляются на сервер Mockarty для хранения — они включаются в запрос только тогда, когда агенту нужно использовать их для конкретного вызова инструмента.

Как использовать:

  1. Нажмите иконку ключа в заголовке чата агента, чтобы открыть панель учётных данных
  2. Добавьте записи в виде пар ключ-значение (например, POSTGRES_DSNpostgres://user:pass@host:5432/db)
  3. Закройте панель — учётные данные сохраняются в браузере немедленно
  4. В чате ссылайтесь на учётные данные по имени: «Сделай запрос к базе, используя мой POSTGRES_DSN»
  5. Агент автоматически передаёт подходящие учётные данные инструментам, таким как sql_query, http_request, send_slack и др.

Распространённые имена учётных данных:

Ключ Используется Пример значения
POSTGRES_DSN sql_query postgres://user:pass@host:5432/dbname
MYSQL_DSN sql_query mysql://user:pass@host:3306/dbname
MONGO_URL mongodb_query https://data.mongodb-api.com/...
ELASTICSEARCH_URL elasticsearch_query http://localhost:9200
REDIS_URL redis_command redis://:password@host:6379/0
SLACK_WEBHOOK send_slack https://hooks.slack.com/services/...
TELEGRAM_TOKEN send_telegram 123456:ABC-DEF...
TELEGRAM_CHAT_ID send_telegram -1001234567890
PAGERDUTY_KEY send_pagerduty your-routing-key
JIRA_URL send_jira_comment https://yourcompany.atlassian.net
JIRA_EMAIL send_jira_comment user@company.com
JIRA_TOKEN send_jira_comment your-api-token

Примечание о конфиденциальности: Поскольку учётные данные хранятся в localStorage, они привязаны к конкретному браузеру и устройству. Очистка данных браузера удалит их. Другие пользователи не могут видеть ваши учётные данные.

Сессии и контекст

Сессии чата агента сохраняются в базе данных:

  • Создание сессии: Новая сессия начинается при открытии чата или нажатии «Новый чат»
  • История сообщений: До 100 предыдущих сообщений загружаются при повторном открытии сессии
  • Контекстное окно: Активные разговоры обрезаются до 200 сообщений для предотвращения проблем с памятью
  • Срок действия сессии: Сессии истекают после 24 часов неактивности (настраивается)
  • Изоляция MCP-сессий: Каждая сессия чата получает свою MCP-сессию — stateful MCP-инструменты (например, Playwright) поддерживают состояние для каждого разговора

Задачи агента (фоновые операции)

Некоторые операции слишком длинны для ответа в чате. Задачи агента выполняются в фоновом режиме:

  • Создаются через: Чат агента, ИИ-кнопки (для сложных операций) или протокол A2A
  • Отслеживание прогресса: Пошаговый лог выполнения в реальном времени через SSE-стриминг
  • Видимость вызовов инструментов: Видите, какие инструменты были вызваны и их результаты
  • Отмена: Отменяйте выполняемые задачи в любой момент
  • Редактирование и перезапуск: Отредактируйте любой шаг и перезапустите задачу с этой точки
  • Экспорт: Скачайте полную историю выполнения в формате JSON
  • Уведомления о завершении: Получайте уведомления через иконку колокольчика и (при настройке) email
  • Ограничение параллелизма: Настраиваемое максимальное количество одновременных задач (по умолчанию: 3)

Задачи управляются через виджет чата агента. Нажмите вкладку Задачи (иконка буфера обмена) в плавающем чате, чтобы увидеть все ваши задачи. Бейдж появляется при завершении задач, пока вы работаете на других страницах.

Оверлей потока выполнения: Нажмите Просмотр потока на любой задаче, чтобы увидеть полную пошаговую трассу:

  • Шаги группируются по связям родитель-потомок (вызовы инструментов связаны с их результатами)
  • Параллельные вызовы визуально объединяются
  • Каждый шаг показывает длительность, количество токенов, модель и имя агента
  • Текст LLM (мысли, решения, ответы) рендерится как Markdown
  • Ошибки показывают полное описание

Редактирование и перезапуск: Нажмите иконку карандаша на любом шаге для редактирования, затем нажмите Перезапуск с шага N для повторного выполнения с вашими изменениями.

Агент-чат — задачи и поток выполнения

Использование инструментов маркетплейса в чате агента

Когда инструменты маркетплейса настроены, они становятся доступны в чате агента:

  1. Откройте шестерёнку настроек чата агента
  2. Выберите, какие инструменты маркетплейса включить
  3. Начните чат — агент теперь может использовать как встроенные, так и инструменты маркетплейса

Пример: С зарегистрированным staging API как источником OpenAPI, вы можете попросить:

«Вызови эндпоинт getUsers на staging, затем создай мок с такой же структурой ответа»

Агент:

  1. Вызовет инструмент getUsers маркетплейса (реальный HTTP-запрос к staging)
  2. Проанализирует структуру ответа
  3. Использует встроенные инструменты для создания мока с соответствующими полями

Пользовательские агенты

Что такое пользовательские агенты?

Пользовательские агенты — это специалисты, создаваемые администратором, которые расширяют систему агентов. Хотя Mockarty поставляется с 13 встроенными суб-агентами и оркестратором, вашей организации могут потребоваться доменно-специфичные агенты с:

  • Кастомными системными промптами, адаптированными к вашей области
  • Конкретными белыми списками инструментов (только те инструменты, которые должен использовать этот агент)
  • Ключевыми словами маршрутизации, соответствующими лексикону вашей команды
  • Привязанными LLM-профилями и переопределениями модели
  • Привязкой к Feature Key для настройки поведения ИИ-кнопок

Создание пользовательского агента

Администраторы создают пользовательских агентов в Admin → AI & LLM → Agent Settings.

Панель администратора — настройки AI и LLM

Каждый пользовательский агент требует:

Поле Обязательно Описание
Name Да Уникальный идентификатор (например, payment_specialist)
Description Да Краткое описание, отображаемое при выборе агента
System Prompt Да Инструкции, направляющие поведение агента (добавляются к базовому системному промпту)
Available Tools Нет Список инструментов, которые этот агент может использовать (пусто = все инструменты)
Routing Keywords Нет Ключевые слова, запускающие маршрутизацию к этому агенту
LLM Profile Нет Привязанный LLM-профиль для агента (пусто = выбор пользователя)
Model Override Нет Переопределение модели внутри привязанного профиля
Feature Key Нет Привязка к функции ИИ-кнопки (например, generate-mock)
Enabled Да Переключатель включения/выключения агента

Привязка LLM-профиля

Пользовательские агенты могут быть привязаны к конкретному LLM-профилю и модели. Когда сообщение маршрутизируется к такому агенту:

  1. Используется привязанный LLM-профиль вместо выбора пользователя по умолчанию
  2. Если задано переопределение модели, используется эта конкретная модель внутри профиля
  3. Это гарантирует, что агент всегда использует оптимальную модель для своей области

Варианты использования:

  • Привязать агента аудита безопасности к мощной модели (например, claude-sonnet) для тщательного анализа
  • Привязать простого FAQ-агента к быстрой модели (например, gpt-4o-mini) для снижения затрат
  • Привязать агента генерации кода к модели, оптимизированной для кода

Ключевые слова маршрутизации

Ключевые слова определяют, когда система маршрутизирует сообщение чата к вашему пользовательскому агенту. Ключевые слова пользовательских агентов проверяются перед встроенными агентами, давая агентам, определённым администратором, приоритет.

Пример: Агент payment_specialist с ключевыми словами ["payment", "checkout", "billing", "invoice"] будет обрабатывать любое сообщение чата, содержащее эти слова — даже если встроенные агенты иначе бы совпали.

Советы по ключевым словам:

  • Используйте доменно-специфичные термины, которые ваша команда реально использует
  • Включайте синонимы (например, и «payment», и «billing»)
  • Избегайте слишком общих слов (например, «test» перехватит слишком много запросов)
  • Ключевые слова нечувствительны к регистру

Белые списки инструментов

По умолчанию агенты могут использовать все доступные инструменты. Белый список ограничивает агента только конкретными инструментами — полезно для:

  • Безопасность: Агент только для анализа не должен модифицировать моки
  • Фокус: Специалисту по мокам не нужны инструменты фаззинга
  • Соответствие: Ограничение того, какие инструменты могут получить доступ к продуктивным данным

Выбирайте инструменты из списка встроенных инструментов и любых зарегистрированных инструментов маркетплейса.

Привязка к Feature Key

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

Доступные Feature Key:

Feature Key ИИ-кнопка
generate-mock Generate Mock
improve-mock Improve Mock
generate-script Generate Script
generate-perf Generate Perf Script
diagnose Diagnose Error
analyze-test Analyze Test Results
analyze-diff API Diff
analyze-logs Log Analysis
generate-collection Generate Collection
recorder-ai Analyze Traffic
recorder-scenarios Find Scenarios

Пример: Привяжите payment_specialist к generate-mock → всякий раз, когда кто-то нажимает «Generate Mock», системный промпт специалиста по платежам добавляется, давая ИИ дополнительный контекст о платёжных API.

Примеры пользовательских агентов

Доменно-специфичный эксперт по мокам

Name: healthcare_mock_expert
Description: Создаёт HIPAA-совместимые моки медицинских API
System Prompt: |
  Вы специалист по медицинским API. При создании моков:
  - Никогда не используйте реальные данные пациентов — всегда используйте Faker-функции
  - Следуйте структуре ресурсов HL7 FHIR для медицинских эндпоинтов
  - Включайте правильные ответы об ошибках при сбоях аутентификации (401, 403)
  - Добавляйте заголовки X-Request-ID и X-Correlation-ID ко всем ответам
  - Используйте коды ICD-10 из допустимого диапазона для полей диагнозов
Keywords: [healthcare, patient, fhir, hl7, medical, hipaa, diagnosis]
Feature Key: generate-mock

Агент проверки безопасности

Name: security_reviewer
Description: Проверяет конфигурации API на проблемы безопасности
System Prompt: |
  Вы специалист по безопасности. При анализе:
  - Проверяйте отсутствие аутентификации на чувствительных эндпоинтах
  - Убеждайтесь, что настроено ограничение частоты запросов
  - Ищите утечки PII в ответах
  - Проверяйте конфигурацию CORS
  - Убеждайтесь в использовании TLS/HTTPS
  - Помечайте любые захардкоженные учётные данные или токены
Keywords: [security review, audit, compliance, pentest, owasp]
Tools: [browse_url, analyze_content, sql_query]
LLM Profile: claude-sonnet-profile

Агент интеграции CI/CD

Name: cicd_agent
Description: Генерирует конфигурации тестов для CI/CD пайплайнов
System Prompt: |
  Вы специалист по интеграции CI/CD. Помогайте пользователям:
  - Создавать тестовые коллекции, подходящие для выполнения в пайплайне
  - Генерировать скрипты нагрузочных тестов с CI-совместимыми порогами
  - Настраивать фаззинг с ограничением по времени
  - Форматировать результаты для парсеров JUnit/TAP
Keywords: [ci, cd, pipeline, jenkins, github actions, gitlab ci, deploy]
Tools: [build_api_collection, generate_test_script, configure_fuzzing]

Агент маршрутизации уведомлений

Name: alert_manager
Description: Маршрутизирует результаты тестов и оповещения в нужные каналы
System Prompt: |
  Вы специалист по маршрутизации оповещений. В зависимости от серьёзности и типа события:
  - Критические сбои → инцидент PagerDuty + Slack #incidents
  - Провалы тестовых наборов → канал Teams + email руководителю QA
  - Деградация производительности → Slack #performance + оповещение Opsgenie
  - Успешные деплои → Slack #releases + комментарий в Jira
  Всегда включайте: временную метку, окружение, краткое описание и ссылку на результаты.
Keywords: [alert, incident, notify team, send report, broadcast]
Tools: [send_slack, send_teams, send_pagerduty, send_opsgenie, send_email, send_jira_comment, current_time]

Интеграция с маркетплейсом

MCP Marketplace подключает внешние сервисы к системе агентов, давая им доступ к инструментам за пределами встроенного набора. В этом разделе описывается, как инструменты маркетплейса и агенты работают вместе.

Подключение внешних MCP-серверов

MCP-серверы (Model Context Protocol) — самый мощный тип интеграции. Они предоставляют пользовательские инструменты, которые агент может вызывать во время разговоров.

Популярные MCP-серверы:

  • Playwright — автоматизация браузера (навигация, клики, скриншоты, заполнение форм)
  • File System — чтение/запись файлов на сервере
  • Database — запросы к внешним базам данных
  • GitHub — управление репозиториями, задачами, PR
  • Custom — создайте собственный MCP-сервер для любого API

Stateful-сессии: Каждый разговор в чате агента получает собственную MCP-сессию. Это означает, что MCP-сервер Playwright может открыть браузер в одном вызове, перейти на страницу в следующем и сделать скриншот в третьем — всё в рамках одного чата.

Подключение сервисов OpenAPI/gRPC/WSDL

Зарегистрируйте существующую документацию API, и агент получит возможность вызывать ваши реальные API:

  1. OpenAPI — каждый эндпоинт становится вызываемым инструментом. Агент может тестировать реальные API, получать данные и проверять поведение.
  2. gRPC — обнаруживает методы сервисов через gRPC server reflection. Вызовы инструментов проксируются как реальные gRPC-запросы к целевому серверу.
  3. WSDL — каждая SOAP-операция становится инструментом с автоматическим построением XML-конверта.

Подключение A2A-агентов

Подключайте внешних ИИ-агентов, поддерживающих протокол Agent-to-Agent:

  1. Зарегистрируйте базовый URL агента в маркетплейсе
  2. Mockarty загрузит карточку агента из /.well-known/agent.json
  3. Навыки внешнего агента станут инструментами, доступными в чате агента Mockarty

Это позволяет создавать мультиагентные процессы, где Mockarty делегирует задачи специализированным внешним агентам.

Выбор инструментов для каждой функции

Каждая ИИ-функция (и каждая сессия чата агента) поддерживает собственный выбор инструментов маркетплейса. Это предотвращает перегрузку инструментами — LLM видит только инструменты, релевантные текущей задаче.

Настройка выбора инструментов:

  • ИИ-кнопки: нажмите иконку шестерёнки → секция MCP-инструментов
  • Чат агента: нажмите иконку шестерёнки в заголовке чата

Протокол A2A (Agent-to-Agent)

Внешние ИИ-агенты могут взаимодействовать с Mockarty через протокол Agent-to-Agent:

Эндпоинт Метод Назначение
/.well-known/agent.json GET Карточка агента — возвращает возможности, навыки и поддерживаемые протоколы
/a2a/tasks/send POST Отправить задачу на выполнение
/a2a/tasks/:id GET Проверить статус задачи и получить результаты
/a2a/tasks/:id/cancel POST Отменить выполняемую задачу

Варианты использования:

  • Внешний агент-оркестратор делегирует создание моков Mockarty
  • CI/CD-агент просит Mockarty запустить тесты и сообщить результаты
  • Мультиагентная система координирует тестирование между сервисами

Протокол A2A следует стандарту Google Agent-to-Agent, делая Mockarty совместимым с любой A2A-совместимой платформой агентов.


Руководство администратора

Настройка ИИ-функций

Шаг 1: Создайте LLM-профиль

  1. Перейдите в Admin → AI & LLM → LLM Profiles
  2. Нажмите Add Profile
  3. Выберите провайдера (OpenAI, Anthropic и др.)
  4. Введите API-ключ и выберите модель
  5. Нажмите Save и убедитесь, что профиль Enabled

Шаг 2: (Необязательно) Зарегистрируйте инструменты маркетплейса

  1. Перейдите в Admin → AI & LLM → MCP Marketplace
  2. Нажмите Add Integration
  3. Выберите тип источника и введите URL
  4. Настройте аутентификацию при необходимости
  5. Нажмите Save — инструменты будут обнаружены в течение 30 минут

Шаг 3: (Необязательно) Создайте пользовательских агентов

  1. Перейдите в Admin → AI & LLM → Agent Settings
  2. Нажмите Create Agent
  3. Заполните имя, описание, системный промпт и необязательные ключевые слова/инструменты
  4. По желанию привяжите LLM-профиль и переопределение модели
  5. Нажмите Save

Настройка MCP Marketplace

Добавление OpenAPI-источника

  1. Нажмите Add Integration → Source Type: OpenAPI
  2. Введите URL вашей OpenAPI/Swagger-спецификации (JSON или YAML)
    • Пример: https://api.staging.example.com/swagger.json
  3. Если API требует аутентификации, установите Auth Type:
    • Bearer: вставьте токен доступа
    • API Key: введите ключ и имя заголовка (например, X-API-Key)
    • Basic: введите логин и пароль
  4. Нажмите Save
  5. Нажмите иконку-штекер для проверки соединения — вы должны увидеть статус «online»
  6. Нажмите иконку-список для просмотра обнаруженных инструментов

Панель администратора — MCP Marketplace

Добавление MCP-сервера

  1. Нажмите Add Integration → Source Type: MCP Server
  2. Введите эндпоинт MCP-сервера (например, http://localhost:3000/mcp)
  3. Установите аутентификацию при необходимости
  4. Нажмите Save

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

Добавление WSDL (SOAP) источника

  1. Нажмите Add Integration → Source Type: WSDL
  2. Введите URL WSDL (например, https://legacy.example.com/service?wsdl)
  3. Установите аутентификацию (многие SOAP-сервисы используют Basic auth)
  4. Нажмите Save

Каждая SOAP-операция становится инструментом с префиксом soap_.

Обновление и проверка здоровья

  • Авто-обновление: Фоновый воркер проверяет серверы каждые 30 минут. У каждого сервера свой интервал обновления (по умолчанию: 2 часа).
  • Ручная проверка: Нажмите иконку-штекер на любом сервере для немедленной проверки.
  • Индикаторы статуса: Зелёный = online, Красный = error (наведите для деталей), Серый = unknown.

Мониторинг через журнал аудита ИИ

Перейдите в Admin → AI & LLM → AI Audit Log.

Каждая ИИ-операция логируется:

  • Временная метка — когда операция была выполнена
  • Пользователь — кто инициировал
  • Действие — какая ИИ-функция (generate_mock, diagnose_error и т.д.)
  • Профиль — какой LLM-профиль был использован
  • Длительность — время вызова LLM в миллисекундах
  • Статус — success, error или rate_limited
  • Токены — использование токенов (если сообщается провайдером)

Фильтрация по пользователю, типу действия, статусу и диапазону дат. Экспорт в CSV для отчётов соответствия.

Панель администратора — журнал аудита AI

Ограничения запросов и безопасность

Ограничения частоты ИИ-запросов:

  • Каждый пользователь имеет дневной лимит вызовов ИИ (настраивается администратором)
  • При достижении лимита ИИ-кнопки показывают ошибку ограничения частоты
  • Журнал аудита отслеживает все вызовы для мониторинга

Меры безопасности:

  • Инструмент browse_url блокирует приватные/внутренние IP-адреса (защита от SSRF)
  • Инструмент sql_query работает только на чтение (SELECT/WITH) и блокирует чувствительные таблицы
  • Инструмент db_list_tables работает только на чтение — модификация схемы невозможна
  • Инструмент redis_command ограничен командами только на чтение
  • Вызовы инструментов к серверам маркетплейса проверяют URL на SSRF
  • Переопределения заголовков пользователей изолированы для каждого пользователя — учётные данные одного не утекают к другим
  • MCP-сессии изолированы для каждого разговора
  • Данные хранилища учётных данных остаются в localStorage браузера, никогда не сохраняются на сервере
  • Все ИИ-запросы логируются в журнале аудита
  • Белые списки инструментов пользовательских агентов обеспечивают принцип наименьших привилегий

Уведомления

ИИ-операции генерируют уведомления:

Событие Где отображается
Тестовый прогон завершён Иконка колокольчика + email (если настроено)
Нагрузочный тест завершён Иконка колокольчика + email
Фаззинг завершён Иконка колокольчика + email
Новая находка фаззинга Иконка колокольчика + email
Задача агента завершена Иконка колокольчика + чат агента
Задача агента завершилась с ошибкой Иконка колокольчика + чат агента

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


Советы для лучших результатов

  1. Будьте конкретны: «Сгенерируй мок для GET /api/users, который возвращает 10 пользователей с полями name, email и role» лучше, чем «создай мок пользователей»
  2. Предоставляйте контекст: Используйте пользовательский промпт, чтобы рассказать ИИ о вашем домене, SLA или стандартах кодирования
  3. Выбирайте правильную модель: Быстрые модели для простых задач, мощные модели для анализа
  4. Итерируйте: Если первый результат не идеален, используйте «Improve Mock» или скорректируйте пользовательский промпт
  5. Используйте MCP-инструменты: Когда доступны, включайте релевантные инструменты, чтобы ИИ мог получить доступ к реальным данным из ваших API
  6. Проверяйте ИИ-триаж внимательно: Автоматическая сортировка — это отправная точка, всегда проверяйте критические аномалии вручную
  7. Используйте пользовательские заголовки: Если инструментам нужны ваши учётные данные, установите их в шестерёнке настроек, а не включайте в промпты
  8. Используйте хранилище учётных данных: Для подключений к базам данных, API-ключей и URL вебхуков — сохраните их однократно в панели Credentials и ссылайтесь по имени
  9. Используйте чат агента для сложных задач: Многошаговые операции лучше работают через интерфейс чата, где агент может итерировать
  10. Ограничивайте пользовательских агентов: Давайте агентам конкретные ключевые слова и белые списки инструментов, чтобы они оставались сфокусированными
  11. Привязывайте модели к агентам: Используйте привязку LLM-профиля, чтобы каждый пользовательский агент использовал оптимальную модель для своей задачи
  12. Попросите администратора добавить интеграции: Если ИИ не хватает контекста о ваших API, попросите администратора зарегистрировать их в MCP Marketplace

Устранение неполадок

«LLM not configured»

Нет включённых LLM-профилей. Попросите администратора создать профиль в Admin → AI & LLM → LLM Profiles.

«LLM profile not found»

Выбранный профиль был удалён или отключён. Нажмите кнопку-шестерёнку и выберите другой профиль.

ИИ отвечает медленно

  • Попробуйте более быструю модель (переключитесь с GPT-4o на GPT-4o-mini)
  • Сократите длину пользовательского промпта
  • Отключите ненужные MCP-инструменты (каждый вызов инструмента добавляет задержку)
  • Для чата агента: уменьшите количество включённых инструментов маркетплейса

MCP-инструменты не работают

  • Проверьте, что сервер маркетплейса онлайн (Admin → AI & LLM → MCP Marketplace)
  • Убедитесь, что инструмент включён на сервере
  • Проверьте, что вы выбрали инструмент в настройках шестерёнки функции
  • Если используете пользовательские заголовки, проверьте правильность учётных данных
  • Проверьте логи сервера на ошибки аутентификации

Чат агента маршрутизирует некорректно

  • Маршрутизация основана на ключевых словах — попробуйте перефразировать запрос с более чёткими ключевыми словами
  • Ключевые слова пользовательских агентов имеют приоритет над встроенными
  • Проверьте Admin → Agent Settings, чтобы увидеть, какие агенты и ключевые слова активны
  • Используйте явные фразы, например «create a mock for…» для выбора агента mock_builder

Инструменты работы с базами данных возвращают ошибки

  • Проверьте правильность строки подключения в хранилище учётных данных
  • Убедитесь, что база данных доступна с сервера Mockarty
  • SQL-инструменты поддерживают только запросы SELECT и WITH — UPDATE/INSERT/DELETE заблокированы
  • Проверьте сетевые проблемы и настройки файрвола между Mockarty и базой данных

Инструменты уведомлений не работают

  • Для email: проверьте настройку SMTP в Admin → Email Settings
  • Для Slack/Teams/Discord: проверьте, что URL вебхука действителен и не истёк
  • Для Telegram: проверьте правильность токена бота и chat_id
  • Для PagerDuty/Opsgenie: проверьте API-ключ или routing key
  • Проверьте хранилище учётных данных на опечатки в ключах или значениях

Вызовы инструментов отклоняются

  • Некоторые инструменты требуют одобрения — вы увидите запрос на подтверждение/отклонение
  • Инструменты только для чтения (browse, analyze, query) подтверждаются автоматически
  • Инструменты, изменяющие данные (create, update, delete), могут требовать одобрения в зависимости от настроек администратора

ИИ-анализ не сохраняется

Для функций, которые сохраняют анализ (тестовые отчёты, аномалии фаззинга, результаты нагрузочного тестирования), анализ сохраняется автоматически. Обновите страницу, чтобы увидеть его в отчёте.

Пользовательские заголовки не применяются

  • Переопределения заголовков действуют для каждой функции — проверьте, что вы установили их для правильной функции
  • Переопределения заменяют значения по умолчанию сервера — если вы установите Authorization, это переопределит аутентификацию сервера
  • Очистите переопределения, если хотите вернуться к настройкам сервера по умолчанию