Автоматизация реверс-инжиниринга веб-интерфейсов
Разработчики часто сталкиваются с необходимостью интеграции с сайтами, у которых нет публичного API. Традиционный метод — ручное открытие DevTools, копирование cURL-запросов и их «склеивание» в код — трудоемок и не масштабируем. Проект reverse-api-engineer (RAE) решает эту проблему, автоматизируя процесс: инструмент просматривает целевой сайт, фиксирует сетевой трафик в формате HAR и генерирует рабочий клиентский код.
Инструмент поддерживает два основных режима работы:
- Agent mode (по умолчанию): AI-агент самостоятельно управляет браузером (через Playwright MCP, Chrome DevTools или Vercel agent-browser CLI) для навигации по сайту и сбора данных. Не требует установки дополнительных Python-пакетов.
- Manual mode: Пользователь вручную управляет локальным браузером Playwright, а AI анализирует перехваченный трафик. Требует установки опционального пакета
[manual]и драйвера Chromium.
Гибкая архитектура и поддержка моделей
RAE не привязан к одному провайдеру LLM. По умолчанию используется Claude Sonnet 4.6, но система поддерживает интеграцию с OpenCode, Cursor, GitHub Copilot и локальными моделями через Ollama. Это позволяет использовать как платные облачные API, так и бесплатные локальные решения (например, big-pickle через OpenCode).
Инструмент генерирует код на 9 языках программирования, обеспечивая типизацию и готовность к использованию «из коробки».
| Параметр | Значение / Поддержка |
|---|---|
| Языки генерации | Python, JavaScript, TypeScript, Go, Java, C#, PHP, Ruby, C |
| Основная модель (по умолчанию) | Claude Sonnet 4.6 |
| Альтернативные модели | Opus 4.6, Haiku 4.5, GPT-5, Composer 2.5, Big-Pickle (Ollama) |
| Провайдеры агентов | Auto (Playwright MCP), Chrome MCP, Vercel agent-browser |
| Требования к среде | Python 3.11+, Node.js 20.19+ (для Chrome MCP) |
Практическое применение и установка
Установка осуществляется через uv или pip. Для базового использования достаточно одной команды:
uv tool install reverse-api-engineer
Пример запуска: инструмент может взять URL карьерного сайта Apple и команду "fetch all Apple jobs". В результате в папке ./scripts/apple_jobs_api/ появятся файлы api_client.py, README.md и пример использования. Пользователь может переключаться между режимами (Manual/Agent/Engineer/Collector) прямо в CLI с помощью Shift+Tab.
Для разработчиков и энтузиастов
Инструмент предоставляет богатый CLI с поддержкой скриптования (вывод в JSON для парсинга через jq), историей запусков с указанием стоимости и токенов, а также возможностью реверс-инжиниринга предыдущих сессий. Лицензия MIT делает проект доступным для коммерческого использования, однако авторы предупреждают о возможных блокировках со стороны сайтов с агрессивной защитой от ботов.
Источник: Github ↗
