Run a Linux desktop VDI that can be accessed through a browser. For example
docker run -it --rm -p127.0.0.1:8888:8888 ghcr.io/manics/jupyter-desktop-mate jupyter-lab --IdentityProvider.token=""This will run a pre-built image from https://github.com/manics/jupyter-desktop-mate/ that provides a noVNC web interface to a Ubuntu MATE Desktop. Jupyter's token authentication is disabled for convenience but could be easily enabled.
Launch an AI tool that includes a browser integration, for instance Google Antigravity. Ensure that browser support is enabled.
Give this prompt to Antigravity:
http://localhost:8888/desktop/ is a Ubuntu MATE desktop running in a Docker container with a noVNC server.
Use the Antigravity browser to open this page, and check a desktop is visible. Launch a terminal by clicking on the terminal icon on the desktop. Write
echo Hello Worldin the terminal and press enter. Check thatHello Worldis printed in the terminal.
and set it going!
Example recording:
Antigravity can access the Document object model, but the desktop appears as a HTML Canvas element so it can't directly manipulate anything on the desktop.
Instead it takes multiple screenshots, interprets them, and works out where to click or enter key presses.
Note that although the prompt said to click on the terminal desktop icon it decided to navigate the menu instead.

