Skip to main content
Your browser driver runs on your machine or in CI. Firedrill retains the evidence it actually captures. A browser workflow can explore or demonstrate an application without checks, or add checks and a rubric when assessment is useful. The browser is not your coding-agent operator’s desktop. A report does not launch or remotely control an agent on your laptop.

Install the browser helper

With Node.js 22 or later and a selected Firedrill project:
The helper is exported from @firedrill-run/sdk/browser. It uses Playwright in your own runner.

Run a complete browser example

Save this as browser-simulation.mjs:
This serves a tiny local application and drives an actual Chromium page. It is a deterministic browser-integration example, not an AI-agent evaluation. Replace the local application and browser actions with your actual workflow before drawing conclusions about your application. The helper captures a final PNG and browser events, and uploads through the callback’s authenticated attachment sink. Open the returned report to inspect the real output and available artifacts.

Choose capture deliberately

  • A final screenshot is enabled by default within this helper; set screenshot to false to disable it.
  • Set trace to true to retain a Playwright trace containing potentially sensitive DOM/network data.
  • Set video to true to retain actual silent WebM recordings after the context closes.
  • Use the callback’s screenshot function for additional explicitly named viewport captures.
These options apply only when your runner calls the helper. API-only and ordinary command runs do not automatically produce images. Recordings are not synthesized from screenshots. Missing, incomplete, oversized, or unconfirmed captures stay visible as gaps.

Understand the boundary

Each invocation creates a fresh non-persistent browser context without imported cookies or storage. This separates browser sessions; it does not reset your application database, external jobs, or model memory. The origin list guards helper navigation and intercepted requests. It is not enforced network isolation or a hostile-code sandbox. Authorize the target application and its dependencies yourself. Native callbacks retain ordinary access to your customer process. You may supply a caller-owned Playwright browser. The helper closes its fresh context but leaves that browser open. Otherwise it launches and closes its own Chromium. Cancellation and context closure do not prove arbitrary application code stopped.

Inspect and recover

Use Results and evidence for retained artifacts and capture guidance for upload state and privacy. A local capture is not service-retained until upload is confirmed. If a capture upload is interrupted, keep its original private files and SDK journal. Resume the original operation; do not rerun the target just to recreate an image. Preserve an unconfirmed-stop error rather than converting it into successful execution.