Goku CLI
HTTP-нагрузочный тест на Rust с MCP-сервером: агент запускает прогон и получает перцентили задержек и разбивку статусов.
- 148 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Инструмент создает сетевую нагрузку на указанный адрес, а агент может запустить ее без вашего контроля.
- Флаг `--insecure` отключает проверку TLS, а токены портала хранятся в `~/.config/goku/credentials.json`.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/gokuОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Инструмент создает сетевую нагрузку на указанный адрес, а агент может запустить ее без вашего контроля.
- Флаг `--insecure` отключает проверку TLS, а токены портала хранятся в `~/.config/goku/credentials.json`.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Goku — инструмент нагрузочного тестирования HTTP-сервисов на Rust, вдохновленный Drill и Vegeta. Он задает число клиентов, длительность или число запросов, лимит запросов в секунду, многошаговые сценарии, шаблонные переменные в URL и теле, аутентификацию Bearer и Basic. Итог выводится текстом, JSON или CSV, в текстовом виде есть гистограмма задержек, а `compare` сравнивает два прогона. Отдельный MCP-сервер `goku-mcp` показывает агенту один инструмент `run_benchmark`: цель, число клиентов, запросы или длительность, заголовки, тело, HTTP/2, разгон, таймаут, лимит скорости. В ответ приходит полный отчет с перцентилями, пропускной способностью и разбивкой кодов ответа. Результаты можно отправлять в портал Observability Insight.
Для кого. Разработчикам и тестировщикам, которые проверяют производительность API и хотят запускать прогоны из диалога с агентом.
Подходит, если
- Перед релизом нужно измерить задержки p95 и p99 эндпоинта под нагрузкой.
- Агент гоняет сценарий из нескольких запросов с подстановкой `{{uuid}}` и `{{seq}}`.
- Два прогона до и после правки сравнивают командой `compare`.
- В CI отправляют итог прогона в портал с метками ветки и коммита.
Не подходит, если
- Нагрузка планируется на чужой сервис без разрешения владельца.
- Тест нужен для протокола, отличного от HTTP: в документации указаны HTTP/1.1 и HTTP/2.
- Нужны браузерные метрики интерфейса.
Пример запроса к агенту
Запусти нагрузочный тест на тестовом стенде: 50 клиентов, 30 секунд, HTTP/2, и назови задержки p95 и p99.Ограничения
Установочный скрипт `install.sh` скачивается из репозитория и выполняется через `sh`: при осторожности ставьте через Cargo или сначала прочитайте скрипт. Нагрузку направляйте только на сервисы, где вам разрешено тестирование, и не давайте агенту выбирать цель без вашего подтверждения. MCP-сервер ставится отдельно как `goku-mcp` и дает один инструмент. Параметр `insecure` отключает проверку TLS-сертификатов. Отправка результатов в Observability Insight требует входа командой `goku login` или токена `GOKU_OI_TOKEN` в CI; из URL перед отправкой убираются строки запроса и учетные данные.
Как отключить. Удалите MCP-сервер из настроек клиента и выполните `cargo uninstall goku-mcp goku-bench`. Сохраненный вход уберите командой `goku logout`, токен отзовите в настройках портала.
Частые вопросы
Что дает MCP-сервер?
Один инструмент `run_benchmark` с параметрами `target`, `clients`, `requests` или `duration_secs` и необязательными заголовками, телом, `http2`, `rps`.
Как сравнить два прогона?
Командой `goku compare <BASELINE> <CANDIDATE>` по двум JSON-файлам с результатами.
Как ограничить скорость запросов?
Флагом `--rps` в CLI или параметром `rps` в MCP-инструменте.
Как отправлять результаты из CI?
Задайте токен `GOKU_OI_TOKEN` и флаг `--report`, образец шага для GitHub Actions есть в README.
Можно ли принять самоподписанный сертификат?
Да, флаг `--insecure` или параметр `insecure` в MCP. Проверка TLS отключается, на боевых адресах это включать не нужно.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыMCP-сервер из решения AWS для нагрузочных тестов: агент читает сценарии и прогоны, запускает тесты на JMeter, K6 и Locust
MCP-сервер: агент шлет GET, POST, PUT, DELETE и PATCH на ваш REST API и получает код, заголовки и тело ответа
kogiQA MCP дает агенту браузер, который находит элементы страницы без селекторов, для отладки веб-приложений и e2e-тестов
MCP-сервер, который запускает несколько браузерных агентов и проверяет сайт на битые ссылки, ошибки интерфейса и доступность
MCP-сервер, агент и скиллы для сквозных UI-тестов: агент управляет компьютером через компьютерное зрение на облачных машинах
CLI отправляет ограниченную HTTP-нагрузку на ваш сервис и дает агенту показатели времени ответа и успешности запросов.
Коротко о README
В README собраны возможности, три способа установки CLI, интеграцию с порталом Observability Insight, вход и использование в CI. Отдельный раздел посвящен MCP-серверу и параметрам `run_benchmark`. В конце лежит справочник флагов и подкоманд.