/docs/computer-use/desktop

Desktop & mobile

Trace desktop or mobile agents with the same step, tool-call, metadata, and attachment contract used for every obsrv trace.

Action vocabulary

Use consistent action names in tool calls: click, double_click, right_click, drag, type, key, scroll, wait, screenshot, and cursor_position.

Manual recording pattern

from theta_observability import TraceClient

client = TraceClient()

with client.trace(name="desktop-agent", run_type="desktop") as t:
    with t.step(name="open_settings", type="tool") as s:
        s.log_tool_call(
            name="desktop.click",
            arguments={"x": 842, "y": 118, "target": "Settings"},
            result={"ok": True},
            latency_ms=96,
        )
        s.attach_image("frames/settings-open.png")

client.flush()

Mobile

Mobile uses the same contract. Store accessibility identifiers, coordinates, device name, app version, and screenshots in step metadata and attachments.