Observability
Every invocation — typed at a terminal or called as an MCP tool — records one OpenTelemetry-shaped span. Nothing is sent anywhere. The record simply exists, in the right shape, for the day you want it.
$ aos obs statsroute calls errors p50ms p95ms maxmscommands 52 0 0 0 0file delete 43 18 0 0 0capture screenshot 16 0 142 160 160system info 15 0 29 36 36doctor 14 0 175 187 187window list 14 0 38 45 45$ aos obs tail --limit=301:05:30 ok cli 15ms network status01:05:35 err cli 0ms file delete01:05:36 err cli 0ms file deleteaos obs export --since=1h # OTLP JSON, ready for a collectoraos obs path # where it is writtenWhat a span carries
Section titled “What a span carries”The route, the source (cli or mcp), the exit code, the duration, and the
count of arguments — never their contents, which routinely carry paths,
message bodies and clipboard text.
The source field is why this is worth having: it is how you find out what an
agent has actually been asking your machine to do, separately from what you
typed yourself.
Turning it off, or moving it
Section titled “Turning it off, or moving it”AOS_TELEMETRY=off # do not recordAOS_TELEMETRY_DIR=/tmp/t # record somewhere elseIt is a file on your disk. Deleting it is a supported operation.