> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aureuma.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# BROWSER

# Surf Runtime (`si surf`)

<img src="https://mintcdn.com/aureumaai/raBGSausvGJCXxb8/docs/images/integrations/browser.svg?fit=max&auto=format&n=raBGSausvGJCXxb8&q=85&s=226952b692111dd26d1469403351cb14" alt="Surf runtime" width="480" height="160" data-path="docs/images/integrations/browser.svg" />

`si surf` manages the local Playwright browser runtime used by SI workflows.

## Commands

```bash theme={null}
si surf build
si surf start
si surf status
si surf logs
si surf stop
si surf proxy
```

## Quickstart

```bash theme={null}
si surf wrapper config set --repo ~/Development/surf --build true
si surf build
si surf start
si surf status
```

Default endpoints after start:

* browser compatibility endpoint: `http://127.0.0.1:8932/mcp`
* noVNC endpoint: `http://127.0.0.1:6080/vnc.html?autoconnect=1&resize=scale`

## Proxy mode (optional)

Use proxy mode for legacy `/mcp` SSE clients:

```bash theme={null}
si surf proxy --upstream http://127.0.0.1:8932
```

## Operational notes

* `si surf start` can build the image automatically unless `--skip-build` is set.
* `si surf wrapper config show` reads SI-owned wrapper settings from `~/.si/surf/si.settings.toml`.
* `si surf config ...` is native Surf config passthrough.
* `si surf` can inject a stable noVNC password from Fort for `start` when `[surf] vnc_password_fort_*` is configured in `~/.si/surf/si.settings.toml`, or via one-off wrapper flags such as `si surf --vnc-password-fort-key SURF_VNC_PASSWORD start`.
* Store the actual noVNC password in `safe/surf/.env.dev` and access it through `si fort`; do not persist it in plaintext Surf config.
* Keep profile directories isolated per environment.
* Use `si surf logs --follow` during smoke tests and rollout checks.
