{"repo":"smythp/tine","free":true,"listed":false,"github":"https://github.com/smythp/tine","clone":"git clone https://github.com/smythp/tine.git","description":"Drive a GNOME Wayland desktop from AI agents. CLI-first, no portals, no consent dialogs.","language":"Python","stars":20,"topics":["accessibility","agent","ai-agents","ai-tools","at-spi2","automation","claude","computer-use","desktop-automation","gnome"],"license":"Apache-2.0","category":"ai-agents","readme_excerpt":"tine Drive a GNOME Wayland desktop from AI agents. CLI-first, no portals, no consent dialogs. Tine is a command-line bridge between an AI coding agent (Claude Code, Codex, etc.) and a running Linux desktop. It reads the screen, walks the accessibility tree, and injects keyboard and mouse events at the kernel level — no Wayland portal dialogs, no per-action consent prompts, no X11 fallback hacks. Status: alpha. Tested on GNOME 49 Wayland / Arch Linux. API may change before 1.0. --- Why Anthropic's computer-use feature works on Windows and macOS. If you use Linux — and especially if you use Wayland, which is more locked-down than X11 and breaks most of the existing Linux automation stack — you're mostly out of luck. Tine is an attempt at a usable Wayland alternative. It reads the screen three ways: - AT-SPI2 accessibility tree. When an app exposes its widgets to the Linux a11y stack (GTK apps, Qt apps, most native GNOME stuff), tine walks the tree and gives the agent structured data — roles, names, bounding boxes, actions. The agent can say click ref 17 and tine clicks the center of the button with that ref. - Labeled coordinate grid. When AT-SPI2 is sparse or missing (Chrome, Electron, most web content, games), tine overlays a labeled grid on the screenshot and the agent says click B3 . Not fancy, but it works. - OCR text refs. Run OCR on the screenshot (RapidOCR, local, CPU) and get refs like ref t3 tied to detected text regions. The agent can click by on-screen text — tine c","default_branch":null,"files":null,"tree":[],"storefront":"/r/smythp","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/smythp/tine/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}