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]>
34 lines
1.6 KiB
Markdown
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.
|