Vercel otevřel agent-desktop. AI může ovládat počítač bez myši
Vercel Labs uvolnily zdarma nástroj agent-desktop, který dovolí AI agentům ovládat aplikace přes strom přístupnosti místo screenshotů. Funguje na macOS, Windows i Linuxu, má však omezení.
AI agent dostává strukturu aplikace
Dosavadní nástroje pro takzvané computer use často pracují podobně jako člověk. Model dostane screenshot, odhadne polohu tlačítka a pošle příkaz k pohybu myši nebo kliknutí. Funguje to, ale každý krok závisí na obrazu, souřadnicích a správném odhadu.
agent-desktop volí jiný postup. Aplikaci si přečte přes systémový strom přístupnosti. Ten obsahuje například názvy tlačítek, typy prvků, jejich stav nebo vztahy mezi okny a jednotlivými částmi rozhraní. Na macOS nástroj používá AX API, ve Windows UI Automation a v Linuxu AT-SPI.
Výsledek vrací jako JSON. Každý ovladatelný prvek dostane vlastní referenci, například identifikátor spojený s konkrétním snapshotem. Agent pak příkazem odkáže na tuto referenci, provede akci a znovu si načte stav aplikace. Připomíná to práci s databází více než klikání naslepo.
Oficiální dokumentace uvádí, že nástroj tvoří příkazová řádka v Rustu a knihovna v jazyce C. Každý příkaz vytiskne jeden JSON obal a skončí. Nejde tedy o program s vlastním oknem, chatovacím rozhraním ani zabudovaným modelem. Agent-desktop pouze čeká na příkaz od jiného agenta nebo skriptu. Podrobnosti jsou v oficiální dokumentaci a ve zdrojovém kódu na GitHubu.
Ovládání bez převzetí myši
Ve výchozím režimu pracuje agent-desktop headless. Akce se posílají přes rozhraní přístupnosti a nástroj při nich nepohybuje kurzorem ani nepřebírá fokus okna. Uživatel tak může s počítačem dál pracovat.
To je praktický rozdíl proti některým pixelovým nástrojům. Pokud agent kliká podle souřadnic, může fyzicky změnit polohu kurzoru, aktivovat jiné okno nebo zasáhnout do práce člověka. Vercel Labs místo toho používají odkaz na prvek v konkrétním stavu rozhraní.
Reference obsahuje také ID snapshotu, ze kterého pochází. Když se aplikace mezitím změní, starý odkaz není potichu přiřazen k jinému prvku. Nástroj vrátí chybu STALE_REF nebo AMBIGUOUS_TARGET a agent si musí pořídit nový snapshot. To omezuje jednu z nepříjemných vlastností automatizace uživatelského rozhraní: příkaz může být technicky platný, ale mezitím míří na něco jiného.
Součástí příkazů je také automatické čekání. Agent-desktop může až 5 000 milisekund čekat, než se prvek objeví, povolí a ustálí. Teprve potom se pokusí o akci. Neřeší to všechny problémy pomalých aplikací, snižuje to však potřebu ručně vkládat prodlevy mezi jednotlivé kroky.
Méně dat pro model
Velké desktopové aplikace často vystavují tisíce uzlů stromu přístupnosti. Kdyby agent posílal celý strom jazykovému modelu při každém kroku, rychle by narostla spotřeba tokenů i cena API.
Agent-desktop proto nabízí takzvané skeleton snapshots. Ty načtou pouze první tři úrovně stromu. Agent nejprve získá mapu aplikace a následně si nechá rozbalit jen část, kterou potřebuje. Je to podobné jako procházení složek v počítači. Neotevíráte všechny soubory najednou, nejprve si zobrazíte strukturu a potom vstoupíte do konkrétního adresáře.
Vercel Labs uvádějí, že tento postup snížil spotřebu tokenů o 78 až 96 procent při práci s aplikacemi Slack, VS Code a Notion. U Apple Maps podle popisu projektu klesl jeden výpis z 3 811 tokenů na 273 tokenů. V simulované úloze o 52 krocích se celková spotřeba snížila ze 198 000 na 31 000 tokenů.
Jde o údaje uváděné autorem projektu, nikoli o nezávislý benchmark. MarkTechPost výslovně uvádí, že pro agent-desktop zatím neexistuje samostatné nezávislé měření výkonu computer-use úloh. Čísla proto ukazují možný přínos strukturovaného přístupu, ne univerzální výsledek pro každou aplikaci.
Srovnání se screenshoty
Pixelové nástroje posílají modelu obraz obrazovky a nechávají ho rozhodnout, kam kliknout. Dokumentace Anthropic uvádí, že jeden screenshot u nástroje Claude Computer Use spotřebuje přibližně 1 000 až 1 800 vstupních tokenů. Samotná definice nástroje přidává podle stejného zdroje zhruba 4 500 vstupních tokenů na požadavek. Podrobnosti jsou v dokumentaci Anthropic.
Agent-desktop místo obrázku předává modelu textovou strukturu aplikace. To může být úspornější u rozhraní s velkým množstvím prvků. Zároveň tím vzniká jiné omezení. Nástroj nevidí to, co aplikace do stromu přístupnosti neposkytne.
Pokud program vykresluje rozhraní pouze jako grafiku nebo má nekvalitní podporu přístupnosti, agent-desktop nemusí najít potřebné tlačítko ani text. Screenshotový model v takové situaci může mít alespoň šanci prvek rozpoznat z obrazu. Výběr metody tedy závisí na konkrétní aplikaci.
Projekt je určený pro desktopové aplikace. Webové stránky se automatizují nástrojem agent-browser. U Chromium a Electron aplikací může agent-desktop otevřít DevTools port, přes který lze webový obsah předat dalšímu nástroji. Tato hranice je důležitá, protože „ovládat počítač“ zde neznamená univerzální přístup ke každému pixelu na obrazovce.
Instalace a dostupnost v Česku
Agent-desktop je dostupný zdarma pod licencí Apache-2.0. Instalace probíhá přes npm, případně Bun, Yarn nebo pnpm. Balíček obsahuje předkompilované binárky pro architektury x64 a ARM64. Projekt nevyžaduje vlastní GPU ani placený cloudový účet.
Na macOS je potřeba povolit aplikaci přístup k funkcím přístupnosti. Windows nevyžaduje dodatečné povolení pro aplikace běžící na stejné úrovni integrity jako terminál. Linux potřebuje grafickou relaci a službu at-spi2-core. Oficiální dokumentace uvádí podporu macOS 13 a novějšího, Windows 10 verze 1809 a novějšího a současných podporovaných linuxových prostředí.
Pro české uživatele není známá samostatná česká lokalizace příkazů nebo dokumentace. To ale u tohoto nástroje není hlavní překážka. Agent-desktop komunikuje přes příkazy a JSON, zatímco čeština závisí na modelu, který jej ovládá, a na názvech prvků v konkrétní aplikaci. Nástroj je lokální a open-source, takže z dostupných informací nevyplývá omezení pro český nebo evropský trh.
Při práci je potřeba počítat s obsahem, který může procházet přes výstupy nástroje. Snapshoty, schránka, popisy obrazovky a diagnostické soubory mohou obsahovat soukromá data z počítače. Dokumentace projektu proto upozorňuje, aby se tyto výstupy neposílaly do veřejných logů nebo úložišť.
Co nástroj umí a kde končí
Agent-desktop nabízí 60 názvů příkazů, z nichž 56 je určeno k běžnému provozu. Umí číst stav aplikací, hledat prvky, klikat, psát, měnit hodnoty, pracovat s okny, schránkou a oznámeními. K dispozici jsou také příkazy pro čekání, dávkové operace a práci se session.
Nejdůležitější vlastností není počet příkazů, ale způsob, jakým se propojují s kontrolou výsledku. Agent nejprve rozhraní načte, potom provede akci a následně ověří, zda se stav skutečně změnil. Úspěšně provedený příkaz sám o sobě neznamená, že aplikace udělala to, co agent očekával.
Projekt je proto zajímavý hlavně pro vývojáře agentů, automatizačních skriptů a interních firemních nástrojů. Domácímu uživateli nepřináší hotového asistenta, kterému by stačilo napsat úkol. Je to stavební prvek, který musí někdo propojit s jazykovým modelem a vyřešit také oprávnění, ochranu dat a pravidla pro citlivé akce.
Vercel Labs vydaly agent-desktop na přelomu října a listopadu 2026 jako nástroj pro strukturované ovládání desktopu. Je zdarma, funguje na třech hlavních platformách a jeho slabé místo zůstává stejné jako u každého přístupu založeného na přístupnosti: aplikace musí svůj interface systému skutečně zpřístupnit.
FAQ
Je agent-desktop samostatný AI asistent pro běžné uživatele?
Ne. Agent-desktop neobsahuje jazykový model, nemá vlastní chat ani grafické rozhraní. Je to nástroj, který může ovládat AI agent nebo vlastní skript.
Funguje agent-desktop také s webovými stránkami?
Samotný agent-desktop je určený pro nativní desktopové aplikace. Webové stránky se mají ovládat pomocí agent-browser. U aplikací postavených na Chromiu nebo Electronu lze podle dokumentace využít DevTools port a nástroje kombinovat.
Je agent-desktop bezpečný pro práci s citlivými daty?
Nástroj běží lokálně, ale jeho výstupy mohou obsahovat texty z aplikací, schránky nebo popisy obrazovky. Je nutné hlídat, kam agent tyto JSON výstupy a diagnostické soubory odesílá.