À propos du projet

Divebell est une boîte à outils extensible conçue pour les agents de codage afin de déboguer, comprendre et vérifier de vraies applications web. Elle fait de la page web le point d'entrée principal de l'agent, en intégrant le contexte de la page, les capacités du navigateur et les outils de développement et de débogage existants d'une équipe. Cela permet aux agents de reproduire, diagnostiquer et vérifier les problèmes directement dans des scénarios web en direct. Les agents peuvent appeler les SDK, OpenAPIs, CLIs et capacités de diagnostic existants sans nécessiter d'extraction manuelle des informations de la page ou de connexion des outils. Divebell prépare un contexte de navigateur réutilisable et expose les opérations de page, les diagnostics de navigateur et la vérification des résultats en tant que capacités directement appelables. Les équipes peuvent étendre ses fonctionnalités à l'aide d'Extensions pour intégrer leurs propres comptes, environnements, plateformes internes et workflows de diagnostic ou de vérification personnalisés. La boîte à outils comprend une CLI pour une configuration et une interaction rapides, démontrée par des exemples comme l'exploration des outils WebMCP ou la visualisation du timing des ressources de Module Federation. Divebell répond au défi selon lequel, bien que les agents de codage puissent lire et modifier le code, les problèmes réels de développement web se produisent souvent au sein de la page elle-même, nécessitant des informations dispersées provenant des actions de l'utilisateur, de l'état d'exécution, des diagnostics du navigateur et des outils existants. En centralisant cela, Divebell permet aux agents d'agir de manière plus autonome. Ses capacités principales incluent : 1. **Contexte et diagnostics web** : Fournit le contexte de la page, les opérations (par exemple, `click`, `fill`, `eval`), les diagnostics du navigateur (Console, Réseau, Capture d'écran, Couverture) et les outils WebMCP déclarés par la page. Il active la prise en charge expérimentale de WebMCP de Chrome par défaut pour les lancements locaux et gère l'authentification et l'état du navigateur en utilisant soit le profil Chrome de l'utilisateur du système d'exploitation, soit l'état de restauration limité au projet. 2. **Extensions** : Un mécanisme pour connecter les pages web aux capacités de développement existantes. Les Extensions peuvent identifier des applications, des environnements, appeler des SDK/OpenAPIs/CLIs et exposer des workflows de diagnostic/vérification. Les extensions officielles incluent des outils pour l'analyse de la mémoire, l'analyse de l'utilisation du code, l'enregistrement des workflows du navigateur, l'inspection de Module Federation et la détection Rspack HMR/React Refresh. 3. **SDK d'exécution** : Une API optionnelle côté page qui permet aux applications d'exposer des faits internes granulaires à l'agent lorsque les informations standard du navigateur sont insuffisantes. Il prend en charge l'enregistrement de Targets, la mise à jour de Snapshots, l'enregistrement d'Events, la déclaration d'Actions et l'exécution de fonctions `waitFor`. Divebell utilise `agent-browser` comme couche d'exécution de navigateur par défaut et est sous licence MIT.