Recording and screenshots
- Pick the computer (
computer_list, or passcomputer— it switches). recording_startwith optionaldisplay(macOS/Linux),region(Linux/ Windows),fps(Linux/Windows),durationSec(macOS auto-stop), andintervalMs(HarmonyOS snapshot cadence).- Do the work (or let the user do it).
recording_stopwith the returnedid→ finalized file path + bytes.recording_listshows everything saved;recording_statuschecks one.
Platform truths:
- macOS: ScreenCaptureKit inside the signed helper captures a display or
region straight to .mov — no system recorder selection UI and no desktop
dimming overlay. If capture is denied, Screen Recording permission is
missing for whoever ran it: the Codewhale Computer Use app when
request_accesssaysvia: "app", else the terminal that hosts the server — tell the user which, do not retry. - Windows: ffmpeg gdigrab of the desktop or a region.
- Linux X11: ffmpeg x11grab (honors $DISPLAY, region, fps). Wayland: wf-recorder (per-output via CU_WAYLAND_OUTPUT).
- HarmonyOS: no native CLI recorder; the backend captures
snapshot_displayframes atintervalMsand muxes with ffmpeg on stop. The receipt labels the modesnapshot-series— never call it real-time.
Screenshots: screenshot returns the saved path and raster geometry; zoom
crops the latest raster when a target is too small to read.