Agent Desktop liest den Barrierefreiheitsbaum statt Pixel zu raten
Zusammenfassung
Ein Agent scheitert am Schreibtisch selten daran, dass er die Oberflaeche nicht versteht, sondern daran, dass er den Punkt verfehlt. Agent Desktop liest den Barrierefreiheitsbaum, adressiert Elemente ueber Referenzen und laesst Maus und Tastatur standardmaessig in Ruhe.
Empfehlen- Name
- Agent Desktop
- Version
- 1.0.2
- Preis
- Kostenlos
- Open Source
- Open Source
- Betriebssystem
- WindowsmacOSLinux
- Aktualisiert
- 2026-11-03 23:00
Einem Agenten beizubringen, einen Rechner zu bedienen, scheitert selten daran, dass er die Oberflaeche nicht versteht. Es scheitert daran, dass er den falschen Punkt trifft. Ein Bildschirmabzug und die Umrechnung einer Form in Koordinaten funktionieren so lange, bis sich die Aufloesung aendert, das Fenster wandert oder das Farbschema wechselt, und dann ist jede gespeicherte Koordinate wertlos. Agent Desktop geht den anderen Weg: nicht die Pixel lesen, sondern die Struktur, die das Betriebssystem der Anwendung ohnehin mitteilt.

Gelesen wird der Barrierefreiheitsbaum
Agent Desktop ist ein quelloffenes Werkzeug fuer die Bedienung des Schreibtischs von Vercel Labs, geliefert als Kommandozeile plus C-Bibliothek unter der Apache-2.0-Lizenz. Die Idee laesst sich in einem Satz sagen: es macht keine Bildschirmabzuege. Es fragt die Schnittstellen fuer Barrierefreiheit, die jedes gaengige System fuer unterstuetzende Technik bereithaelt, nach der aktuellen Struktur der Anwendung: welche Schaltflaechen es gibt, welche Felder Text annehmen, welche Listeneintraege vorhanden sind und was jedes Element kann. Alles, was ein Mensch mit Tastatur oder Screenreader erreichen kann, ist hier erreichbar.
Der Gewinn ist Stabilitaet. Elemente werden ueber die Struktur gefunden, also aendert ein anderes Fenstermass, ein anderer Skalierungsfaktor oder ein anderes Farbschema nichts daran, dass es dasselbe Element bleibt. Der Preis: es sieht nur Anwendungen mit vollstaendiger Struktur. Ein Programm, das seine Oberflaeche selbst malt und keine Informationen zur Barrierefreiheit herausgibt, ist fuer dieses Werkzeug eine leere Seite.
Aufnahme, Aktion, neue Aufnahme
Die Schleife hat drei Schritte. Erst eine Aufnahme anfordern, zurueck kommen strukturierte Daten, in denen jedes bedienbare Element eine Referenz traegt. Dann eine Aktion gegen eine dieser Referenzen schicken: klicken, tippen, einen Wert setzen, ein Kaestchen umschalten, scrollen. Danach eine weitere Aufnahme und der Vergleich, was die Oberflaeche tatsaechlich getan hat. An keiner Stelle dieser Schleife wird nach Koordinaten geklickt, also gibt es auch kein Raten von Koordinaten, das schiefgehen koennte.
Referenzen haengen an der Aufnahme, aus der sie stammen, und da ist der Entwurf sorgfaeltig. Eine Kennung aus der vorigen Aufnahme kann im neuen Zustand veraltet sein, und dann meldet die Aktion ausdruecklich eine abgelaufene Referenz oder ein nicht eindeutiges Ziel, statt einfach irgendwohin zu klicken. Bei mehreren Fenstern gilt dasselbe: das Werkzeug listet die in Frage kommenden Fenster auf und wartet auf eine Auswahl.

