Gridhand
Rust CLI, der lader en agent klikke på desktop GUIs ved at navngive en mærket gittercelle i stedet for at gætte pixelkoordinater.
Virker med opsætning
Hvad det gør
En nul-afhængighed, cross-platform (macOS/Linux/Windows) desktop-automatiserings-CLI: screenshot, liste/hæv vinduer, klik, skriv, og tryk på tastekombinationer, alt sammen JSON ind/ud. Den læser aldrig OS'ets tilgængelighedstræ — den lægger et mærket gitter med trådkors over det rå screenshot, og du zoomer/klikker efter cellenavn, så den driver også canvas/WebGL/spil UI'er, som tilgængelighedstræ-værktøjer ikke kan se. Triggere, når en agent skal se skærmen eller klikke/skrive ind i enhver desktop-app.
Testrapport
Reel ~9.100-linjers nul-afhængighed Rust binær (verificeret: tom Cargo.toml deps, Cargo.lock har præcis 1 post, ingen AT-SPI/AXUIElement/UIAutomation referencer i kildekode) der implementerer ægte OS-niveau screenshot/input via CoreGraphics/uinput/user32 — ikke en stub. Men den kræver en Rust toolchain (eller en betroet forudbygget release binær) plus OS-tilladelser (macOS Tilgængelighed+Skærmoptagelse, Linux udev/input-gruppe via sudo), før en enkelt kommando kører, og denne sandbox havde hverken cargo eller tildelbare OS-tilladelser, så den faktiske klik-nøjagtighed af gittermetoden kunne ikke verificeres ende til ende.
Testet: 2026-07-16 · Claude Code 2.x (agent harness)
Installation
git clone https://github.com/ZachRouan/agent-desktop-interface.git cd agent-desktop-interface && ./setup.sh # builds the gridhand binary + platform permissions mkdir -p ~/.claude/skills/gridhand && cp skills/gridhand/SKILL.md ~/.claude/skills/gridhand/SKILL.md
Kommandoer og eksempelprompter
/gridhandRust CLI, der lader en agent klikke på desktop GUIs ved at navngive en mærket gittercelle i stedet for at gætte pixelkoordinater.
Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):
Take a screenshot of my desktop and click the labeled grid cellAutomate clicking inside this game's canvas UI for meType this text into that desktop app window for me