mirror of
https://github.com/harivansh-afk/deskctl.git
synced 2026-04-15 04:03:28 +00:00
- Implement screen_size via xcap Monitor, mouse_position via x11rb query_pointer, standalone screenshot with optional annotation, launch for spawning detached processes - Handler dispatchers for get-screen-size, get-mouse-position, screenshot, launch - SKILL.md agent discovery file with allowed-tools frontmatter - AGENTS.md contributor guidelines for AI agents - README.md with installation, quick start, architecture overview
1.2 KiB
1.2 KiB
desktop-ctl
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 - but for the full desktop.
Install
cargo install desktop-ctl
System dependencies (Debian/Ubuntu):
sudo apt install libxcb-dev libxrandr-dev libclang-dev
Quick Start
# See the desktop
desktop-ctl snapshot
# Click a window
desktop-ctl click @w1
# Type text
desktop-ctl type "hello world"
# Focus by name
desktop-ctl 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
Requirements
- Linux with X11 session
- Rust 1.75+ (for building)
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