Skip to content

Repository files navigation

Divebell

Divebell

Go below the surface.
An extensible toolkit for coding agents to debug, understand, and verify real web applications.


Agent entry point: Divebell Skill

Divebell

Divebell is an extensible toolkit for coding agents to debug, understand, and verify real web applications.

Divebell makes the web page the coding agent's point of entry. It connects page context, browser capabilities, and the team's existing development and debugging tools so the agent can reproduce, diagnose, and verify issues directly in real web scenarios.

Starting from the current page, an agent can call existing SDKs, OpenAPIs, CLIs, and diagnostic capabilities without requiring a person to extract page information and connect the tools first.

The coding agent reads and modifies code. Divebell prepares reusable browser context and exposes page operations, browser diagnostics, and result verification as directly callable capabilities. Teams can use Extensions to connect their own accounts, environments, internal platforms, focused diagnostics, and verification workflows.


Quick Start

Install the Divebell CLI globally once:

npm install --global @divebell/cli
divebell setup
divebell --help

divebell setup checks the environment and repairs browser startup only when needed. Its browser probe runs in a temporary session and cleans that session up when setup finishes.

In a coding-agent sandbox, Divebell automatically moves its own files and the bundled browser's files to private temporary directories when the normal user directories are read-only. Set DIVEBELL_HOME and AGENT_BROWSER_HOME only when those files need specific durable writable locations.

Install the Divebell Skill in your agent.

Then ask:

Use divebell to visit https://module-federation.io/playground/index.html,
replace the manifest with
https://unpkg.com/@divebell/mf-playground-remote@0.1.0/dist/mf/mf-manifest.json,
and run the preview. If the Playground reports an error, use the divebell CLI
to analyze and resolve it.

Why Divebell

Coding agents can already read and modify code, and they can call many development tools. But real web development issues usually happen in the page itself: users see a page, while diagnosing the problem requires its state, runtime environment, business context, and the team's existing diagnostic capabilities.

That information and those capabilities are usually scattered across:

  • User actions and runtime state on the page
  • Browser diagnostics such as Console and Network
  • Existing SDKs, OpenAPIs, CLIs, and internal platforms

An agent often still needs a person to explain what the current page represents and which capability to call next.

Divebell makes the web page the agent's point of entry, connecting page context, browser diagnostics, and the team's existing tools so the agent can reproduce, diagnose, and verify issues directly in the real scenario.

Teams can use Extensions to bring existing capabilities into the current page scenario without rebuilding a separate tool system for agents. Once a workflow works, other agents and CI can keep using it as a durable team asset.

Core Capabilities

Module Responsibility Entry point Page integration required
Web Context & Diagnostics Make a real web page the agent's point of entry and provide page context, browser diagnostics, and same-scenario verification Divebell CLI No
Extensions Connect the web page with the team's existing development and debugging capabilities CLI commands, Extension API No
Runtime SDK Expose application-internal facts that cannot be observed from the page without polluting the runtime environment @divebell/core, framework plugins Yes

Web Context & Diagnostics

Divebell makes a real web page the agent's point of entry, providing page context, page operations, browser diagnostics, and same-scenario verification after a code change.

These capabilities include the current page and user journey, page operations such as click, fill, and eval, and diagnostic evidence from Console, Network, Screenshot, and Coverage. Agents can call them directly through the Divebell CLI without Runtime SDK.

CLI Reference

For protected pages, Divebell can reuse an existing Chrome profile, browser state, or encrypted credentials explicitly supplied by the user, and work within the account's existing permissions.

Browser Authentication and State

When a script must manage the complete browser flow, see Automating with Divebell CLI.

Extensions

Extensions are the mechanism for connecting a web page with the team's existing development capabilities.

An Extension can identify applications, environments, and resources from the current page, call existing SDKs, OpenAPIs, CLIs, or internal platforms, and expose diagnostic and verification workflows that previously required a person to connect them.

Using Extensions · CLI Extension Development · Extension API Reference

Official Extensions

Focused CLI capabilities are published as optional packages and installed only when needed.

CLI Extensions

These packages are installed into Divebell and add top-level commands:

Package Entry Purpose Guide
@divebell/extension-memory divebell memory Repeat a real page journey and check memory, DOM-node, and listener growth. Memory Analysis
@divebell/extension-code-usage divebell code-usage Map recorded code execution back to chunks, source files, and dependencies. Code-Usage Analysis
@divebell/extension-imitate divebell record Record a browser walkthrough and generate an executable, verified JavaScript replay. Record Browser Workflows
@divebell/extension-mf divebell mf Inspect Module Federation instances, remotes, shared dependencies, Bridge operations, and loading traces. MF Extension

Install a CLI Extension with:

divebell extensions add @divebell/extension-memory

Installed Extension commands appear in divebell --help and run through the same CLI, browser sessions, and login state as the built-in commands.

Runtime SDK

Runtime SDK is an optional page-side API. When the DOM, Console, Network, and other browser information cannot represent application state reliably, Runtime SDK can expose more granular application-internal facts to the agent.

It supports registering Targets, updating Snapshots, recording Events, declaring Actions, and running waitFor. Divebell works without Runtime SDK, and regular pages do not need to integrate it.

Runtime SDK API

Contribution

Please read the contributing guide and let's build Divebell together.

Credits

Divebell uses agent-browser as its default browser execution layer. Thanks to the agent-browser authors and contributors.

Extensions execute local code. Install and load only trusted content. Login-state files contain sensitive data and should remain in trusted environments.

License

Divebell is MIT licensed.

Releases

Packages

Contributors

Languages