mirror of
https://github.com/harivansh-afk/deskctl.git
synced 2026-04-15 04:03:28 +00:00
Desktop control CLI for AI agents
https://deskctl.dev
| .github/workflows | ||
| assets | ||
| docker | ||
| docs | ||
| npm/deskctl | ||
| site | ||
| skills/deskctl | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CONTRIBUTING.md | ||
| flake.lock | ||
| flake.nix | ||
| LICENCE | ||
| Makefile | ||
| README.md | ||
deskctl
Non-interactive desktop control for AI agents on Linux X11.
Install
npm install -g deskctl
deskctl doctor
deskctl snapshot --annotate
One-shot execution also works:
npx deskctl --help
deskctl installs the command by downloading the matching GitHub Release asset for the supported runtime target.
Installable skill
npx skills add harivansh-afk/deskctl -s deskctl
The installable skill lives in skills/deskctl and is built around the same observe -> wait -> act -> verify loop as the CLI.
Quick example
deskctl doctor
deskctl snapshot --annotate
deskctl wait window --selector 'title=Firefox' --timeout 10
deskctl focus 'title=Firefox'
deskctl type "hello world"
Docs
- runtime contract: docs/runtime-contract.md
- release flow: docs/releasing.md
- installable skill: skills/deskctl
- contributor workflow: CONTRIBUTING.md
Other install paths
Nix:
nix run github:harivansh-afk/deskctl -- --help
nix profile install github:harivansh-afk/deskctl
Source build:
cargo build
Support boundary
deskctl currently supports Linux X11. Use --json for stable machine parsing, use window_id for programmatic targeting inside a live session, and use deskctl doctor first when the runtime looks broken.