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.