Agent Desktop de Vercel: qué puedes hacer con él y cómo utilizarlo en 2026
Agent Desktop de Vercel Labs permite a los agentes de IA observar y controlar aplicaciones de escritorio mediante el árbol de accesibilidad del sistema operativo. Guía completa: qué es, cómo funciona, instalación paso a paso, comandos, integración con Claude Code y Codex mediante CLI, skills y MCP, casos de uso, limitaciones y consideraciones de seguridad.

Indice de contenidos
Guía práctica de automatización de escritorio con IA, Computer Use, MCP e integración con agentes. Actualizada el 4 de noviembre de 2026. Versión de referencia: Agent Desktop 1.1.0.
Agent Desktop es una herramienta de código abierto de Vercel Labs que permite a los agentes de IA observar y controlar aplicaciones de escritorio a través del árbol de accesibilidad del sistema operativo. En lugar de depender únicamente de capturas de pantalla y coordenadas del ratón, obtiene una representación estructurada de la interfaz en formato JSON y asigna referencias a los elementos con los que se puede interactuar.
Funciona como una capa de control entre el agente de IA y el ordenador. Permite consultar ventanas y controles, pulsar botones, escribir texto, seleccionar opciones, gestionar aplicaciones y comprobar los cambios después de cada acción. Con esta base se pueden desarrollar asistentes personales, automatizaciones administrativas, agentes de pruebas y flujos de trabajo que conecten distintos programas.
Hay algo importante que conviene aclarar desde el principio: Agent Desktop no es un agente autónomo ni incorpora un modelo de IA propio. No interpreta por sí mismo las instrucciones del usuario ni decide qué pasos debe ejecutar. Su función es proporcionar las herramientas necesarias para observar y manejar el escritorio. El razonamiento corre a cargo de un modelo y de un agente externo, que pueden conectarse mediante CLI, skills o MCP.
| Aspecto | Qué ofrece |
|---|---|
| Proyecto | vercel-labs/agent-desktop (GitHub) |
| Desarrollador | Vercel Labs |
| Función principal | Computer Use para agentes de IA |
| Sistemas operativos | macOS, Windows y Linux |
| Interfaces disponibles | CLI y biblioteca C (FFI) |
| Representación de la interfaz | Árbol de accesibilidad en JSON |
| Integración con agentes | CLI, skills y servidor MCP |
| Modelo de IA incluido | No |
| Licencia | Apache-2.0 |
| Instalación habitual | npm install -g agent-desktop |
Por ejemplo, un usuario podría pedirle a un agente: «Abre la hoja de cálculo, localiza los registros pendientes y prepara un resumen en mi aplicación de notas». El agente planifica la tarea, Agent Desktop le permite interactuar con las ventanas y los controles, y después vuelve a consultar la interfaz para comprobar que cada operación se ha completado.
Por eso, Agent Desktop resulta más interesante como infraestructura para desarrollar agentes capaces de utilizar software de escritorio que como una simple colección de comandos de terminal.
Resumen rápido: qué es Agent Desktop y quién puede aprovecharlo
Agent Desktop es una capa de observación y control del escritorio diseñada para agentes de IA. Vercel Labs publicó el proyecto a finales de octubre de 2026 y su repositorio acumuló miles de estrellas en GitHub en pocos días. El interés ha sido notable, aunque conviene distinguir popularidad de madurez: la primera versión estable es de finales de octubre y la versión 1.1.0 llegó a principios de noviembre de 2026.
| Perfil | Utilidad | Motivo |
|---|---|---|
| Desarrollador de software | Alta | Puede integrarlo con agentes, MCP y FFI |
| Ingeniero de automatización | Alta | Permite conectar aplicaciones que no comparten una API |
| Equipo de QA | Alta | Sirve de base para agentes de prueba sobre aplicaciones nativas |
| Usuario avanzado de IA | Media-alta | Facilita experimentar con asistentes que controlan el escritorio |
| Empresa con procesos internos | Media | Puede encajar, pero exige evaluar permisos, seguridad y trazabilidad |
| Usuario sin conocimientos de programación | Baja-media | No es una aplicación lista para instalar y utilizar sin configuración |
| Automatización masiva de datos | Baja | Normalmente conviene recurrir a una API o biblioteca especializada |
La utilidad real depende de un detalle técnico: las aplicaciones que se quieran controlar deben exponer suficientes elementos a través de las tecnologías de accesibilidad. Los programas con interfaces dibujadas mediante motores gráficos propios o controles personalizados pueden ofrecer información incompleta y resultar más difíciles de automatizar.
Qué problema resuelve Agent Desktop
Los modelos de IA ya pueden generar texto, escribir código y utilizar servicios externos mediante APIs. Sin embargo, muchas aplicaciones de escritorio no ofrecen una API sencilla para todas sus operaciones. Hay tareas que todavía requieren abrir un programa, recorrer sus menús, localizar un campo, introducir datos y confirmar una acción.
Ese es precisamente el terreno del Computer Use: permitir que un agente utilice el ordenador de forma parecida a una persona.
Imagina una empresa que trabaja con un programa de facturación antiguo, una hoja de cálculo y un cliente de correo. Puede que el software de facturación no tenga una API accesible o que desarrollar una integración específica no compense. Si un agente puede observar y controlar la interfaz gráfica, tiene otra vía para completar parte del trabajo.
Agent Desktop proporciona esa capacidad mediante una interfaz estructurada. El agente puede:
- Identificar las aplicaciones y ventanas que están abiertas.
- Consultar los nombres y roles de los controles disponibles.
- Localizar botones y campos a partir de sus características.
- Ejecutar acciones sobre elementos identificados.
- Volver a consultar la interfaz después de cada operación.
- Gestionar determinadas ventanas y funciones del sistema operativo.
Esto no significa que las APIs hayan dejado de ser necesarias. Cuando una aplicación ofrece una API oficial adecuada, suele ser más estable y eficiente utilizarla. Agent Desktop resulta especialmente útil cuando el proceso depende de una interfaz gráfica, no existe una API apropiada o se necesita trabajar con varios programas desde una misma capa de control.
Cómo funciona Agent Desktop
El árbol de accesibilidad: la base de la interacción
Las aplicaciones modernas pueden exponer información sobre sus componentes gráficos mediante las tecnologías de accesibilidad del sistema operativo. Estas estructuras están pensadas para que los lectores de pantalla y otras herramientas de asistencia puedan reconocer botones, campos de texto, menús, ventanas y otros elementos.
Agent Desktop aprovecha esa información para que un agente pueda interpretar la interfaz sin tener que deducirlo todo a partir de una imagen.
El proceso habitual consta de seis etapas:
- Observar: el agente solicita información sobre una aplicación o superficie.
- Inspeccionar: Agent Desktop consulta el árbol de accesibilidad del sistema operativo.
- Estructurar: devuelve los datos en JSON, con roles, nombres, jerarquías y acciones disponibles.
- Identificar: los elementos interactivos reciben referencias que el agente puede utilizar.
- Actuar: el agente solicita operaciones como hacer clic, escribir, seleccionar o desplazarse.
- Verificar: vuelve a consultar la interfaz para comprobar el estado después de la acción.
Las referencias no son identificadores permanentes. Pertenecen a una observación concreta de la interfaz. Si se abre un diálogo, cambia una ventana o se actualiza el contenido, el agente puede necesitar obtener un nuevo snapshot antes de continuar.
Menos tokens que con las capturas de pantalla
Uno de los aspectos más destacados de Agent Desktop es la reducción del contexto que necesita enviar al modelo. Las capturas de pantalla contienen mucha información visual que puede no ser relevante para una acción concreta. En los enfoques basados en imágenes, las estimaciones publicadas sitúan el coste de cada captura en torno a 1.000-1.800 tokens, y una sesión prolongada puede acumular cientos de miles.
El árbol de accesibilidad en JSON permite trabajar con una representación más compacta. El propio proyecto muestra comparaciones en las que una observación de Apple Maps pasa de unos 3.811 tokens con una representación completa a aproximadamente 273 con la vista optimizada. En otra prueba, una tarea de 52 pasos reduce el consumo de cerca de 198.000 a unos 31.000 tokens.
Estas cifras deben interpretarse como referencias orientativas, no como resultados de una evaluación independiente. Son datos publicados por el propio proyecto y pueden variar según la aplicación y el modo de observación. La documentación también menciona ahorros del 78 al 96 % en aplicaciones como Slack, VS Code y Notion.
La reducción se consigue principalmente mediante tres mecanismos:
- Snapshots centrados en elementos interactivos (
-i): omiten buena parte del contenido decorativo y priorizan los controles con los que se puede operar. - Vista
--skeleton: obtiene primero una representación simplificada de la estructura para explorar después únicamente la zona necesaria. - Consultas progresivas: permiten solicitar información concreta en interfaces grandes, sin descargar todo el árbol de accesibilidad en cada operación.
Esta filosofía también está presente en agent-browser, otro proyecto de Vercel Labs orientado al control de navegadores. Agent Desktop lleva ese enfoque al conjunto de aplicaciones del escritorio.
Diferencias frente a otros métodos de automatización
Las herramientas de Computer Use no observan las aplicaciones de la misma manera. Estos son los principales enfoques:
| Enfoque | Cómo identifica los elementos | Ventaja | Limitación |
|---|---|---|---|
| Árbol de accesibilidad | Roles, nombres, jerarquía y acciones | Interacción estructurada y eficiente en tokens | Depende de la accesibilidad que exponga la aplicación |
| Capturas de pantalla | Interpretación visual de imágenes | Puede trabajar con interfaces difíciles de inspeccionar | Mayor coste de tokens y dependencia del reconocimiento visual |
| Coordenadas | Posición X/Y en pantalla | Compatible con casi cualquier interfaz | Sensible a cambios de tamaño, posición y resolución |
| Selectores DOM | Elementos HTML y atributos | Precisión en aplicaciones web | No controla directamente aplicaciones nativas |
| APIs | Funciones y datos expuestos | Suele ser el método más estable y eficiente | Requiere una API adecuada y los permisos correspondientes |
| Reconocimiento de imagen | Patrones visuales y regiones | Útil cuando no hay estructura accesible | Puede fallar ante cambios visuales o elementos similares |
Agent Desktop se centra en el árbol de accesibilidad. Eso no hace inútiles las capturas ni las coordenadas: pueden complementar la interacción semántica cuando una aplicación no expone bien sus controles o cuando la tarea exige interpretar información visual.
La diferencia se aprecia en una acción sencilla. En lugar de hacer clic en una coordenada que anteriormente coincidía con un botón, el agente puede localizar el control identificado como «Guardar» y actuar sobre su referencia.
Acciones headless y comprobaciones antes de ejecutar
De forma predeterminada, las acciones semánticas funcionan en modo headless: operan directamente sobre los controles sin mover físicamente el ratón ni quitar el foco a la ventana. Así, el agente puede trabajar en segundo plano mientras la persona sigue utilizando el equipo.
Antes de ejecutar un clic, Agent Desktop comprueba varias condiciones relacionadas con la accesibilidad del elemento:
- Que el control exista.
- Que esté visible.
- Que se encuentre habilitado.
- Que no haya otro elemento bloqueando el punto de interacción, mediante una comprobación de hit-test.
Si alguna condición no se cumple, la herramienta no ejecuta la acción a ciegas. Devuelve un error estructurado que explica el motivo.
Para operaciones que necesitan entrada física real —por ejemplo, arrastrar, mantener pulsado un botón o interactuar con aplicaciones que solo responden a eventos de entrada genuinos— existe el modo --headed. Su funcionamiento depende de las capacidades de la plataforma y del estado del escritorio, y puede requerir dependencias adicionales.
Qué puedes hacer con Agent Desktop: nueve casos de uso
La utilidad de Agent Desktop se aprecia mejor al pensar en procesos completos, no solo en comandos individuales. Los siguientes escenarios muestran lo que un desarrollador podría construir combinando la herramienta con un modelo de IA y otras integraciones cuando sean necesarias. No son aplicaciones completas incluidas en el repositorio ni resultados de pruebas realizadas en programas concretos.
1. Automatizar aplicaciones de escritorio
Es el uso más directo. Un agente puede operar programas que expongan controles accesibles: abrir aplicaciones, consultar ventanas, recorrer menús, pulsar botones, rellenar campos, seleccionar opciones y leer los resultados.
Un flujo habitual sería:
- El usuario solicita abrir una aplicación.
- El agente utiliza
launcholist-appspara localizarla. - Obtiene un snapshot para conocer la interfaz.
- Identifica el control necesario y ejecuta
click,typeoselect. - Solicita otro snapshot para comprobar que la pantalla ha cambiado como esperaba.
Por ejemplo, se podría desarrollar un agente que reciba esta instrucción: «Abre el programa de gestión, busca al cliente García y consulta sus facturas pendientes». Para completar la tarea, tendría que localizar la ventana, reconocer el campo de búsqueda, introducir el nombre y analizar los resultados.
Frente a una macro basada en coordenadas, la ventaja es que el agente puede actuar sobre elementos identificados por su función y nombre. La limitación sigue siendo la misma: la aplicación debe exponer controles accesibles y el agente tiene que gestionar los cambios de pantalla.
2. Crear un asistente personal con IA
Agent Desktop también puede ser la capa de ejecución de un asistente personal capaz de trabajar con distintas aplicaciones del ordenador.
Una petición podría ser:
«Abre mi aplicación de correo, busca los mensajes pendientes y prepara un resumen de las tareas que debo completar».
Para construirlo se necesitan varios componentes:
- Modelo de IA: interpreta la petición, identifica la información relevante y redacta el resumen.
- Agent Desktop: abre el cliente de correo, inspecciona sus controles y permite navegar por la interfaz.
- Memoria o almacenamiento: conserva el resultado para consultarlo posteriormente, si hace falta.
- Interfaz conversacional: permite dar instrucciones, revisar resultados y aprobar determinadas acciones.
El asistente podría buscar mensajes sin leer, extraer remitentes y asuntos, consultar el contenido de los correos seleccionados y preparar una lista de tareas. Después podría abrir una aplicación de notas y trasladar allí el resultado.
Hay que separar la lectura y preparación de información de las acciones que producen efectos externos. Abrir un mensaje o redactar una respuesta no equivale a enviarla. El envío de correos, la eliminación de mensajes y la modificación de datos deberían requerir confirmación y estar sujetos a una política de permisos.
Además, si el correo ofrece una API o un conector oficial adecuado, esa integración puede ser preferible. Agent Desktop tiene más sentido cuando es necesario operar el cliente de escritorio o no existe una alternativa directa satisfactoria.
3. Automatizar tareas administrativas
Buena parte del trabajo de oficina consiste en trasladar información entre programas, completar formularios y actualizar registros. Agent Desktop permite interactuar con las interfaces que participan en esos procesos.
Un ejemplo sería la gestión de solicitudes:
| Paso | Aplicación | Acción del agente |
|---|---|---|
| 1 | Cliente de correo | Localizar una solicitud y leer sus datos |
| 2 | Programa de gestión | Buscar al cliente y abrir su ficha |
| 3 | Aplicación de tareas | Crear una tarea con el resumen y la fecha límite |
El modelo puede extraer del correo el nombre del cliente, el tipo de solicitud y la fecha indicada. Agent Desktop se encarga de navegar por las aplicaciones y rellenar los campos. Antes de guardar, el agente puede presentar los datos al usuario para que los revise.
Otros procesos que podrían automatizarse son:
- Introducir datos en programas empresariales.
- Actualizar fichas y registros.
- Copiar información entre aplicaciones.
- Consultar el estado de pedidos y solicitudes.
- Preparar informes a partir de datos visibles.
- Repetir operaciones administrativas sujetas a reglas conocidas.
En procesos empresariales estables, no conviene utilizar la interfaz gráfica para cada operación si existe una API o una integración de base de datos autorizada. La automatización de escritorio es una vía de compatibilidad, no siempre la más eficiente.
4. Trabajar con hojas de cálculo
También es posible desarrollar agentes que interactúen con Excel o LibreOffice Calc, siempre que la versión utilizada y sus controles expongan suficiente información accesible.
Entre las tareas posibles están:
- Abrir un libro y cambiar entre hojas.
- Seleccionar celdas o rangos.
- Introducir y modificar valores.
- Copiar y pegar información.
- Utilizar atajos de teclado para desplazarse por la hoja.
- Consultar los datos que aparecen en la interfaz.
Imagina esta petición: «Abre el archivo de ventas, localiza las filas sin fecha de entrega y prepara una lista para revisar». El agente puede abrir el libro, recorrer la hoja y recoger la información visible. Después, el modelo analiza los datos y prepara el resultado.
Sin embargo, Agent Desktop no suele ser la mejor opción para procesar grandes volúmenes de datos en Excel. Para modificar miles de filas, aplicar fórmulas o trabajar directamente con libros, pueden resultar más adecuados:
- Microsoft Graph: para libros almacenados en Microsoft 365.
- Office Scripts o VBA: según el entorno y las necesidades de automatización.
- openpyxl: para leer y modificar archivos
.xlsxdesde Python.
Agent Desktop destaca cuando el proceso exige manejar una aplicación abierta, interactuar con un cuadro de diálogo o combinar Excel con otros programas.
5. Automatizar aplicaciones de comunicación
Un agente de escritorio puede utilizar clientes de correo, mensajería y herramientas de colaboración para consultar información y preparar acciones.
Algunos ejemplos:
- Revisar las notificaciones visibles.
- Abrir una conversación concreta.
- Buscar un mensaje.
- Copiar información de un chat a una tarea.
- Preparar una respuesta sin enviarla.
- Organizar las ventanas de correo, calendario y mensajería.
Un caso práctico sería un asistente que revise una conversación de equipo, identifique las tareas asignadas al usuario y las traslade a una aplicación de gestión.
La capacidad técnica de pulsar «Enviar» no significa que el agente tenga autorización para hacerlo. Antes de enviar mensajes, publicar en canales, aceptar invitaciones o compartir archivos, debería solicitar aprobación.
6. Automatizar tareas de desarrollo
Los desarrolladores también pueden aprovechar Agent Desktop para controlar herramientas que no disponen de una interfaz de automatización programática adecuada.
Algunos ejemplos de uso:
- Abrir un IDE y cambiar entre proyectos.
- Consultar paneles y ventanas de una aplicación de desarrollo.
- Operar terminales gráficas.
- Abrir herramientas de diseño o depuración.
- Interactuar con cuadros de diálogo de configuración.
- Recopilar información visible para documentar un error.
Un agente podría recibir la instrucción «abre el IDE, carga el proyecto de pruebas y comprueba si aparece el error al iniciar la aplicación». Agent Desktop le permitiría manejar la interfaz, mientras que el agente tendría que interpretar los mensajes, ejecutar las pruebas y decidir los siguientes pasos.
Conviene elegir la herramienta adecuada para cada tarea:
- Para ejecutar comandos, utilizar Git, compilar o lanzar pruebas, es preferible un CLI.
- Para leer o modificar archivos, resulta más directo acceder al sistema de archivos.
- Para probar una web, conviene utilizar Playwright o agent-browser.
- Para interactuar con una ventana nativa o un diálogo del sistema, Agent Desktop puede ser la opción apropiada.
La interfaz gráfica debe utilizarse cuando forma parte del problema, no como sustituto de todas las herramientas de desarrollo.
7. Crear agentes de QA y pruebas de escritorio
Agent Desktop puede servir de base para desarrollar agentes que prueben aplicaciones nativas.
Un agente de QA podría seguir este procedimiento:
- Abrir la aplicación que se va a probar.
- Obtener un snapshot de la ventana.
- Identificar los campos, botones y menús necesarios.
- Introducir datos de prueba.
- Ejecutar las acciones previstas.
- Obtener un nuevo snapshot.
- Comparar el estado observado con el resultado esperado.
- Guardar el registro de ejecución e informar de los errores.
Por ejemplo, una prueba podría comprobar que una aplicación de inventario permite crear un artículo, asignarle una categoría y mostrarlo en el listado correspondiente.
Hay dos tipos de comprobaciones que conviene diferenciar:
- Pruebas basadas en accesibilidad: verifican roles, nombres, valores, estados y acciones de los controles. Sirven para comprobar que la aplicación expone correctamente su interfaz y responde a las interacciones.
- Pruebas visuales: comprueban posiciones, apariencia, colores, iconos y posibles errores de renderizado. Necesitan capturas de pantalla y un sistema de análisis visual.
El árbol de accesibilidad, por sí solo, no permite demostrar que una pantalla está bien diseñada o que un icono se representa correctamente.
8. Gestionar ventanas y notificaciones
El proyecto incluye comandos para consultar las aplicaciones abiertas, las ventanas y las pantallas, además de realizar distintas operaciones de gestión.
Un agente podría:
- Enumerar las aplicaciones en ejecución.
- Consultar las ventanas disponibles.
- Activar, mover o cambiar el tamaño de una ventana, cuando la plataforma lo permita.
- Minimizar, maximizar o restaurar ventanas.
- Consultar las notificaciones del sistema.
- Descartar una notificación o ejecutar una acción disponible.
Con estas funciones se puede construir un asistente de productividad que prepare el entorno de trabajo: abrir el IDE, mostrar el correo, colocar una hoja de cálculo en primer plano y consultar las notificaciones.
El soporte varía según el sistema operativo. En Linux, por ejemplo, el control de ventanas nativas presenta limitaciones específicas en Wayland. Que un comando aparezca en el README no significa que vaya a funcionar de la misma manera en todos los entornos.
Para escenarios con varios agentes, el proyecto contempla un mecanismo de lease sobre la entrada física. Cuando un agente solicita controlar el ratón o el teclado en modo físico, obtiene una concesión identificada mediante un cursor de color propio. Así se evita que las operaciones de distintos agentes y las de la persona se interfieran.
9. Construir agentes especializados
La combinación de Agent Desktop, un modelo de IA y otras integraciones permite desarrollar herramientas adaptadas a necesidades concretas.
| Agente o producto | Problema que resuelve | Qué aporta Agent Desktop | Integraciones adicionales |
|---|---|---|---|
| Asistente de oficina | Tareas repartidas entre varias aplicaciones | Navegación, lectura y acciones en interfaces | Modelo de IA, correo, calendario y almacenamiento |
| Agente de entrada de datos | Introducción repetitiva de información | Rellenar formularios y actualizar registros | OCR, validación y API de datos |
| Gestor de aplicaciones | Preparar el entorno de trabajo | Abrir, consultar y organizar ventanas | Modelo de IA y preferencias del usuario |
| Asistente de productividad | Convertir mensajes en tareas | Trasladar información entre programas | Calendario, gestor de tareas y memoria |
| Agente de soporte técnico | Guiar o ejecutar diagnósticos | Consultar controles y configuraciones | Base de conocimiento y sistema de tickets |
| Agente de QA | Probar aplicaciones de escritorio | Interactuar con controles y verificar estados | Framework de pruebas, aserciones e informes |
| Automatizador interno | Conectar procesos sin una API común | Operar las interfaces implicadas | Reglas empresariales, autenticación y auditoría |
| Asistente para ERP | Operar programas complejos | Navegar por formularios y paneles | APIs corporativas y permisos por rol |
En todos estos casos hace falta algo más que instalar Agent Desktop. Hay que definir las instrucciones del agente, limitar las aplicaciones a las que puede acceder, validar los datos y establecer qué operaciones requieren confirmación.
Principales comandos y capacidades de Agent Desktop
La versión consultada incluye 60 nombres de comandos. De ellos, 56 son operativos según el estado documentado del proyecto. Otros cuatro —key-down, key-up, mouse-down y mouse-up— están presentes, pero rechazan la ejecución mientras no exista un daemon capaz de liberar la tecla o el botón mantenido.
Se trata de una decisión de seguridad fail-closed: ante la ausencia del mecanismo necesario para garantizar la liberación de la entrada física, la operación no se ejecuta. Por tanto, no hay que interpretar el listado de comandos como si todos estuvieran disponibles en idénticas condiciones.
Observar e inspeccionar la interfaz
| Comando | Función |
|---|---|
snapshot | Obtiene el árbol de accesibilidad de una aplicación o superficie |
find | Busca elementos que coinciden con determinados criterios |
get | Consulta las propiedades de un elemento |
is | Comprueba una condición o estado |
screenshot | Captura una imagen de la pantalla o del objetivo compatible |
list-surfaces | Enumera las superficies de interfaz disponibles |
Ejemplos:
agent-desktop snapshot --app Finder -i
agent-desktop list-surfaces
La opción -i genera una vista centrada en los elementos interactivos y sus referencias. En interfaces grandes, --skeleton permite obtener primero una estructura simplificada y explorar después la región necesaria.
Interactuar con los controles
| Comando | Función |
|---|---|
click | Hace clic |
double-click | Hace doble clic |
triple-click | Hace triple clic |
right-click | Hace clic derecho |
type | Escribe texto |
set-value | Establece el valor de un control compatible |
clear | Limpia un campo |
focus | Da el foco a un elemento |
select | Selecciona una opción |
toggle | Cambia el estado de un control |
check / uncheck | Marca o desmarca un elemento |
expand / collapse | Expande o contrae un elemento |
scroll / scroll-to | Desplaza la interfaz |
Ejemplo conceptual:
agent-desktop click '@s8f3k2p9:e8'
agent-desktop type 'Texto de prueba'
La referencia del ejemplo es ilustrativa. En una ejecución real hay que utilizar la que devuelve el snapshot vigente, no una referencia copiada de una sesión anterior.
Controlar el teclado y el ratón
| Comando | Función |
|---|---|
press | Envía una pulsación de tecla |
hover | Sitúa el puntero sobre un elemento |
drag | Arrastra un elemento |
mouse-move | Mueve el ratón |
mouse-click | Hace clic mediante coordenadas o entrada física |
mouse-wheel | Simula el desplazamiento de la rueda |
key-down / key-up | Mantiene y libera una tecla; requiere daemon |
mouse-down / mouse-up | Mantiene y libera un botón; requiere daemon |
Las acciones semánticas basadas en referencias son la vía habitual. Las operaciones físicas pueden necesitar --headed y dependen de las políticas y capacidades de cada plataforma.
Gestionar aplicaciones y ventanas
| Comando | Función |
|---|---|
launch | Abre una aplicación |
close-app | Solicita cerrar una aplicación |
list-apps | Enumera las aplicaciones |
list-windows | Enumera las ventanas |
list-displays | Consulta las pantallas disponibles |
focus-window | Activa una ventana |
resize-window | Cambia el tamaño de una ventana |
move-window | Cambia su posición |
minimize / maximize | Minimiza o maximiza |
restore | Restaura una ventana |
open-system-surface | Abre una superficie del sistema compatible |
En Windows, launch admite una ruta absoluta o determinados nombres de ejecutables del sistema, pero no resuelve cualquier nombre comercial de aplicación. Para localizar programas que ya están abiertos, suele ser más útil list-apps.
Gestionar notificaciones y portapapeles
| Comando | Función |
|---|---|
list-notifications | Consulta las notificaciones disponibles |
dismiss-notification | Descarta una notificación |
dismiss-all-notifications | Descarta todas las notificaciones compatibles |
notification-action | Ejecuta una acción disponible en una notificación |
clipboard-get | Lee el portapapeles |
clipboard-set | Escribe en el portapapeles |
clipboard-clear | Limpia el portapapeles |
El portapapeles facilita el traslado de texto entre programas, pero también puede contener contraseñas, datos personales o información empresarial. Un agente no debería leerlo ni enviar su contenido a un modelo externo salvo que esa operación forme parte de la tarea autorizada.
Sesiones, diagnóstico y sistema
| Comando | Función |
|---|---|
session | Gestiona el contexto de sesión |
trace | Registra información de ejecución para diagnóstico |
cursor-overlay | Controla la superposición visual del cursor |
status | Informa del estado del entorno y de las superficies compatibles |
permissions | Consulta o guía la configuración de permisos |
version | Muestra la versión instalada |
batch | Agrupa varias operaciones en una ejecución |
skills | Muestra instrucciones y guías para agentes |
wait | Espera a que se cumpla una condición o cambie el estado |
Dos comandos merecen especial atención:
batch: agrupa varias operaciones en una sola ejecución y reduce la sobrecarga de iniciar un proceso por cada acción.wait: permite esperar a que una ventana termine de cargar o a que cambie una condición, evitando intentar pulsar un botón antes de que esté disponible.
Para consultar los argumentos exactos de cada comando, utiliza la ayuda de la versión instalada:
agent-desktop snapshot --help
agent-desktop click --help
agent-desktop batch --help
También conviene consultar las instrucciones específicas para el agente y el sistema operativo:
agent-desktop skills get desktop
agent-desktop skills get platform
Estas guías explican cómo gestionar referencias, verificar acciones, recuperarse de errores y tener en cuenta las diferencias entre macOS, Windows y Linux.
Cómo instalar Agent Desktop
Requisitos del sistema
Agent Desktop utiliza las tecnologías de accesibilidad nativas de cada sistema operativo.
| Sistema operativo | Requisito documentado | API de accesibilidad |
|---|---|---|
| macOS | macOS 13 o posterior; Intel o Apple Silicon | AX API |
| Windows | Windows 10 versión 1809 o posterior; x64 o ARM64 | UI Automation |
| Linux | Ubuntu 24.04 o posterior; x86_64 o ARM64 | AT-SPI |
El paquete npm requiere Node.js 18 o posterior. La distribución incluye binarios nativos para arquitecturas x64 y ARM64. El motor está desarrollado en Rust, por lo que compilarlo desde el código fuente exige Rust y las herramientas de compilación correspondientes al sistema operativo.
Linux tiene algunos requisitos adicionales:
- glibc 2.35 como mínimo.
- Paquete
at-spi2-core. - Ejecución dentro de la sesión gráfica del usuario.
Una terminal SSH, un contenedor sin acceso al bus de sesión o un servidor sin entorno gráfico no necesariamente podrán detectar las aplicaciones abiertas.
Instalación mediante npm
Abre una terminal y ejecuta:
npm install -g agent-desktop
Comprueba que la instalación funciona:
agent-desktop version
agent-desktop status
El primer comando muestra la versión instalada. El segundo informa de la plataforma, los permisos y las superficies de escritorio que puede detectar.
Si prefieres evitar una instalación global, puedes utilizar:
npx agent-desktop status
También existen opciones de instalación con pnpm, Yarn y Bun.
¿Se puede instalar con Homebrew o Scoop?
Algunas referencias iniciales mencionan brew install agent-desktop para macOS y Linux, o la instalación mediante Scoop en Windows. Sin embargo, en la fecha de consulta los paquetes oficiales de Homebrew y Scoop todavía figuraban en proceso de envío a sus repositorios correspondientes. Además, las primeras versiones del proyecto retiraron su tap propio.
Por ahora, npm (o npx) y los binarios publicados en GitHub Releases son las vías de instalación documentadas. Antes de utilizar otro método, conviene comprobar el README actualizado.
Hay otra particularidad relacionada con npm: algunas versiones recientes pueden bloquear los scripts de instalación. En ese caso, el paquete puede recurrir a un lanzador Node en lugar de ejecutar directamente el binario nativo, lo que añade cierta latencia a cada llamada. La documentación explica cómo autorizar el script de instalación si se busca el máximo rendimiento.
Configurar los permisos
Los permisos necesarios dependen del sistema operativo.
macOS
Agent Desktop necesita permiso de Accesibilidad para inspeccionar y operar los controles. Las capturas de pantalla requieren además autorización para Grabación de pantalla. Algunas operaciones relacionadas con System Events pueden necesitar permiso de Automatización.
Consulta y configura los permisos con:
agent-desktop permissions
agent-desktop permissions --request
agent-desktop permissions --guide
El primer comando muestra el estado actual, el segundo solicita los permisos mediante los avisos del sistema y el tercero abre la guía interactiva.
Windows
No se necesita una autorización adicional para interactuar con aplicaciones que se ejecutan al mismo nivel de integridad que la terminal.
La situación cambia cuando un programa se ejecuta como administrador. Un proceso sin elevación puede llegar a leer su interfaz, pero no necesariamente enviarle acciones. Para controlar esa aplicación, el agente debe ejecutarse con un nivel de privilegios adecuado.
La documentación también advierte de posibles interferencias de SmartScreen y Smart App Control con los binarios descargados. Antes de restaurar un archivo puesto en cuarentena, comprueba su suma SHA-256 y verifica que procede del paquete oficial.
Linux
Agent Desktop debe ejecutarse dentro de la sesión gráfica del usuario y necesita at-spi2-core.
Para determinadas operaciones de teclado se requiere XTEST en X11 o GNOME Mutter RemoteDesktop en Wayland. El portapapeles en Wayland necesita wl-clipboard.
Por tanto, instalar el paquete en un servidor Linux sin entorno gráfico no basta para controlar aplicaciones de escritorio.
Primer uso: controlar Finder en macOS
Una vez instalado Agent Desktop y concedidos los permisos necesarios, puedes obtener un snapshot de Finder:
agent-desktop snapshot --app Finder -i
El resultado es un objeto JSON. Este ejemplo reducido muestra la estructura general:
{
"version": "2.6",
"ok": true,
"command": "snapshot",
"data": {
"app": "Finder",
"snapshot_id": "s8f3k2p9",
"ref_count": 59,
"complete": true,
"tree": {
"role": "window",
"name": "Downloads",
"children": [
{
"role": "treeitem",
"name": "Documents",
"ref_id": "@s8f3k2p9:e8",
"available_actions": ["Click"]
}
]
}
}
}
Los campos principales son:
ok: indica si el comando se ha ejecutado correctamente.app: identifica la aplicación consultada.snapshot_id: identifica esa observación de la interfaz.ref_count: indica cuántas referencias se han incluido.complete: señala si se ha obtenido el árbol completo.tree: contiene la jerarquía de controles.ref_id: es la referencia que puede utilizarse para ejecutar una acción.
Si el snapshot devuelve una referencia como @s8f3k2p9:e8, puedes utilizarla así:
agent-desktop click '@s8f3k2p9:e8'
Después, vuelve a consultar la interfaz para comprobar el resultado.
No reutilices referencias de ejemplos antiguos: cada una pertenece a un snapshot concreto. Si la interfaz cambia, puede quedar obsoleta o resultar ambigua. En PowerShell, conviene escribir las referencias entre comillas simples para evitar que el carácter @ se interprete como sintaxis propia de esa consola.
Cómo integrar Agent Desktop con Claude Code, Codex y otros agentes
Agent Desktop no está ligado a un proveedor concreto de modelos. Hay tres formas habituales de conectarlo con un agente de IA.
Opción 1: utilizarlo desde la terminal
Si el agente puede ejecutar comandos de terminal, puede llamar directamente a Agent Desktop y analizar el JSON que devuelve.
Es la forma más sencilla de empezar, aunque el agente necesita instrucciones claras para utilizar correctamente las referencias, saber cuándo obtener un nuevo snapshot y gestionar los errores. Sin esas pautas, es fácil que intente actuar sobre elementos que ya han cambiado.
Opción 2: instalar la skill oficial
El proyecto ofrece una skill que enseña al agente el ciclo de observación, interacción y verificación.
Instálala con:
npx skills add https://github.com/vercel-labs/agent-desktop --skill agent-desktop
En el ecosistema de skills aparecen identificadores para distintos agentes:
| Agente | Identificador |
|---|---|
| Claude Code | claude-code |
| Codex | codex |
| Cursor | cursor |
| OpenCode | opencode |
| Gemini CLI | gemini-cli |
| GitHub Copilot | github-copilot |
Para seleccionar un destino concreto, utiliza el parámetro -a. Por ejemplo, para Claude Code:
npx skills add https://github.com/vercel-labs/agent-desktop --skill agent-desktop -a claude-code
La skill no convierte Agent Desktop en una función nativa del modelo. Añade instrucciones para que el agente sepa cómo ejecutar el programa, interpretar las referencias y recuperarse de errores.
Opción 3: añadir instrucciones al proyecto
Si el agente utiliza un archivo de instrucciones como AGENTS.md, puedes incorporar unas pautas específicas:
## Desktop automation
Use agent-desktop to inspect and operate desktop applications.
Before the first use:
1. Run `agent-desktop skills get desktop`.
2. Run `agent-desktop skills get platform`.
3. Follow the instructions for the current operating system.
Use a fresh snapshot before acting on UI references.
Verify the result after each important action.
Retry a failed command only when its JSON error
explicitly marks the retry as safe.
Para empezar, la skill oficial suele ser la alternativa más cómoda. Si estás desarrollando una aplicación propia y quieres una integración más estructurada, merece la pena considerar MCP.
Cómo utilizar Agent Desktop mediante MCP
Qué es MCP
MCP (Model Context Protocol) es un protocolo que permite conectar modelos y agentes con herramientas externas mediante una interfaz común. En lugar de pedir al agente que construya comandos de terminal manualmente, un servidor MCP presenta las operaciones disponibles como herramientas que puede descubrir y utilizar.
Agent Desktop incorpora su propio servidor MCP. Se inicia con:
agent-desktop mcp
El servidor utiliza comunicación estándar mediante entrada y salida (stdio). Cada comando se expone como una herramienta MCP con su nombre y los argumentos correspondientes. Algunos ejemplos son desktop_snapshot, desktop_click y desktop_session_start.
Los resultados mantienen el formato JSON de Agent Desktop.
Configurar el servidor MCP
La configuración documentada sigue esta estructura:
{
"mcpServers": {
"agent-desktop": {
"command": "agent-desktop",
"args": ["mcp"]
}
}
}
La ubicación del archivo depende del cliente MCP que utilices. También puedes añadir opciones globales al iniciar el servidor, como --session, --headed o --trace. Estas opciones se aplican a las llamadas que se realizan a través del servidor.
Cómo sería una conversación con el agente
Imagina que quieres trasladar información de una aplicación de escritorio a otra:
- El usuario pide: «Abre la aplicación de gestión, localiza los pedidos pendientes y prepara un resumen en mi aplicación de notas».
- El agente interpreta la petición y organiza los pasos.
- Utiliza herramientas MCP como
desktop_launch,desktop_snapshotydesktop_clickpara navegar por las aplicaciones. - Obtiene nuevos snapshots para comprobar que la información se ha trasladado correctamente.
La ventaja de MCP es que el agente trabaja con herramientas definidas, en lugar de improvisar comandos en cada paso. Eso sí, MCP no aporta inteligencia ni concede permisos por sí mismo: el modelo sigue siendo responsable de razonar sobre la tarea y el entorno de ejecución debe controlar qué operaciones están permitidas.
Tutorial práctico: crear un agente de escritorio
Vamos a plantear un proyecto sencillo: un agente que consulta información en una aplicación de gestión y la transfiere a otra aplicación de notas.
El objetivo es mostrar cómo se organizaría la implementación. No se trata de una prueba ejecutada en un equipo real ni de una garantía de compatibilidad con cualquier programa: los controles disponibles dependen de cada aplicación.
Paso 1. Preparar el entorno
Instala Agent Desktop:
npm install -g agent-desktop
agent-desktop version
agent-desktop status
Si utilizas macOS, configura los permisos:
agent-desktop permissions --guide
Obtén también las instrucciones correspondientes al escritorio y al sistema operativo:
agent-desktop skills get desktop
agent-desktop skills get platform
Antes de continuar, comprueba que las aplicaciones de prueba aparecen en el entorno y que Agent Desktop puede inspeccionar sus ventanas.
Paso 2. Conectar el agente
Instala la skill oficial:
npx skills add https://github.com/vercel-labs/agent-desktop --skill agent-desktop
Como alternativa, añade la configuración del servidor MCP al cliente que utilices, siguiendo el ejemplo de la sección anterior.
Paso 3. Observar la primera aplicación
Supongamos que el programa de gestión ya está abierto. Empieza consultando las aplicaciones y ventanas disponibles:
agent-desktop list-apps
agent-desktop list-windows
agent-desktop snapshot --app "Nombre de la aplicación" -i
El resultado permite identificar los controles, nombres, roles y referencias. El agente tendrá que localizar el buscador o el apartado donde aparecen los pedidos pendientes.
Si la interfaz es muy extensa, es mejor comenzar con --skeleton y explorar después la región que contiene los controles necesarios.
Paso 4. Ejecutar las acciones
Una vez identificados los elementos, el agente puede interactuar con ellos:
agent-desktop click '@referencia-del-snapshot'
agent-desktop type 'pendiente'
Después debe obtener un nuevo snapshot y analizar los resultados.
Cuando haya localizado los datos necesarios —identificador del pedido, cliente, estado y fecha prevista—, podrá abrir la aplicación de notas y preparar el resumen. Antes de escribirlo en el segundo programa, conviene validar la información extraída.
Paso 5. Verificar el resultado
La verificación no puede limitarse a comprobar que el comando ha devuelto ok: true.
Después de escribir el resumen en la aplicación de notas, el agente debe obtener otro snapshot y comprobar que el texto aparece en el lugar correcto. Si la aplicación requiere una acción adicional para guardar los cambios, también tendrá que verificar que se ha completado.
Que un comando se ejecute correctamente no garantiza, por sí solo, que el resultado del proceso sea correcto.
Paso 6. Gestionar los errores
Agent Desktop devuelve errores estructurados, con códigos y sugerencias para recuperarse.
| Error | Significado | Cómo actuar |
|---|---|---|
STALE_REF | La referencia ya no puede resolverse | Obtener un nuevo snapshot y utilizar una referencia actualizada |
AMBIGUOUS_TARGET | La referencia coincide con varios elementos | Volver a inspeccionar la interfaz y localizar un objetivo inequívoco |
PERM_DENIED | Falta un permiso necesario | Revisar la configuración de permisos |
ELEMENT_NOT_FOUND | No se encuentra el elemento buscado | Comprobar el estado de la aplicación y actualizar el snapshot |
ACTION_NOT_SUPPORTED | El elemento o la plataforma no admite esa acción | Probar otra acción o recurrir a un método alternativo |
APP_UNRESPONSIVE | La aplicación no responde | Esperar, comprobar su estado y decidir si es seguro continuar |
STALE_REF es especialmente habitual en sesiones largas: aparece cuando se intenta utilizar una referencia de un snapshot anterior y la interfaz ya ha cambiado.
AMBIGUOUS_TARGET describe un problema distinto. No significa necesariamente que el elemento haya desaparecido, sino que el sistema no puede identificar un único objetivo con suficiente certeza.
La salida JSON también incluye información sobre si es seguro reintentar una operación. El agente debe respetar esa indicación y evitar repetir automáticamente una acción cuando el resultado de la ejecución anterior sea incierto.
Paso 7. Añadir la lógica de IA
Hasta aquí hemos visto cómo controlar el escritorio. Para convertirlo en un agente útil hay que incorporar el modelo y la lógica que coordina el proceso:
- Entrada: el usuario describe la tarea en lenguaje natural.
- Planificación: el modelo transforma la petición en una secuencia de pasos.
- Ejecución: el agente llama a las herramientas de Agent Desktop.
- Interpretación: el modelo analiza el JSON recibido.
- Validación: el agente comprueba si el estado observado coincide con el esperado.
- Confirmación: solicita aprobación antes de realizar operaciones sensibles.
- Resultado: presenta un resumen de lo completado y de las tareas que no ha podido terminar.
El modelo puede proceder de cualquier proveedor compatible con el entorno de agentes utilizado. Agent Desktop no obliga a elegir uno concreto.
Arquitectura técnica: CLI, Rust y biblioteca C
Aunque la instalación habitual se realiza mediante npm, Agent Desktop no es simplemente un programa JavaScript.
El repositorio está desarrollado principalmente en Rust y separa el acceso a cada sistema operativo mediante adaptadores específicos.
| Componente | Responsabilidad |
|---|---|
agent-desktop-core | Tipos y lógica compartida |
agent-desktop-macos | Adaptador de accesibilidad de macOS |
agent-desktop-windows | Adaptador de Windows UI Automation |
agent-desktop-linux | Adaptador Linux AT-SPI |
agent-desktop-ffi | Biblioteca compartida e interfaz C |
src/ | CLI, despacho de comandos, sesiones y políticas |
skills/ | Instrucciones para agentes |
tests/ | Pruebas y fixtures de las plataformas |
El núcleo utiliza una abstracción denominada PlatformAdapter. Los comandos comunes trabajan con una interfaz compartida, mientras que cada adaptador implementa las operaciones específicas de su sistema operativo.
Para qué sirven la biblioteca C y la FFI
Además del CLI, Agent Desktop distribuye libagent_desktop_ffi, una biblioteca que permite llamar a sus funciones desde otro programa sin iniciar un proceso de terminal para cada operación.
FFI significa Foreign Function Interface. Es una interfaz que permite a programas escritos en distintos lenguajes intercambiar llamadas y datos mediante una ABI compatible.
Esto facilita la integración del motor nativo con aplicaciones escritas en:
- C y C++.
- Python, mediante
ctypes. - Rust.
- Swift.
- Go.
- Ruby.
- Node.js.
La principal ventaja es que una aplicación puede incorporar el motor dentro de su propio proceso. Por ejemplo, podría utilizarse en un agente de escritorio con interfaz gráfica propia, un servicio de automatización o una aplicación empresarial.
Eso no significa que FFI sea más sencilla que el CLI. Para utilizarla correctamente hay que gestionar la ABI, los tipos de datos, la memoria y la versión del encabezado C. Si solo quieres probar Agent Desktop, empezar por la terminal resulta mucho más práctico.
Agent Desktop frente a otras herramientas de automatización
Agent Desktop aparece en búsquedas relacionadas con Computer Use, RPA y automatización de escritorio, pero no compite directamente con todas esas herramientas. La diferencia está en el entorno que controlan y en cómo identifican los elementos de la interfaz.
| Herramienta | Enfoque | Apps de escritorio | Navegador | Requiere modelo de IA | Uso principal |
|---|---|---|---|---|---|
| Agent Desktop | Árbol de accesibilidad del sistema operativo | Sí | No | Sí, para utilizarlo como agente | Control semántico de aplicaciones nativas |
| OpenAI Computer Use | Observación visual y control del entorno | Sí | Sí | Sí | Integrar Computer Use con modelos OpenAI |
| Anthropic Computer Use | Capturas, ratón y teclado | Sí, en entorno controlado | Sí | Sí | Dar control visual del ordenador a Claude |
| Microsoft Power Automate | RPA con selectores de interfaz | Sí, especialmente Windows | Sí | No necesariamente | Automatización de procesos empresariales |
| Ui.Vision RPA | Macros y reconocimiento visual | Sí, mediante XModules | Sí | Opcional | Automatización y pruebas visuales |
| Playwright | APIs y locators de navegador | No | Sí | No | Pruebas y automatización web |
| Browser Use | Agentes de navegador | No | Sí | Normalmente sí | Agentes que navegan por páginas web |
| agent-browser | CLI web con árbol de accesibilidad | No | Sí | No incluye uno | Control de navegadores desde agentes |
| PyAutoGUI | Ratón, teclado y capturas | Sí | Visualmente | No | Scripts de automatización gráfica |
Agent Desktop frente a OpenAI y Anthropic Computer Use
Las herramientas de Computer Use de OpenAI y Anthropic permiten que sus modelos operen interfaces mediante capturas de pantalla y acciones visuales. La aplicación que integra el modelo proporciona el mecanismo que ejecuta esas acciones.
La diferencia principal está en cómo se observa la interfaz. Los enfoques de OpenAI y Anthropic se apoyan principalmente en imágenes, mientras que Agent Desktop prioriza las referencias del árbol de accesibilidad. Esto puede reducir el consumo de tokens y facilitar la identificación de controles.
No son arquitecturas incompatibles. Un mismo sistema puede combinar ambas: utilizar referencias semánticas cuando están disponibles y recurrir a la percepción visual cuando necesita interpretar información que no aparece en el árbol de accesibilidad. Además, Agent Desktop es independiente del proveedor del modelo.
También conviene tener presente el estado general de la tecnología. Benchmarks como OSWorld evalúan la capacidad de los agentes para completar tareas reales en un ordenador. En las referencias de rendimiento citadas para este entorno, el nivel humano ronda el 72 %, mientras que los mejores modelos se sitúan por debajo. El Computer Use sigue evolucionando y las diferencias entre enfoques afectan directamente al coste, la velocidad y la tasa de éxito.
Agent Desktop frente a Power Automate, Ui.Vision y PyAutoGUI
Microsoft Power Automate está orientado a crear flujos RPA mediante acciones, selectores y herramientas visuales para capturar controles. Tiene especial interés en empresas que trabajan con Windows y el ecosistema Microsoft. Puede ejecutar procesos basados en reglas sin necesidad de incorporar un modelo de IA.
Ui.Vision RPA combina macros, automatización web, reconocimiento visual y automatización de escritorio mediante módulos específicos. También ofrece opciones de integración asistida por IA.
PyAutoGUI es una biblioteca de Python para mover el ratón, hacer clic, escribir y localizar imágenes. Resulta útil para scripts gráficos sencillos, aunque sus interacciones dependen de posiciones y patrones visuales, no de referencias semánticas.
Agent Desktop frente a Playwright, Browser Use y agent-browser
Playwright es una herramienta especializada en automatización y pruebas de navegadores. Sus locators permiten identificar elementos de páginas web y comprobar que están en condiciones de recibir una acción.
Browser Use está pensado para desarrollar agentes que navegan por páginas web.
agent-browser, otro proyecto de Vercel Labs, ofrece un CLI para controlar navegadores mediante referencias y una representación accesible de las páginas.
No hay que confundir agent-browser con Agent Desktop: el primero controla navegadores; el segundo utiliza las APIs de accesibilidad del sistema operativo para controlar aplicaciones de escritorio.
De hecho, ambos pueden trabajar juntos. Agent Desktop documenta la interoperabilidad con CDP (Chrome DevTools Protocol), lo que permite que un agente controle el escritorio con Agent Desktop y delegue las tareas web en agent-browser o Playwright dentro de una misma sesión.
Qué herramienta elegir según la tarea
| Necesidad | Opción normalmente más adecuada |
|---|---|
| Consultar o modificar datos de un servicio | API oficial |
| Ejecutar comandos de sistema o desarrollo | CLI |
| Automatizar páginas web | Playwright o agent-browser |
| Crear flujos RPA empresariales | Power Automate |
| Automatizar interfaces mediante imágenes | Ui.Vision o PyAutoGUI |
| Dar Computer Use visual a un modelo concreto | OpenAI o Anthropic Computer Use |
| Controlar aplicaciones nativas mediante accesibilidad | Agent Desktop |
Limitaciones y riesgos de Agent Desktop
No incluye un modelo de IA
El proyecto no incorpora un LLM que interprete instrucciones en lenguaje natural. Para construir un asistente necesitas integrar un modelo externo o un agente capaz de utilizar el CLI, la FFI o MCP.
No decide qué acciones debe ejecutar
Agent Desktop puede realizar operaciones, pero no conoce por sí mismo el objetivo del usuario. Es el agente quien debe decidir qué aplicación abrir, qué información buscar y qué hacer con ella.
Depende de la accesibilidad de las aplicaciones
Una aplicación puede utilizar controles personalizados, interfaces dibujadas mediante un motor gráfico o componentes que no exponen nombres, roles y acciones adecuados.
En esos casos, el árbol de accesibilidad puede estar incompleto o no ofrecer la información necesaria para realizar una operación. La automatización visual puede ser una alternativa, aunque tampoco garantiza que la tarea vaya a completarse correctamente.
No sustituye a las APIs
Si una aplicación ofrece una API oficial, normalmente será preferible utilizarla para operaciones repetitivas, masivas o críticas. Consultar miles de registros mediante una API suele ser mucho más eficiente que abrir una aplicación y recorrer su interfaz.
Las funciones varían según el sistema operativo
Las capacidades disponibles no son idénticas en macOS, Windows y Linux.
| Capacidad | macOS | Windows | Linux |
|---|---|---|---|
| Árbol de accesibilidad | AX API | UI Automation | AT-SPI |
| Clic y escritura semánticos | Sí | Sí | Sí, según el control y el entorno |
| Capturas de pantalla | Sí, con permiso | Sí | Depende del entorno gráfico |
| Control de ventanas | Amplio soporte | Amplio soporte | Limitado en Wayland |
| Control del ratón | Sí | Sí | Con limitaciones en Wayland |
| Portapapeles | Sí | Sí | Wayland requiere wl-clipboard |
| Notificaciones | Soporte de plataforma | Soporte de plataforma | Integración con GNOME |
En Windows, los niveles de integridad también afectan a la posibilidad de enviar acciones a aplicaciones que se ejecutan con privilegios elevados.
Las referencias pueden quedar obsoletas
Cada referencia procede de un snapshot. Si la interfaz cambia, Agent Desktop puede devolver STALE_REF o AMBIGUOUS_TARGET.
Por eso, los agentes deben volver a observar la interfaz después de cambios importantes y evitar trabajar con referencias antiguas. El proyecto incorpora mecanismos de resolución y recuperación, pero eso no convierte las referencias en identificadores permanentes.
Es un proyecto todavía muy reciente
Agent Desktop pasó de su primera release estable a la versión 1.1.0 en menos de una semana, mientras su popularidad en GitHub crecía rápidamente.
Ese ritmo implica cambios frecuentes en el código, los comandos y la documentación. Para utilizarlo en un entorno serio, conviene fijar una versión concreta en lugar de instalar siempre la última y revisar las notas de cada release antes de actualizar.
Seguridad y privacidad: qué debes tener en cuenta
Permitir que un agente controle el escritorio significa darle acceso potencial a información y operaciones de aplicaciones reales. No es una integración que convenga configurar sin límites.
Qué información puede quedar expuesta
Agent Desktop puede devolver información visible en la interfaz, como:
- Nombres de archivos.
- Mensajes y correos electrónicos.
- Datos de clientes.
- Información empresarial.
- Contenido del portapapeles.
- Capturas de pantalla.
- Datos de ventanas y notificaciones.
El README advierte de que los snapshots, las capturas, las lecturas del portapapeles, los resultados de comandos y los archivos de diagnóstico pueden contener información privada. No deberían publicarse en logs públicos ni subirse a repositorios sin revisarlos antes.
Dos capas distintas de tratamiento de datos
Es importante separar el funcionamiento de Agent Desktop del tratamiento que realiza el modelo de IA:
- Agent Desktop: consulta la interfaz local y devuelve los datos al proceso que lo está utilizando.
- Modelo de IA: puede recibir parte de esa información para analizarla, si el agente se la transmite.
Qué datos salen del equipo depende de la configuración del agente, del proveedor del modelo y de las herramientas adicionales utilizadas.
La presencia de Agent Desktop no significa que todo el contenido del escritorio se envíe automáticamente a Vercel. Tampoco garantiza que todos los datos permanezcan en el ordenador. Si el agente utiliza un modelo remoto, la información incluida en las solicitudes estará sujeta a las condiciones del proveedor correspondiente.
Buenas prácticas para utilizarlo con seguridad
- Concede únicamente los permisos necesarios.
- Limita las aplicaciones a las que puede acceder el agente.
- No permitas que envíe mensajes, correos o publicaciones sin confirmación.
- Solicita aprobación antes de eliminar archivos o modificar datos importantes.
- Evita almacenar snapshots completos en logs públicos.
- No transmitas al modelo datos personales que no sean necesarios para la tarea.
- Separa la lectura de información de las acciones irreversibles.
- Registra las operaciones relevantes sin incluir contenido privado.
- Utiliza un entorno de pruebas antes de automatizar aplicaciones empresariales.
Una configuración prudente distingue entre acciones de bajo riesgo, como abrir una ventana o consultar un estado, y operaciones con consecuencias externas, como enviar un mensaje, confirmar un pago o borrar un registro.
Estado del proyecto, licencia y mantenimiento
Agent Desktop se desarrolla en el repositorio público vercel-labs/agent-desktop, dentro de la organización Vercel Labs. El proyecto comenzó a principios de 2026 en un repositorio personal de su autor y posteriormente pasó a la organización de Vercel Labs, donde comparte ecosistema con proyectos como agent-browser.
Aunque está vinculado al entorno de Vercel, no debe confundirse con Vercel Agent ni presentarse como una plataforma completa de agentes autónomos.
La versión analizada es la 1.1.0, publicada el 3 de noviembre de 2026. Esta release incorpora correcciones de estabilidad en Windows, incluidos problemas de cierre, doble escalado de coordenadas en el overlay y artefactos visuales. También mejora la identificación de referencias de accesibilidad en las tres plataformas.
El crecimiento inicial del repositorio ha sido llamativo: pasó de cerca de 2.000 estrellas de GitHub en el momento de su lanzamiento público a más de 9.000 pocos días después. Es una señal del interés que despierta el Computer Use, pero no una medida de madurez técnica. La versión estable es reciente y el alcance de cada comando sigue dependiendo del sistema operativo y de la aplicación controlada.
El proyecto utiliza la licencia Apache-2.0, que permite utilizar, modificar y distribuir el software conforme a sus condiciones. La distribución se realiza mediante npm y los binarios publicados en GitHub Releases.
Como la versión puede cambiar después de la fecha de esta guía, conviene consultar las releases antes de instalarlo o actualizarlo.
Preguntas frecuentes sobre Agent Desktop
¿Qué es Agent Desktop de Vercel?
Es una herramienta de código abierto de Vercel Labs que permite a los agentes de IA observar y controlar aplicaciones de escritorio mediante el árbol de accesibilidad de macOS, Windows y Linux. Devuelve la interfaz en formato JSON estructurado y asigna referencias a los elementos interactivos.
¿Para qué sirve Agent Desktop?
Sirve para automatizar interacciones con aplicaciones nativas: abrir ventanas, consultar controles, pulsar botones, escribir datos, seleccionar opciones, revisar notificaciones y trasladar información entre programas.
¿Agent Desktop es gratuito y de código abierto?
Sí. El repositorio se publica bajo licencia Apache-2.0. No es una suscripción a un modelo de IA. Si lo integras con un modelo externo, el coste dependerá del proveedor y del uso que hagas de él.
¿Necesito un modelo de IA para utilizar Agent Desktop?
No para ejecutar comandos manualmente desde la terminal. Sí necesitas un modelo o un agente externo si quieres interpretar instrucciones en lenguaje natural y decidir automáticamente qué operaciones realizar.
¿Funciona con Claude Code y Codex?
Sí. Puede integrarse mediante CLI, skills y MCP. La skill oficial permite configurarlo en entornos compatibles como Claude Code, Codex, Cursor, Gemini CLI, OpenCode y GitHub Copilot. Esto no significa que Agent Desktop sea una función nativa de esos modelos o herramientas.
¿Puede controlar aplicaciones de Windows?
Sí. Utiliza Windows UI Automation y admite Windows 10 versión 1809 o posterior, tanto en x64 como en ARM64. El nivel de privilegios de la terminal puede limitar las acciones sobre aplicaciones que se ejecutan como administrador.
¿Cómo se instala Agent Desktop en macOS? ¿Existe brew install agent-desktop?
La instalación documentada es:
npm install -g agent-desktop
También puedes utilizar npx para ejecutar comandos sin una instalación global. En la fecha de consulta, los paquetes oficiales de Homebrew y Scoop todavía figuraban en proceso de envío. Si encuentras referencias a brew install agent-desktop, comprueba primero el README actualizado.
¿Funciona Agent Desktop en Linux?
Sí, pero necesita Ubuntu 24.04 o posterior, arquitectura x86_64 o ARM64, glibc 2.35 como mínimo, el paquete at-spi2-core y una sesión gráfica activa.
Algunas funciones, como el control de ventanas y la entrada física del ratón, tienen limitaciones en Wayland. El acceso al portapapeles requiere wl-clipboard.
¿Puede automatizar Excel y otras aplicaciones?
Puede interactuar con Excel y otros programas si exponen controles accesibles. Sin embargo, para modificar grandes cantidades de datos o trabajar directamente con libros de Excel, suelen ser más eficientes Microsoft Graph, Office Scripts o bibliotecas como openpyxl.
¿Puede sustituir a Playwright o Power Automate?
No de forma general. Playwright está especializado en navegadores y Power Automate en flujos RPA. Agent Desktop se centra en controlar aplicaciones de escritorio mediante las APIs de accesibilidad. Puede combinarse con herramientas de navegador mediante CDP, pero no sustituye sus funciones específicas.
¿Qué diferencia hay entre Agent Desktop y Computer Use?
Computer Use es el concepto general de permitir que un agente utilice una interfaz gráfica. Agent Desktop es una implementación concreta que utiliza principalmente el árbol de accesibilidad para identificar y controlar elementos. Frente a los enfoques basados exclusivamente en capturas de pantalla, esta representación puede reducir considerablemente el consumo de tokens.
¿Es seguro permitir que un agente controle el escritorio?
Depende de los permisos, las aplicaciones accesibles y las acciones autorizadas. Conviene limitar el acceso y exigir confirmación para operaciones sensibles, como enviar mensajes, eliminar archivos o modificar registros. También hay que revisar qué información puede salir del equipo y llegar al proveedor del modelo.
Conclusión: qué puedes construir con Agent Desktop
Agent Desktop incorpora una capacidad cada vez más relevante en el desarrollo de agentes de IA: permite que un modelo no solo trabaje con texto, código y APIs, sino que también interactúe con las aplicaciones instaladas en un ordenador.
Su principal aportación es utilizar las APIs de accesibilidad del sistema operativo para representar las interfaces de forma estructurada y con un consumo de tokens potencialmente menor. Así, el agente puede identificar controles y actuar sobre referencias concretas, sin depender exclusivamente de coordenadas o capturas de pantalla.
Sobre esa base se pueden desarrollar asistentes personales, automatizaciones administrativas, agentes de entrada de datos, sistemas de QA y herramientas de productividad capaces de conectar varias aplicaciones.
Pero es importante entender qué parte del trabajo resuelve y cuál no. Agent Desktop no es el agente, no incorpora un modelo de IA y tampoco sustituye a las APIs, los CLI ni las herramientas especializadas en automatización web. Es la capa que permite observar y controlar el escritorio. El razonamiento, la planificación, la validación y la gestión de permisos siguen siendo responsabilidad del agente que la utiliza.
Para un desarrollador que quiera construir agentes capaces de operar aplicaciones nativas, es un proyecto especialmente interesante. En cambio, quien solo necesite automatizar tareas repetitivas quizá encuentre más sencillo utilizar una solución RPA ya preparada.
La elección depende, en definitiva, de si necesitas construir un agente propio con flexibilidad para trabajar con distintas aplicaciones o prefieres una herramienta de automatización lista para utilizar.
Fuentes y documentación oficial
Fecha de consulta: 4 de noviembre de 2026. Versión de referencia: Agent Desktop 1.1.0, publicada el 3 de noviembre de 2026.
- Repositorio oficial:
github.com/vercel-labs/agent-desktop. README, arquitectura, comandos, plataformas y licencia. - GitHub Releases: historial de versiones y cambios incluidos en la versión 1.1.0.
- Documentación de instalación (
docs/install.md): requisitos, paquetes y permisos de cada plataforma. - Contrato de salida JSON (
docs/json-output.md): estructura de las respuestas y códigos de error. - AGENTS.md: organización del código y pautas de uso para agentes.
- Skill oficial en skills.sh: instalación e instrucciones de integración con agentes.
- OpenAI Computer Use: documentación de integración de Computer Use.
- Anthropic Computer Use: control visual de entornos de escritorio.
- Microsoft Power Automate Desktop: documentación de automatización de aplicaciones.
- Playwright: documentación sobre actionability y automatización de navegadores.
- Vercel agent-browser: automatización especializada de navegadores.
- Ui.Vision RPA y PyAutoGUI: documentación de automatización visual.
Nota editorial: los casos de uso de esta guía son propuestas de implementación basadas en las capacidades documentadas del proyecto. No representan pruebas de rendimiento ni integraciones empresariales verificadas en aplicaciones concretas. Las cifras de ahorro de tokens proceden del propio proyecto y no cuentan, en la fecha de consulta, con una evaluación independiente. El número de estrellas de GitHub cambia con el tiempo y no debe interpretarse como una medida de madurez.