About this project

Divebell is an extensible toolkit designed for coding agents to debug, understand, and verify real web applications. It makes the web page the agent's primary point of entry, integrating page context, browser capabilities, and a team's existing development and debugging tools. This allows agents to reproduce, diagnose, and verify issues directly within live web scenarios. Agents can call existing SDKs, OpenAPIs, CLIs, and diagnostic capabilities without requiring manual extraction of page information or tool connection. Divebell prepares reusable browser context and exposes page operations, browser diagnostics, and result verification as directly callable capabilities. Teams can extend its functionality using Extensions to integrate their own accounts, environments, internal platforms, and custom diagnostic or verification workflows. The toolkit includes a CLI for quick setup and interaction, demonstrated by examples like exploring WebMCP tools or visualizing Module Federation resource timing. Divebell addresses the challenge that while coding agents can read and modify code, real web development issues often occur within the page itself, requiring scattered information from user actions, runtime state, browser diagnostics, and existing tools. By centralizing this, Divebell empowers agents to act more autonomously. Its core capabilities include: 1. **Web Context & Diagnostics**: Provides page context, operations (e.g., `click`, `fill`, `eval`), browser diagnostics (Console, Network, Screenshot, Coverage), and page-declared WebMCP tools. It enables Chrome's experimental WebMCP support by default for local launches and manages browser authentication and state using either the OS user's Chrome Profile or project-scoped Restore State. 2. **Extensions**: A mechanism to connect web pages with existing development capabilities. Extensions can identify applications, environments, call SDKs/OpenAPIs/CLIs, and expose diagnostic/verification workflows. Official extensions include tools for memory analysis, code usage analysis, recording browser workflows, Module Federation inspection, and Rspack HMR/React Refresh detection. 3. **Runtime SDK**: An optional page-side API that allows applications to expose granular internal facts to the agent when standard browser information is insufficient. It supports registering Targets, updating Snapshots, recording Events, declaring Actions, and running `waitFor` functions. Divebell utilizes `agent-browser` as its default browser execution layer and is MIT licensed.