Dynamo: Give Your Coding Agents Eyes and Your PR Reviewers Proof
Description and use
Dynamo provides visual observability for autonomous agents and browser automation, eliminating corrupted recordings and excessive token usage.
Problem
When an AI coding agent or browser-use sandbox fails in CI, the agent runs headless without visual feedback, producing large stack traces and a single static PNG that does not show which action triggered the regression.
Outcome
Dynamo eliminates silent failures, corrupt recordings, and token waste, enabling reliable visual debugging for autonomous agents and browser automation.
Workflow
- Enter VisualHarness context to start Xvfb and ffmpeg
- Run agent or browser inside the context
- Log actions with timestamps
- Take mid-run screenshots if needed
- Export artifacts (video, GIF, VLM keyframes) on exit, even if exception occurs
Evidence
When an AI coding agent or browser-use sandbox fails in CI at 2:00 AM, everyone flies blind.
Standard ffmpeg holds the MP4 container index in memory until a clean shutdown. When an unhandled exception or CI job timeout triggers SIGKILL, the header is never written: DIY script, agent killed mid-run : moov atom not found (0 bytes, 0 frames — unrecoverable)
Naive time-based sampling captures 1 frame per wall-clock second regardless of screen activity. In our benchmark, 19 of 50 consecutive frames were pixel-identical, burning 56,100 tokens on static screens while waiting on network I/O.
Dynamo is a headless, zero-dependency Python visual and video harness for coding agents, Playwright browser automation, and computer-use sandboxes.
- Record date: 2026-10-16T06:41:16.807Z