mirror of
https://github.com/harivansh-afk/deskctl.git
synced 2026-04-15 06:04:41 +00:00
69 lines
1.8 KiB
Markdown
69 lines
1.8 KiB
Markdown
# deskctl
|
|
|
|
[](https://www.npmjs.com/package/deskctl)
|
|
[](https://github.com/harivansh-afk/deskctl/releases)
|
|
[](#support-boundary)
|
|
[](skills/deskctl)
|
|
|
|
Non-interactive desktop control for AI agents on Linux X11.
|
|
|
|
## Install
|
|
|
|
```bash
|
|
npm install -g deskctl
|
|
deskctl doctor
|
|
deskctl snapshot --annotate
|
|
```
|
|
|
|
One-shot execution also works:
|
|
|
|
```bash
|
|
npx deskctl --help
|
|
```
|
|
|
|
`deskctl` installs the command by downloading the matching GitHub Release asset for the supported runtime target.
|
|
|
|
|
|
## Installable skill
|
|
|
|
```bash
|
|
npx skills add harivansh-afk/deskctl -s deskctl
|
|
```
|
|
|
|
The installable skill lives in [`skills/deskctl`](skills/deskctl) and is built around the same observe -> wait -> act -> verify loop as the CLI.
|
|
|
|
## Quick example
|
|
|
|
```bash
|
|
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](docs/runtime-contract.md)
|
|
- release flow: [docs/releasing.md](docs/releasing.md)
|
|
- installable skill: [skills/deskctl](skills/deskctl)
|
|
- contributor workflow: [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
|
|
## Other install paths
|
|
|
|
Nix:
|
|
|
|
```bash
|
|
nix run github:harivansh-afk/deskctl -- --help
|
|
nix profile install github:harivansh-afk/deskctl
|
|
```
|
|
|
|
Source build:
|
|
|
|
```bash
|
|
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.
|