Skip to main content
Sync and async clients use the same method names and result models. Add await when you use an async client.

Run an action-to-observation step

Borrowed clients expose the stable model-loop method directly:
step.actions contains the ordered batch result. step.screenshot contains the immediate post-action frame. step.timing contains daemon timing.

Desktop input and capture

The default inline screenshots.full() request uses the raw binary route and returns a byte-backed Screenshot. Artifact and automatic storage use the structured JSON route and return a Screenshot. See screenshot storage options and artifact retrieval.

Ordered action primitives

Use computer.step() in provider loops. Use actions.run() when the next observation is unnecessary.

Desktop state

commands.run() does not invoke a shell unless the command vector requests one.

Artifacts and recordings

Artifact paths reject traversal and symlink escapes.

Runtime and diagnostics

Treat debug URLs as secrets. See errors and models for result and recovery types.