open-standards/wai/examples/remote-desktop/README.md
Transaction Science e8c8327631 wai/examples: every template Apache-2.0, its LICENSE carried into the project
Each example holds the license's text as LICENSE (wai/LICENSE, byte for byte) and says so in
its README; wai create writes it with the rest of the template, from one copy in the binary.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 04:52:31 -04:00

34 lines
1.6 KiB
Markdown

# Remote desktop in a room
**What it shows.** One machine's screen shared into a room. The host enters with an
invitation the room's authority signed; viewers make their own keys in their browsers and
watch; one viewer at a time may be handed control. Every screen statement, every input and
every handover is a signed record in the room's log, and a verifier checks the session from
those records alone. Keys and text a controller types go sealed to the host: the room never
holds them in the clear.
**Run it.**
```sh
wai create my-desk --template remote-desktop
cd my-desk
wai dev # the room, in remote desktop mode
sh host.sh --pattern # in a second terminal: the host, sharing a test pattern
```
Open `http://127.0.0.1:8080/` and press **Join**. `sh host.sh` without `--pattern` shares the
display itself.
**What you see.** The host's screen in the page, each frame checked against its receipt
before it is drawn. Press **Ask for control**: this host script hands control to whoever
asks, and your pointer and keys then reach the host, the page showing what each did.
**Check a session.** `sh host.sh --pattern --seconds 20 --record session.json` writes the
session's records; the independent verifier in the WAI repository checks them:
`python3 -I wai/live-conformance/remote_desktop_verify.py --room session.json`.
**With a coding assistant.** Run `wai setup-agent` in this directory: it writes the
instructions an assistant reads and connects it to WAI's tools.
**License.** Apache-2.0: the text is in `LICENSE`, and a project `wai create` makes from this
example carries it.