Vercel Labs ha rilasciato agent-desktop, un CLI open-source per l'uso di agenti IA su macOS, Windows e Linux. Questo strumento legge ogni app attraverso l'albero di accessibilità del sistema operativo, fornendo una snapshot JSON con un riferimento per ogni elemento con cui l'agente può interagire. La versione 1.0.2 è stata rilasciata il 30 ottobre 2026 sotto licenza Apache-2.0.

Caratteristiche principali

agent-desktop è una libreria Rust CLI e una libreria C con 60 nomi di comando, di cui 56 operativi. Funziona su macOS 13+, Windows 10 1809+ o Server 2019+, e Ubuntu 24.04+, sia su architetture x64 che ARM64. Non richiede GPU e offre prestazioni deterministiche e sicure per i retry.

    • Library: Rust CLI e una libreria C. 60 comandi, 56 operativi.
    • Sistemi operativi supportati: macOS 13+, Windows 10 1809+ o Server 2019+, Ubuntu 24.04+.
    • Prestazioni: Azioni ref deterministiche, sicure per i retry. Nessun benchmark indipendente ancora disponibile.
    • Efficienza: Riduzione del 78% al 96% dei token per app dense come Electron.

Cos'è agent-desktop?

agent-desktop è uno strumento CLI e una libreria C sviluppata da Vercel Labs per leggere e operare applicazioni desktop. Non è un agente, ma uno strumento che gli agenti possono chiamare. Non include un LLM e non ha un'interfaccia grafica. Ogni comando stampa un envelope JSON e termina. Il ciclo observe, act e verify rimane nel tuo agente.

Come funziona agent-desktop?

Ogni comando segue una catena fissa. Il CLI o la libreria C chiama agent-desktop-core, che interagisce con il sistema operativo solo attraverso un trait PlatformAdapter. Ogni sistema operativo ha un proprio crate che comunica con l'API di accessibilità nativa.

    • macOS: AX API
    • Windows: UI Automation
    • Linux: AT-SPI

Snapshot e ref

Una snapshot assegna ref qualificati come @s8f3k2p9:e8. Il ref è autosufficiente grazie all'ID della snapshot. Un ref nudo come @e8 viene rifiutato con INVALIDARGS. Se l'interfaccia utente cambia, un'azione restituisce STALEREF o AMBIGUOUS_TARGET. L'agente deve quindi prendere una nuova snapshot.

Ogni errore include una disposition. Gli agenti dovrebbero ritentare solo se la disposition è safe. La risoluzione dei ref è rigorosa e fallisce in modo sicuro piuttosto che fare ipotesi.

Skeleton e drill-down

Le app dense possono esporre migliaia di nodi di accessibilità. Una snapshot --skeleton legge solo 3 livelli di profondità. I contenitori tagliati riportano un children_count e ottengono un ref drill. snapshot --root legge poi una regione nello stesso snapshot.

Il builder ha riportato una riduzione del 78% al 96% dei token rispetto ai dump dell'albero completo in app come Slack, VS Code e Notion. In Apple Maps, il numero di token per sguardo è passato da 3.811 a 273. Un compito simulato di 52 passaggi è passato da 198k a 31k token. Questi sono dati auto-riportati, non un benchmark indipendente.

Headless per impostazione predefinita

Le azioni ref passano attraverso l'API di accessibilità senza spostare il puntatore o prendere il focus. Questo permette agli agenti di lavorare mentre l'utente continua a utilizzare il computer. La flag globale --headed permette l'input fisico quando necessario. Ogni azione ref auto-attende fino a 5.000 ms per un target visibile, abilitato e stabile.

Confronto con l'uso del computer basato su pixel

Gli strumenti di uso del computer basati sul modello lavorano con screenshot e coordinate pixel. Ad esempio, Anthropic afferma che ogni screenshot costa circa 1.000 a 1.800 token di input. OpenAI restituisce azioni come clic, digitazione e scorrimento che il codice esegue.

agent-desktop è agnostico rispetto al modello e restituisce struttura, non immagini. Microsoft UFO² utilizza anche UI Automation, ma è un agente completo per Windows.

Caratteristica agent-desktop (Vercel Labs) Claude computer use OpenAI computer use Microsoft UFO²
Tipo Strumento CLI + libreria C Strumento client API Strumento API Framework completo per agenti
Come vede l'interfaccia utente Albero di accessibilità del sistema operativo Screenshot Screenshot o codice (PyAutoGUI, Playwright) UIA + ibrido visivo
Modello incluso Nessuno, qualsiasi agente Modelli Claude Modelli OpenAI LLM configurabile
Piattaforme macOS, Windows, Linux Qualsiasi ambiente ospitato (riferimento: Docker Linux) Browser o desktop ospitato Windows (UFO²)
Sposta il cursore No, headless per impostazione predefinita Sì, clic pixel Sì, clic pixel Azioni GUI + API
Costo dei token per sguardo 273 (Apple Maps skeleton, auto-riportato) ~1.000 a 1.800 per screenshot Non divulgato Non divulgato
Licenza Apache-2.0 API proprietaria API proprietaria MIT
Prezzo Gratis Prezzo standard dei token Prezzo standard dei token Gratis (più costi LLM)

Installazione e utilizzo

Installa agent-desktop con npm install -g agent-desktop. Funziona anche con Bun, Yarn e pnpm. Il pacchetto include binari nativi per x64 e ARM64.

    • macOS: concedi il permesso di Accessibilità con agent-desktop permissions --guide.
    • Windows: non è necessario concedere permessi per le app al livello di integrità del terminale.
    • Linux: richiede una sessione grafica con at-spi2-core.

Gli agenti imparano a usare lo strumento dai documenti inclusi tramite agent-desktop skills get desktop. Una skill è anche elencata su skills.sh. La libreria C permette a host Python, Swift, Go, Ruby e Node di chiamarla in processo. Per i contenuti web Electron, launch --cdp apre una porta DevTools per agent-browser.

Punti chiave

    • agent-desktop fornisce l'uso del computer per qualsiasi agente attraverso gli alberi di accessibilità del sistema operativo.
    • Funziona su macOS, Windows e Linux, sia su architetture x64 che ARM64, sotto licenza Apache-2.0.
    • Le azioni ref headless non spostano mai il puntatore o rubano il focus.
    • Le snapshot skeleton riducono i token del 78% al 96% (auto-riportato).
    • Le app senza un albero di accessibilità rimangono fuori portata.