# WebBrowser показывает приложение вам и агенту

WebBrowser — это живая поверхность Chromium внутри Canvas. Подключённый CodingAgent может наблюдать, взаимодействовать,
ждать, отлаживать и проверять ту же страницу, которую видите вы.

Откройте [демонстрацию WebBrowser в Kavor](https://agentkavor.com/ru/videos/web-browser-node) в другой вкладке во время
чтения.

## Browser как инструмент разработки

Для разработки веб-приложения CodingAgent недостаточно редактировать файлы. Ему нужно открыть приложение,
взаимодействовать с ним, ждать реальных состояний и исследовать происходящее в browser.

Connection CodingAgent + WebBrowser предоставляет широкую поверхность операций через Kavor:

- **наблюдать:** читать состояние страницы, получать accessibility snapshot и screenshots;
- **взаимодействовать:** нажимать, заполнять поля, вводить текст, выбирать, прокручивать, перетаскивать, загружать
  файлы и отвечать на диалоги;
- **синхронизировать:** ждать selector, текст, URL, состояние загрузки, отсутствие сетевой активности или заданное условие;
- **отлаживать:** читать сообщения console, сетевые requests и сохранённые тела responses;
- **проверять:** воспроизводить bug, выполнять E2E-flow и сохранять визуальное доказательство;
- **изолировать сценарии:** блокировать, продолжать или подменять сетевые ответы в контролируемом тесте;
- **управлять страницами:** открывать, выбирать и закрывать вкладки, отслеживать загрузки и решать задачи
  аутентификации.

Цель не в том, чтобы спрятать browser за автоматизацией, а в том, чтобы состояние и действия оставались проверяемыми.

## Практический цикл для веб-приложения

Начните с WebBrowser и CodingAgent в одном компоненте. Если приложение запущено локально, подключите и Terminal,
который запускает сервер.

Попросите агента сначала наблюдать страницу, затем воспроизвести сбойный путь, собрать доказательства из console,
сети или screenshot, изменить код в заданной области и снова проверить весь путь. Результат и оставшиеся риски
запишите в [Sticky Note](./sticky-note.md).

Начальный prompt:

> Открой подключённое приложение в WebBrowser. Сначала наблюдай страницу и воспроизведи сценарий без изменения кода. Затем опиши вероятную причину, предложи минимальное изменение и проверь весь путь с визуальными доказательствами и данными console.

## Тот же browser для человека

WebBrowser можно использовать и как обычную страницу Workspace: открыть документацию, посмотреть видео или оставить
справочную страницу, пока агенты работают.

YouTube и другие обычные страницы — естественный сценарий. Streaming-сервисы вроде Netflix могут требовать
аутентификацию, DRM, разрешения или особые условия системы, поэтому Kavor не гарантирует воспроизведение конкретного
сервиса.

## Общая поверхность, а не невидимый browser

Агент и человек используют одну живую страницу. Вы видите действия и можете вмешаться; у агента нет скрытого приватного
окна; постоянные вкладки принадлежат отдельному browser profile Kavor, общему для его WebBrowsers; расширения, история
и cookies внешнего Chrome автоматически не используются.

Содержимое страницы считается недоверенным. WebBrowser также не является удалённым browser-сервисом или общим
разрешением на работу с filesystem машины.

## Ограничения и осторожность

CAPTCHA, passkeys, разрешения сайта, сертификаты и prompts аутентификации могут требовать вашего участия. Ссылки
snapshot устаревают после навигации или изменения DOM. Сетевые правила временны и должны быть очищены после теста.
Профиль разработки принимает самоподписанные, просроченные сертификаты и сертификаты частных центров, что снижает
защиту от враждебной сети. Будьте осторожны перед входом в чувствительные сервисы.

Snapshot может пропускать cross-origin frames, а истории console и сети ограничены. Агент должен сообщать наблюдаемые
доказательства, а не выдумывать то, что не смог проверить.

При смене Workspace в том же окне Kavor сохраняет отображаемую страницу. Подключённый CodingAgent может продолжать
работать с ней, пока виден другой Workspace. Закрытие вкладки, удаление Node или завершение сессии прекращает эту
непрерывность.

## Connection и Guardrail

Прямая пара CodingAgent + WebBrowser помещает browser в достижимый компонент агента. Через действительные пути граф
может включать Specification, Files, Terminal, Sticky Note и другие CodingAgents; визуальная близость или упоминание
в сообщении доступ не создают.

У WebBrowser сейчас нет собственного Guardrail. Ограничения других ресурсов графа сохраняются: read-only File остаётся
read-only, Terminal сохраняет свои средства управления, а Specification следует lifecycle.

## Что дальше

- Изучите контракт CodingAgent + WebBrowser в [матрице Connections](./connections.md).
- Прочитайте, [как CodingAgents видят и строят Canvas](./coding-agents-and-canvas.md).
- Объедините browser, код и доказательства в [первом цикле](./first-loop.md).
- Определите ожидаемое поведение в [Specification](./specification.md) до проверки приложения.
