Vercel Labs hat agent-desktop veröffentlicht, ein Werkzeug unter Apache-2.0, das einem KI-Agenten Hände auf dem Desktop gibt, indem es den Accessibility-Baum des Betriebssystems liest statt Screenshots anzusehen. Es ging Ende Oktober online und war heute mit 2.243 Sternen das am schnellsten wachsende Entwickler-Repository auf GitHub.
Das Argument gegen Pixel
Die meisten "Computer-Use"-Agenten arbeiten wie ein Mensch mit einem Screenshot: Bildschirm aufnehmen, ein Modell fragen, wo der Knopf ist, auf diese Koordinaten klicken. Das ist allgemein und zerbrechlich – ein Dialog, ein Scrollvorgang, ein Theme-Wechsel, eine andere Bildschirmskalierung, und die Koordinaten zeigen ins Nichts. agent-desktop geht den anderen Weg. Es fragt das Betriebssystem, was tatsächlich auf dem Bildschirm ist – denselben strukturierten Baum, den Screenreader nutzen – und gibt dem Agenten eine Liste von Elementen mit Namen, Rollen und einer Referenz pro Element.
``` agent-desktop snapshot --app Finder -i agent-desktop click @s8f3k2p9:e8 agent-desktop snapshot --app Finder -i ```
Die Schleife ist Absicht: beobachten, auf eine Referenz handeln, erneut beobachten und bestätigen. Referenzen gelten nur für ihren Snapshot, eine veraltete wird mit `STALE_REF` abgelehnt, statt still das zu treffen, was inzwischen an dieser Stelle steht – genau der Fehlermodus, der koordinatenbasierte Automatisierung auf einer Maschine mit echter Arbeit gefährlich macht.
Was ausgeliefert wird
Ein Rust-Binary, verteilt über npm (`npm install -g agent-desktop`), mit nativen Builds für x64 und ARM64, dazu eine C-Bibliothek `libagent_desktop_ffi`, damit ein Programm es prozessintern aufrufen kann, statt für jede Aktion eine CLI zu starten. Sechzig Kommandonamen, 56 davon einsatzbereit: Snapshots, Suchen, Klicken, Tippen, Werte setzen, Fensterverwaltung, Benachrichtigungen, Zwischenablage, Warten, Sitzungen, Traces. macOS braucht die Bedienungshilfen-Berechtigung, Windows keine Freigabe für Apps auf der Integritätsstufe des Terminals, Linux eine grafische Sitzung mit `at-spi2-core`.
Standardmäßig arbeitet es headless: Referenzaktionen laufen über die Accessibility-API, ohne den Zeiger zu bewegen oder den Fokus zu stehlen. Mit `--headed` kommt echte Eingabe ins Spiel. Vier Kommandos (`key-down`, `key-up`, `mouse-down`, `mouse-up`) verweigern den Dienst, bis ein Daemon eine gehaltene Taste oder Maustaste zuverlässig freigeben kann – die Art Detail, die verrät, dass jemand darüber nachgedacht hat, was passiert, wenn ein Agent mitten in der Geste stirbt.
Die scharfen Kanten
Accessibility-Bäume sind ungleichmäßig. Ein Browser liefert einen reichen, eine selbst gezeichnete Spiel-Engine fast keinen, Electron-Apps liegen dazwischen und variieren mit der Framework-Version. Der Rat im README selbst – eine dichte App zuerst mit `snapshot --skeleton` kartieren, dann in eine Region hineinzoomen – ist ein Eingeständnis, dass ein vollständiger Baum zu groß sein kann, um nützlich zu sein.
Dann ist da die Privatsphäre-Fläche, die die Projektdokumentation selbst benennt. Snapshots, Zwischenablage, Screenshots und Kommandoausgaben können private Desktop-Inhalte enthalten und gehören nicht in Logs oder Uploads. Ein optionaler Helfer namens JEV schickt Bildschirmbeschreibungen an einen konfigurierten Modellanbieter – getrennt von der nativen CLI, aber eine Erinnerung daran, dass "der Agent sieht deinen Bildschirm" ein Satz mit Folgen ist.
Warum es zählt
Der interessante Teil ist nicht, dass wieder ein Agent Knöpfe drücken kann, sondern die Wette, dass strukturierte UI die gerenderten Pixel als Schnittstelle zwischen Modellen und Maschinen schlägt. Wenn das hält, funktioniert dasselbe Primitiv für einen alten ERP-Client, eine Tabellenkalkulation und einen Einstellungsdialog – ohne Vision-Modell in der Schleife und ohne Integration pro App. Vercel ist nicht das einzige Unternehmen mit dieser Wette, aber sie als CLI, C-ABI und Agent-Skill-Datei offen auszuliefern bringt eine konkrete Implementierung vor alle, die bisher abstrakt darüber gestritten haben.