Standardmaessig greift es weder Maus noch Tastatur
Dieses Detail verdient einen eigenen Abschnitt. Der Standard ist kopflos: Aktionen gehen ueber die Schnittstellen fuer Barrierefreiheit hinaus, der Zeiger bewegt sich nicht und das Fenster wird nicht nach vorn geholt. Ein Mensch kann also am selben Rechner weiterarbeiten, waehrend ein Agent im Hintergrund eine Anwendung bedient. Echte physikalische Eingaben lassen sich simulieren, dafuer muss aber ausdruecklich ein Schalter umgelegt werden, und erst dann wandert der Zeiger und werden Tastendruecke eingefuegt.
Ausserdem laeuft jeder Aufruf der Kommandozeile in einem eigenen Prozess. Nichts bleibt resident, kein Hintergrunddienst wird installiert, der Prozess endet mit der Arbeit. Fuer das Muster, das damit moeglich wird, naemlich eine aeussere Steuerung, die eine Aufgabe in Schritte zerlegt und das Werkzeug wiederholt aufruft, ist diese zustandslose Form leichter anzubinden als ein Dauerdienst.
Drei Systeme, drei Unterbauten
macOS, Windows und Linux werden alle unterstuetzt, jedes sitzt unten auf einer anderen Schnittstelle. macOS geht ueber den Systemkanal fuer Barrierefreiheit, und beim ersten Lauf muss die Berechtigung von Hand erteilt werden. Windows bedient gewoehnliche Anwendungen ohne zusaetzliche Freigabe, solange das Terminal auf derselben Integritaetsstufe laeuft. Linux haengt an der grafischen Sitzung und am Bus fuer Barrierefreiheit, und X11 und Wayland decken nicht genau dasselbe ab. Auch die Faehigkeiten gehen auseinander: Benachrichtigungen lassen sich auf allen drei lesen, Bereiche wie Systemablage und Menueleistenymbole werden je nach System unterschiedlich weit unterstuetzt.
Die Abdeckung der Befehle ist breit: sechzig Befehlsnamen insgesamt, sechsundfuenfzig davon laufen direkt. Die restlichen vier halten eine Taste oder eine Maustaste gedrueckt und werden erst freigegeben, wenn der Hintergrunddienst das Loslassen garantieren kann. Aufnahme, Suchen, Wert lesen und Bildschirmabzug gehoeren zum Beobachten; Klicken, Tippen, Setzen, Umschalten und Scrollen zum Handeln; Fensterverwaltung, Zwischenablage, Benachrichtigungen, Warten und Stapelverarbeitung stehen daneben.
Das Ausgabeformat ist fuer Programme gedacht
Jeder Befehl gibt genau eine einheitlich geformte Nutzlast aus. Erfolg traegt das Ergebnis, ein Fehler traegt Fehlercode, Umgang und einen Vorschlag. Ein Feld sagt ausdruecklich, ob sich dieser Fehler gefahrlos wiederholen laesst, und daran entscheidet der Aufrufer, ob er es erneut versucht, ein anderes Ziel nimmt oder abbricht und meldet. Fuer alle, die Automatisierung schreiben, ist genau diese Absprache wertvoll: sie macht aus der Frage, was nach einem Fehler zu tun ist, ein Feld zum Lesen.
Dieselbe Schnittstelle gibt es auch als C-Bibliothek mit dynamischen Bibliotheken fuer jede Plattform, ein Programm kann sie also im eigenen Prozess aufrufen, statt fuer jede Aktion einen Unterprozess zu starten. Das Projekt liefert dazu eine Dokumentation, die fuer Agenten geschrieben ist, damit ein Agent die Schleife selbst nachlesen kann.
Fuer wen es gedacht ist
Das ist keine Software fuer gewoehnliche Anwender. Es gibt keine Oberflaeche und keinen Knopf, der alles erledigt. Es richtet sich an Leute, die Ablaeufe am Schreibtisch automatisieren wollen: einen Client im Stapel bearbeiten, der nur manuelles Klicken zulaesst, einem internen Werkzeug einen programmierbaren Eingang geben, oder einen Agenten in einer Testumgebung eine echte Oberflaeche ablaufen lassen. Wer nur moechte, dass ein Assistent ein paar Dateien sortiert, liegt hier zu tief in der Schicht. Wer Automatisierung am Schreibtisch braucht, die sich wiederholen laesst, sich pruefen laesst und im Fehlerfall eine Spur hinterlaesst, bekommt genau diese Schicht.
Das Projekt hat Ende Oktober die Fassung 1.0.2 veroeffentlicht, mit nativen Paketen fuer x64 und ARM64. Als experimentelles quelloffenes Projekt von Vercel Labs koennen sich die Schnittstellen noch bewegen, aber die Richtung ist klar: aus der Frage, ob ein Agent einen Schreibtisch bedienen kann, ein deterministisches Problem einer strukturellen Schnittstelle zu machen statt eines Wahrscheinlichkeitsproblems der Bilderkennung.