Skip to content
System One

Agent Desktop

Rust desktop automation that reads apps through the OS accessibility tree instead of pixels. Its jev-desktop skill takes a plain-language goal and has Jev pick one operation and one target element per turn, so the 150-element tree never enters the agent's context.

agent-desktop architecture diagram
Image from github.com

lahfir/agent-desktop on GitHub

Stars
1,612
Forks
109
Language
Rust
License
Apache-2.0
Last push
23 Sep 2026

Post on X

Views
100,040
Likes
558
Reposts
56

Read from GitHub and X on . Counts change daily.

Reported by the author

Token reduction
78-96%78–96% token reduction on dense appsgithub.com

agent-desktop drives desktop apps through the OS accessibility tree, the structured view of buttons, fields and menus that screen readers use, instead of taking screenshots and guessing at pixel coordinates. Its jev-desktop skill takes a plain-language goal and loops: read the screen, ask Jev for one operation (CLICK, TYPE_TEXT, SCROLL, DRILL, DONE and others) and a target element for that operation in the same request, act, then read again. The calling agent never has to put the tree, which can hold 150 elements or more, in its own context.

The same request asks how hard the step would be to undo: an ordinary step needs 0.70 confidence in its target, a destructive one needs 0.90, and below 0.55 nothing runs.

Progressive skeleton traversal, a shallow overview of the UI followed by a drill-down only into the parts a turn needs, cuts token use by 78 to 96% on dense apps according to the README. The core is a native Rust CLI with a C-ABI library that other languages can load once instead of forking a new process per call, and it can drive Chromium-based apps over the DevTools protocol while native windows and dialogs stay on the accessibility path.

Open on GitHub

More like this

Use cases this is tagged with