AI NewsInfrastructureAnnouncement

Shopify CEO Tobi Lütke publishes wrapvm, a desktop VM for AI agents

Tobi Lütke's wrapvm bundles XFCE, a shared Chrome with CDP and two agent CLIs into one container for AI agents.

AI News

Editorial2 min read

LinkedInX
The wrapvm repository page on GitHub

Image: GitHub

Why it mattersRunning an agent needs a screen, a browser and a keyboard. wrapvm bundles the whole stack in one file that CI builds.

Giving an agent a real desktop is more work than giving it a terminal. The agent needs a screen, a browser, a keyboard, and a way to click. Tobi Lütke, the chief executive of Shopify, published wrapvm this month. It is one Containerfile that packages all of that together, published by GitHub Actions as ghcr.io/tobi/wrapvm:desktop.

The repository is the companion to Lütke's earlier wrap project. The README says wrapvm picks up wrap's Containerfile.desktop at commit c562a7d. It then adds a desktop layer on top. The project reached 253 stars in its first week on GitHub.

What is in the box

The README lists the parts. Xvfb runs a virtual display on :1, with XFCE as the desktop. A viewer called voxl shows the screen in a browser on port 6080. A password the CLI prints at start protects it. One Google Chrome runs inside the container, with the Chrome DevTools Protocol open on port 9222.

Two CLIs from Vercel Labs talk to that Chrome. agent-browser drives the browser through CDP. agent-desktop drives the whole desktop through the Linux AT-SPI accessibility layer. Agents reach them through two skills installed in ~/.agents/skills. Audio runs through PulseAudio. ffmpeg can record the session.

How it starts

A developer runs ./wrapvm and gets a Linux machine built for the current directory. The CLI prints a sign-in link. A docker run works the same way. Each directory gets its own machine. One environment variable, WRAPVM_DESKTOP_PORT, changes the host port when the machine is created.

The default browser inside the VM is the shared Chrome. xdg-open, XFCE and the $BROWSER variable all point at it, with its sandbox still on. The config file for agent-browser lives in /home/user/workspace/agent-browser.json. The start script writes it if it is missing, and leaves any existing file alone.

Why this is interesting

Most agent-browser projects published this year are just the browser. wrapvm bundles the desktop too. That means an agent can open a file, read a PDF, watch a video, click through a sign-in flow. The two Vercel Labs CLIs it wraps are agent-desktop and agent-browser, both open source.

A team that wants to run an agent on a laptop now has a single Containerfile to copy. The agent can do real work on a machine the team owns. The author is also the chief executive of a public company. That is one reason the repository went from zero to 253 stars in seven days, with no press cycle.

Source

wrapvm on GitHub, by Tobias Lütke.

SourceGitHub

This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.

Share
LinkedInX
Start a project