Об этом проекте

Divebell — это расширяемый набор инструментов, предназначенный для кодирующих агентов, чтобы отлаживать, понимать и проверять реальные веб-приложения. Он делает веб-страницу основной точкой входа для агента, объединяя контекст страницы, возможности браузера и существующие инструменты разработки и отладки команды. Это позволяет агентам воспроизводить, диагностировать и проверять проблемы непосредственно в живых веб-сценариях. Агенты могут вызывать существующие SDK, OpenAPIs, CLIs и диагностические возможности без необходимости вручную извлекать информацию со страницы или подключать инструменты. Divebell подготавливает переиспользуемый контекст браузера и предоставляет операции со страницей, диагностику браузера и проверку результатов как напрямую вызываемые возможности. Команды могут расширять его функциональность с помощью Extensions, чтобы интегрировать свои аккаунты, окружения, внутренние платформы и пользовательские рабочие процессы диагностики или проверки. Набор инструментов включает CLI для быстрой настройки и взаимодействия, что демонстрируется на примерах, таких как изучение инструментов WebMCP или визуализация таймингов ресурсов Module Federation. Divebell решает проблему, состоящую в том, что, хотя кодирующие агенты могут читать и изменять код, реальные проблемы веб-разработки часто возникают внутри самой страницы и требуют разрозненной информации о действиях пользователя, состоянии среды выполнения, диагностике браузера и существующих инструментах. Централизуя это, Divebell позволяет агентам действовать более автономно. Его основные возможности включают: 1. Web Context & Diagnostics: Предоставляет контекст страницы, операции (например, click, fill, eval), диагностику браузера (Console, Network, Screenshot, Coverage) и объявленные на странице инструменты WebMCP. По умолчанию включает экспериментальную поддержку WebMCP в Chrome для локальных запусков и управляет аутентификацией и состоянием браузера, используя либо Chrome-профиль пользователя ОС, либо Restore State в рамках проекта. 2. Extensions: механизм для связи веб-страниц с существующими возможностями разработки. Extensions могут идентифицировать приложения, окружения, вызывать SDK/OpenAPIs/CLIs и предоставлять рабочие процессы диагностики/проверки. Официальные расширения включают инструменты для анализа памяти, анализа использования кода, записи браузерных рабочих процессов, инспекции Module Federation и обнаружения Rspack HMR/React Refresh. 3. Runtime SDK: необязательный API на стороне страницы, который позволяет приложениям раскрывать агенту детализированные внутренние факты, когда стандартной информации браузера недостаточно. Он поддерживает регистрацию Targets, обновление Snapshots, запись Events, объявление Actions и запуск функций waitFor. Divebell использует agent-browser в качестве слоя выполнения браузера по умолчанию и распространяется по лицензии MIT.