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

# From your laptop to Quest

> Launch an authenticated local Entity and WebXR shell with one supervised command.

The lab runs the Entity and WebXR gateway on your computer, uses a hosted provider for chat and embeddings, and lets a trusted device connect to the spatial surface. It does not require Ollama, Railway, or Cloudflare.

## Start the lab

From the application checkout:

```bash theme={null}
uv sync --extra dev
uv run ngram lab up rook --lan
```

On first setup, choose your hosted provider, model, and embedding model. The flow writes private environment settings, prepares the shell and Node dependencies, checks readiness, and starts both process trees.

Use `--local-only` to keep the surface on the same computer:

```bash theme={null}
uv run ngram lab up rook --local-only
```

## Connect the headset

Keep the host and headset on the intended trusted network. Open the private bootstrap URL printed by the supervisor in the headset browser. Use a reachable LAN address rather than `localhost`.

WebXR requires an appropriate secure browser context. Follow the local certificate setup for your environment and verify that the URL belongs to your own host before trusting it. Do not treat development certificate settings as production hosting configuration.

The lab exposes the browser-facing surface while keeping the Entity bridge bound to loopback. The bootstrap link and resulting session credential protect the surface; anyone you share them with may gain access to the Entity.

## Verify before a demo

```bash theme={null}
uv run ngram lab doctor rook
```

Doctor checks the saved profile, Entity and shell configuration, private credentials, Node installation, build, and required ports. First setup also probes provider catalog access and embeddings. These probes can use the provider account.

Then verify the experience itself: send a message, inspect the surface capabilities, create a simple object, and remove it. Desktop success does not prove hand tracking or immersive AR support on the headset.

## Reuse, reconfigure, and stop

```bash theme={null}
uv run ngram lab run rook --lan
```

`run` uses the saved profile. `lab up rook --configure` replaces the profile through setup before starting.

Press **Ctrl+C** in the supervisor terminal to stop both process trees. Closing only the browser disconnects the surface. Use [Pause inference](/guides/usage-and-controls) when you want to retain the connection while stopping model use.

Keep `.env`, shell credentials, and private bootstrap URLs out of recordings and repositories.
