Raised: $0
0% of monthly goal Help us cross the finish line!
Goal: $12,000
Raised: $0 Goal: $12,000
0% of monthly goal Help us cross the finish line!
Sponsor DDEV

If you find this add-on useful, please star it on GitHub — stars show appreciation and help maintainers know their work matters.

ddev-agent-browser-display

add-on registry

A persistent virtual display inside the DDEV web container, shared over VNC and viewable in a browser tab. Built for agent-browser: run it with --headed and watch, live, what your coding agent does in the browser.

Install

ddev add-on get aivazashvilitekla/ddev-agent-browser-display
ddev restart

Then open https://<project>.ddev.site:6080/vnc.html - <project> is your DDEV project name, so for a project called mysite that is https://mysite.ddev.site:6080/vnc.html - and click Connect. An empty grey desktop means the display is live.

Use with agent-browser

Inside the web container (ddev ssh, or prefix with ddev exec):

agent-browser open https://<project>.ddev.site --headed

Headless stays the default. --headed (or AGENT_BROWSER_HEADED=true) puts Chrome on the display; with DISPLAY set, agent-browser uses this display instead of starting a private one.

Three things to know inside a DDEV web container:

What it adds

Native VNC viewer instead of noVNC

The raw VNC port is not published by default (a fixed host port collides across projects, and x11vnc runs with no password). To use macOS Screen Sharing, add .ddev/docker-compose.vnc.yaml:

services:
  web:
    ports:
      - "127.0.0.1:5900:5900"

then ddev restart and open vnc://127.0.0.1:5900. The 127.0.0.1: prefix keeps the port off your other network interfaces; without it Docker binds 0.0.0.0 and anyone on your network could drive the display.

Security note

The X display has no authentication and x11vnc runs with -nopw. Inside the container that is fine: anything running in the web container can already do anything to your site. Two things are reachable from outside it:

Also note DISPLAY=:99 is set for every process in the web container. If the Xvfb daemon is not running (check ddev exec supervisorctl status 'webextradaemons:*'), any X client, agent-browser included, fails with “cannot open display :99” rather than starting a private display.

Remove

ddev add-on remove agent-browser-display
ddev restart

If you find this add-on useful, please star it on GitHub — stars show appreciation and help maintainers know their work matters.