fabro/docs/human-tools/vnc-access.mdx
Bryan Helmkamp 1f8b40a506 Add VNC Access and VPN Connections docs pages with workflow SVGs
Both features are coming soon — pages include warning banners,
use cases, and example workflows with Graphviz-generated SVGs
that support light and dark mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 14:03:05 -05:00

50 lines
No EOL
2.4 KiB
Text

---
title: "VNC Access"
description: "Access graphical desktop environments in sandboxes via VNC"
---
<Warning>
VNC access is **coming soon** and is not yet available. This page describes the planned feature.
</Warning>
VNC (Virtual Network Computing) provides a graphical desktop environment inside sandboxes, accessible directly from your browser. This enables interaction with GUI applications, visual debugging, and observation of agent-driven desktop automation.
## Use cases
- **GUI application testing** — interact with desktop apps built or modified by an agent
- **Browser testing** — verify web applications in a full browser environment inside the sandbox
- **Visual debugging** — inspect graphical output, rendered documents, or UI state
- **Agent observation** — watch an AI agent perform automated desktop interactions
## How it works
Sandboxes support VNC through a set of pre-installed packages (Xvfb, xfce4, x11vnc, noVNC) that provide a headless desktop environment with browser-based access. When VNC is enabled:
1. Start a run with VNC enabled on a cloud sandbox
2. Open a browser-based VNC viewer to see the sandbox desktop
3. Interact with the desktop using mouse and keyboard — or watch an agent automate it
## Example workflow
VNC is useful when the agent needs to interact with a GUI application that can't be driven through a CLI alone. This workflow automates filling out a legacy internal web form that requires browser interaction:
<Frame>
<img src="/images/vnc-access-workflow.svg" alt="VNC access workflow: Start → Prepare Data → Fill Portal Form → Review Submission → Exit, with a Redo loop back to Fill Portal Form" />
</Frame>
```dot
digraph FillLegacyForm {
graph [goal="Submit the quarterly compliance data through the internal portal"]
start [shape=Mdiamond, label="Start"]
exit [shape=Msquare, label="Exit"]
prepare [label="Prepare Data", prompt="Read the compliance data from data/quarterly-compliance.csv and format it for entry into the internal portal."]
fill [label="Fill Portal Form", prompt="Open Firefox, navigate to http://compliance.internal:8080, and fill out the quarterly submission form with the prepared data. Take a screenshot after each page."]
review [shape=hexagon, label="Review Submission"]
start -> prepare -> fill -> review
review -> exit [label="[A] Submit"]
review -> fill [label="[R] Redo"]
}
```