This commit is contained in:
Harivansh Rathi 2026-03-24 22:59:21 -04:00
parent 9adc74f6b7
commit 62a1aab859
4 changed files with 55 additions and 64 deletions

View file

@ -1,16 +1,14 @@
# desktop-ctl
# deskctl
Desktop control CLI for AI agents on Linux X11. A single installable binary that gives agents full desktop access: screenshots with window refs, mouse/keyboard input, and window management.
Inspired by [agent-browser](https://github.com/vercel-labs/agent-browser) - but for the full desktop.
Desktop control CLI for AI agents on Linux X11.
## Install
```bash
cargo install desktop-ctl
cargo install deskctl
```
System dependencies (Debian/Ubuntu):
System deps (Debian/Ubuntu):
```bash
sudo apt install libxcb-dev libxrandr-dev libclang-dev
```
@ -19,35 +17,28 @@ sudo apt install libxcb-dev libxrandr-dev libclang-dev
```bash
# See the desktop
desktop-ctl snapshot
deskctl snapshot
# Click a window
desktop-ctl click @w1
deskctl click @w1
# Type text
desktop-ctl type "hello world"
deskctl type "hello world"
# Focus by name
desktop-ctl focus "firefox"
deskctl focus "firefox"
```
## Architecture
Client-daemon architecture over Unix sockets (NDJSON wire protocol). The daemon starts automatically on first command and keeps the X11 connection alive for fast repeated calls.
```
Agent -> desktop-ctl CLI (thin client) -> Unix socket -> desktop-ctl daemon -> X11
```
Client-daemon architecture over Unix sockets (NDJSON wire protocol).
The daemon starts automatically on first command and keeps the X11 connection alive for fast repeated calls.
## Requirements
- Linux with X11 session
- Rust 1.75+ (for building)
- Rust 1.75+ (for build)
## Wayland Support
Coming in v0.2. The trait-based backend design means adding Hyprland/Wayland support is a single trait implementation with zero refactoring of the core.
## License
MIT OR Apache-2.0
Coming soon hopefully. The trait-based backend design means adding Hyprland/Wayland support is a single trait implementation with zero refactoring of the core which is good.