Gridhand
Rust CLI som lar en agent klikke på skrivebords-GUI-er ved å navngi en merket rutenettcelle i stedet for å gjette pikselkoordinater.
Krever oppsett
Hva den gjør
En null-avhengig, kryssplattform (macOS/Linux/Windows) skrivebordsautomatiserings-CLI: skjermbilde, liste/hev vinduer, klikk, skriv, og trykk tastekombinasjoner, alt JSON inn/ut. Den leser aldri OS-tilgjengelighetstreet — den legger et merket rutenett med krysshår over råskjermbildet, og du zoomer/klikker etter cellenavn, så den driver også lerret/WebGL/spill-UI-er som tilgjengelighetstre-verktøy ikke kan se. Utløses når en agent trenger å se skjermen eller klikke/skrive inn i en skrivebord-app.
Testrapport
Ekte ~9 100-linjers null-avhengig Rust binær (verifisert: tom Cargo.toml deps, Cargo.lock har nøyaktig 1 oppføring, ingen AT-SPI/AXUIElement/UIAutomation referanser i kildekode) som implementerer ekte OS-nivå skjermbilde/input via CoreGraphics/uinput/user32 — ikke en stub. Men den trenger en Rust-verktøykjede (eller en klarert forhåndsbygd utgivelsesbinær) pluss OS-tillatelser (macOS Tilgjengelighet+Skjermopptak, Linux udev/input-gruppe via sudo) før en enkelt kommando kjører, og dette sandkassemiljøet hadde verken cargo eller tillatelige OS-tillatelser, så den faktiske klikk-nøyaktigheten av rutenettmetoden kunne ikke verifiseres ende-til-ende.
Testet på: 2026-07-16 · Claude Code 2.x (agent harness)
Installer
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 som lar en agent klikke på skrivebords-GUI-er ved å navngi en merket rutenettcelle i stedet for å gjette pikselkoordinater.
Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen 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