TunnelHunt

От голосовой правки заказчика до коммита: авто-фикс вёрстки с Review Mode и Claude Code / Cursor

6 мин чтения

Пошаговый конвейер для разработчиков и студий: как принимать визуальные пины и голосовые заметки от клиента на localhost и автоматически исправлять React/Vue компоненты через MCP-сервер TunnelHunt.

Автоматическое исправление правок клиента через TunnelHunt Review Mode и MCP

В классической заказной разработке согласование вёрстки и UI-деталей занимает до 30% времени спринта. Даже когда код пишется за минуты с помощью Cursor или Claude Code, этап приёмки работ заказчиком или арт-директором остаётся ручным и хаотичным:

  1. Разработчик деплоит ветку на staging или открывает туннель.
  2. Заказчик заходит со смартфона, делает скриншот, рисует поверх него стрелочку в мессенджере и записывает голосовое сообщение: «Вот тут на карточке тарифа кнопка сливается с фоном, и отступ сверху великоват».
  3. Разработчик слушает аудио, пытается угадать страницу, разрешение экрана, находит нужный React/Vue-компонент, переписывает сообщение клиента в промпт для ИИ-агента и вручную отписывается в чат.

С выходом Review Mode и обновлённого MCP-сервера @tunnelhunt/mcp этот конвейер замыкается в единый автоматизированный цикл: от клика клиента на экране телефона до готового изменения в коде без ручного копирования контекста.


Архитектура замкнутого конвейера правок

Процесс объединяет три уровня инфраструктуры TunnelHunt:

┌─────────────────────────────────────────────────────────────────┐
│ 1. КЛИЕНТ (iPhone / Desktop браузер)                            │
│    Открывает https://demo.tunnelhunt.ru?__review=1              │
│    Ставит пин на элемент -> пишет текст или голос -> Отправить  │
└───────────────────────────────┬─────────────────────────────────┘
                                │ POST /__tunnelhunt/reviews
                                ▼
┌─────────────────────────────────────────────────────────────────┐
│ 2. TUNNELHUNT EDGE & DASHBOARD                                  │
│    • Сохраняет скриншот вьюпорта с координатой пина             │
│    • Фиксирует селектор, роут, viewport и имя компонента        │
│    • Транслирует лог в открытый SSH-терминал разработчика       │
└───────────────────────────────┬─────────────────────────────────┘
                                │ MCP Protocol (@tunnelhunt/mcp)
                                ▼
┌─────────────────────────────────────────────────────────────────┐
│ 3. AI-АГЕНТ (Cursor / Claude Code / Windsurf)                   │
│    • Вызывает list_reviews(subdomain, status="open")            │
│    • Находит компонент в кодовой базе и правит вёрстку/логику   │
│    • Закрывает тикет через resolve_review(subdomain, reviewId)  │
└─────────────────────────────────────────────────────────────────┘

Никаких промежуточных таблиц в Notion, потерянных скриншотов в Telegram и вопросов «на какой это странице?».


Шаг 1. Поднимаем туннель с активным режимом ревью

Запустите ваш локальный dev-сервер (например, Next.js или Vite на порту 3000) и откройте туннель с флагом --review (или коротким -r):

ssh -p 2222 -R 80:localhost:3000 tunnelhunt.ru --review

Если у вас подключён тариф Pro и зарезервирован постоянный поддомен (например, agency-stage), укажите его при подключении:

ssh -p 2222 -R agency-stage:80:localhost:3000 tunnelhunt.ru --review

В терминале появится подтверждение:

  ▲ Tunnelhunt Online
  --------------------------------------------------
  Your tunnel has been successfully established:
  https://agency-stage.tunnelhunt.ru -> http://localhost:3000
  --------------------------------------------------
  Security & Features:
    Basic Auth:   Disabled
    IP Whitelist: Disabled (Public access)
    Review Mode:  Enabled (Visual & Voice Feedback active)
    Feedback URL: https://agency-stage.tunnelhunt.ru?__review=1
  --------------------------------------------------

Отправьте ссылку заказчику, дизайнеру или тестировщику.


Шаг 2. Что происходит на стороне заказчика

Когда клиент открывает ссылку, Edge-прокси TunnelHunt внедряет легковесный виджет обратной связи, изолированный внутри Shadow DOM. Это гарантирует, что:

  • Стили вашего сайта (Tailwind, CSS Modules, Bootstrap) никак не конфликтуют с интерфейсом тулбара.
  • Строгие политики безопасности (Content-Security-Policy) и блокировщики рекламы не блокируют отправку фидбека, так как запросы идут на служебный роут /__tunnelhunt/reviews того же самого домена.

