Skip to content

Conversation

@edenreich
Copy link
Contributor

Summary

This PR adds VNC server support to the A2A example, enabling real-time viewing of the browser-agent's GUI during automation tasks. This is particularly useful for debugging and observing browser automation workflows.

Changes

  • New Dockerfile.vnc: Lightweight Alpine-based container running x11vnc to expose the browser's X11 display
  • Updated docker-compose.yaml:
    • Added BROWSER_HEADLESS: false to browser-agent service to enable headed mode
    • Created shared x11-socket volume for X11 display communication
    • Added browser-vnc service exposing port 5900 for VNC connections
  • Updated README.md: Added comprehensive documentation section on viewing the browser GUI, including:
    • Requirements (browser-agent v0.4.0+, Xvfb support)
    • Connection instructions for general VNC clients
    • macOS-specific instructions using built-in Screen Sharing

How It Works

  1. The browser-agent container runs Xvfb to create a virtual X11 display (:99)
  2. The X11 socket is shared via a Docker volume (x11-socket)
  3. The browser-vnc container connects to the shared display and exposes it via VNC on port 5900
  4. Users can connect using any VNC client (password: password)

Testing

  • Verified VNC connection on macOS using built-in Screen Sharing
  • Confirmed browser automation is visible in real-time
  • Linting passes (markdownlint)

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant