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

1.6 KiB

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.

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.