Когда заказчик выбирает режим «Добавить правку» и нажимает на любой блок страницы, виджет за доли секунды собирает технический слепок:

  1. Имя компонента фреймворка: парсер обходит дерево React Fiber (_reactFiber$...) или Vue VNode (__vueParentComponent) и извлекает точное название компонента в исходном коде — например, <CheckoutButton> или <PricingSection>.
  2. Точный DOM-путь: уникальный CSS-селектор элемента.
  3. Скриншот реального вьюпорта: снимается честный рендер текущей области просмотра с сохранением пропорций (aspect ratio), скролла и нанесённым поверх маркером клика.
  4. Аудиозапись или комментарий: если клиенту неудобно печатать с телефона, он записывает голосовую заметку.

В этот же миг в вашем SSH-терминале появляется строка:

[16:05:19] [REVIEW #a91d4f] /checkout (<OrderSummary>) "Сделай итоговую сумму крупнее и выдели зелёным" by Марина

Шаг 3. Подключаем MCP-сервер к Cursor или Claude Code

Чтобы ваш AI-ассистент мог самостоятельно забирать замечания из TunnelHunt, добавьте официальный пакет @tunnelhunt/mcp в конфигурацию вашего редактора.

Настройка в Cursor (.cursor/mcp.json) или Claude Desktop:

{
  "mcpServers": {
    "tunnelhunt": {
      "command": "npx",
      "args": ["-y", "@tunnelhunt/mcp"],
      "env": {
        "TUNNELHUNT_API_KEY": "th_live_ваш_ключ_из_дашборда"
      }
    }
  }
}

Настройка в Claude Code (CLI):

claude mcp add tunnelhunt -- npx -y @tunnelhunt/mcp

Агенту становятся доступны два специализированных инструмента для работы с фидбеком:

  • list_reviews — получение списка открытых или решённых замечаний по конкретному поддомену (или по всем вашим туннелям) вместе с путями страниц, именами компонентов, размерами экрана и комментариями.
  • resolve_review — программное закрытие замечания после внесения исправлений в код.

Шаг 4. Автоматическое исправление по одному промпту

Когда клиент закончил смотреть сайт и оставил 5–10 пинов на разных страницах, вам не нужно открывать каждую карточку вручную. Достаточно написать в чат Cursor Composer или Claude Code:

«Забери все открытые ревью для поддомена agency-stage через TunnelHunt MCP, внеси правки в соответствующие компоненты и закрой выполненные задачи».

Как действует ИИ-агент:

  1. Запрос списка задач: агент вызывает list_reviews({ subdomain: "agency-stage", status: "open" }) и получает структурированный JSON:
    [
      {
        "id": "a91d4f",
        "pagePath": "/checkout",
        "componentName": "OrderSummary",
        "selector": "aside.summary > div.total-row > span.amount",
        "viewport": "390x844",
        "comment": "Сделай итоговую сумму крупнее и выдели зелёным",
        "author": "Марина"
      }
    ]
  2. Точечный поиск в коде: зная pagePath: "/checkout" и componentName: "OrderSummary", агент не тратит токены на сканирование всего репозитория, а сразу открывает src/components/checkout/OrderSummary.tsx.
  3. Учёт мобильного контекста: видя viewport: "390x844" (экран iPhone), агент понимает, что нужно проверить мобильные брейкпоинты Tailwind (text-2xl sm:text-3xl text-emerald-400 font-bold).
  4. Правка и закрытие: после сохранения файла агент вызывает resolve_review({ subdomain: "agency-stage", reviewId: "a91d4f" }).

В веб-панели управления app.tunnelhunt.ru/reviews карточка автоматически переходит в статус «Решено», а клиент на своём экране сразу видит обновлённый через HMR интерфейс.


Когда использовать веб-дашборд /reviews

Хотя текстовые комментарии агент разбирает полностью автономно, веб-раздел «Правки и фидбек» в дашборде незаменим в двух сценариях:

  • Прослушивание голосовых заметок: если заказчик записал длинное аудио с обсуждением бизнес-логики, вы можете прослушать его во встроенном плеере прямо в карточке ревью.
  • Визуальный контроль сложных багов вёрстки: в модальном окне предпросмотра скриншота можно открыть полноразмерное изображение во вкладке или скачать его в 1 клик, чтобы передать скриншот мультимодальной модели (Claude 3.7/4 Sonnet или GPT-4o) для визуального сравнения.

Резюме: экономия времени на каждом цикле приёмки

Этап работы Классический процесс (чат + скриншоты) Конвейер TunnelHunt (Review Mode + MCP)
Сбор контекста от клиента 5–10 минут на выяснение URL, браузера и блока 0 сек (авто-захват роута, селектора и viewport)
Поиск компонента в IDE Ручной поиск по тексту или DevTools Автоматически (React Fiber / Vue VNode в JSON)
Постановка задачи для ИИ Ручной пересказ правок из чата в промпт Один вызов list_reviews по MCP
Отчёт о выполнении Ручная переписка по каждому пункту Авто-закрытие через resolve_review

Попробуйте запустить этот пайплайн на текущем проекте: откройте туннель с флагом --review, поставьте пару тестовых пинов в браузере и поручите вашему AI-агенту закрыть их через MCP.

Запустите авто-исправление ревью через MCP

Подключите @tunnelhunt/mcp в Cursor или Claude Code, откройте туннель с флагом --review и проверьте цикл list_reviews -> правка компонента -> resolve_review.

Первый запуск: добавьте публичный SSH-ключ, запустите локальное приложение и команду SSH из статьи, затем откройте выданный HTTPS-адрес. Если ответа нет, пройдите проверку localhost и туннеля.

Free: 1 ГБ трафика в месяц, 1 туннель, сессия до 4 часов. Pro: 199 ₽/месяц, 50 ГБ, до 5 туннелей и резервирование поддомена. Компьютер, приложение и SSH-соединение должны работать; постоянный адрес сохраняет имя, а не доступность выключенного сервера.

Часто задаваемые вопросы

Как ИИ-агент узнаёт, какой именно файл в проекте нужно исправить?

Виджет Review Mode при клике пользователя по элементу анализирует дерево DOM, извлекает точный CSS-селектор и считывает имя компонента из внутренних структур React Fiber или Vue VNode (например, <PricingCard> или <HeroHeader>). Эти метаданные передаются агенту через MCP-инструмент list_reviews.

Работает ли запись голосовых заметок на iPhone в браузере Safari?

Да. Виджет автоматически определяет возможности браузера и выбирает поддерживаемый аудиокодек: audio/mp4 (AAC) для iOS Safari и audio/webm (Opus) для Chrome, Edge и Android.

Нужно ли устанавливать npm-пакеты в проект для работы Review Mode?

Нет. Инъекция изолированного Shadow DOM виджета происходит на лету на стороне прокси-сервера TunnelHunt при запуске туннеля с флагом --review или открытии ссылки с параметром ?__review=1.

Что происходит после того, как Claude Code или Cursor внёс правку в код?

Срабатывает штатный Hot Module Replacement (HMR) вашего сборщика (Vite, Next.js), страница у клиента обновляется, а агент вызывает инструмент resolve_review, переводя замечание в статус решённого.

Готовы запустить свой первый туннель?

Начните использовать TunnelHunt бесплатно уже сегодня и откройте доступ к локальному серверу всего одной командой.

Зарегистрироваться бесплатно →

По теме

Визуальный фидбек и сбор правок от клиентов в TunnelHunt

Сбор правок от клиентов на localhost: визуальный фидбек, голосовые заметки и авто-фикс через ИИ

6 ноября 2026 г.

Как настроить Review Mode в TunnelHunt: показ сайта заказчику без деплоя, интерактивные пины на элементах, запись голоса в Safari и Chrome, лог в терминале и передача задач в Cursor/Claude Code через MCP.

Читать далее →
Tunnelhunt Skills: проброс туннелей и вебхуков через AI-агентов

Tunnelhunt Skills: как научить AI-агентов управлять туннелями через npx skills

4 ноября 2026 г.

Официальный агентный навык (Agent Skill) для Tunnelhunt: установка через npx skills в Claude Code, Cursor, Windsurf и Cline. Как агенты самостоятельно пробрасывают localhost, настраивают вебхуки и закрывают туннели без лишнего софта.

Читать далее →
MCP-сервер TunnelHunt: создать туннель и проверить локальный API из AI-клиента

MCP-сервер TunnelHunt: проверенный запуск, HTTP-запрос и остановка

16 июня 2026 г.

Практический тест @tunnelhunt/mcp 1.0.1: настройка SSH, start_tunnel, ответ локального API, get_tunnel_logs и stop_tunnel. Ограничения и ошибки подключения.

Читать далее →
Полный стек для Vibe Coding в 2026 году с TunnelHunt

Полный стек для Vibe Coding в 2026 году: AI DNS, Agent Skills и Review Mode без VPN

6 ноября 2026 г.

Как собрать идеальное рабочее окружение для AI-разработки в России: прямой доступ к Cursor, Claude Code и Google Antigravity без VPN, авто-туннели через npx skills и сбор правок с авто-фиксом по MCP.

Читать далее →