NovedadIA
Guia

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.

Novedad48 min de lectura
Agent Desktop de Vercel: qué puedes hacer con él y cómo utilizarlo en 2026
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.

AspectoQué ofrece
Proyectovercel-labs/agent-desktop (GitHub)
DesarrolladorVercel Labs
Función principalComputer Use para agentes de IA
Sistemas operativosmacOS, Windows y Linux
Interfaces disponiblesCLI y biblioteca C (FFI)
Representación de la interfazÁrbol de accesibilidad en JSON
Integración con agentesCLI, skills y servidor MCP
Modelo de IA incluidoNo
LicenciaApache-2.0
Instalación habitualnpm 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.

PerfilUtilidadMotivo
Desarrollador de softwareAltaPuede integrarlo con agentes, MCP y FFI
Ingeniero de automatizaciónAltaPermite conectar aplicaciones que no comparten una API
Equipo de QAAltaSirve de base para agentes de prueba sobre aplicaciones nativas
Usuario avanzado de IAMedia-altaFacilita experimentar con asistentes que controlan el escritorio
Empresa con procesos internosMediaPuede encajar, pero exige evaluar permisos, seguridad y trazabilidad
Usuario sin conocimientos de programaciónBaja-mediaNo es una aplicación lista para instalar y utilizar sin configuración
Automatización masiva de datosBajaNormalmente 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:

  1. Observar: el agente solicita información sobre una aplicación o superficie.
  2. Inspeccionar: Agent Desktop consulta el árbol de accesibilidad del sistema operativo.
  3. Estructurar: devuelve los datos en JSON, con roles, nombres, jerarquías y acciones disponibles.
  4. Identificar: los elementos interactivos reciben referencias que el agente puede utilizar.
  5. Actuar: el agente solicita operaciones como hacer clic, escribir, seleccionar o desplazarse.
  6. 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:

EnfoqueCómo identifica los elementosVentajaLimitación
Árbol de accesibilidadRoles, nombres, jerarquía y accionesInteracción estructurada y eficiente en tokensDepende de la accesibilidad que exponga la aplicación
Capturas de pantallaInterpretación visual de imágenesPuede trabajar con interfaces difíciles de inspeccionarMayor coste de tokens y dependencia del reconocimiento visual
CoordenadasPosición X/Y en pantallaCompatible con casi cualquier interfazSensible a cambios de tamaño, posición y resolución
Selectores DOMElementos HTML y atributosPrecisión en aplicaciones webNo controla directamente aplicaciones nativas
APIsFunciones y datos expuestosSuele ser el método más estable y eficienteRequiere una API adecuada y los permisos correspondientes
Reconocimiento de imagenPatrones visuales y regionesÚtil cuando no hay estructura accesiblePuede 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:

  1. El usuario solicita abrir una aplicación.
  2. El agente utiliza launch o list-apps para localizarla.
  3. Obtiene un snapshot para conocer la interfaz.
  4. Identifica el control necesario y ejecuta click, type o select.
  5. 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:

PasoAplicaciónAcción del agente
1Cliente de correoLocalizar una solicitud y leer sus datos
2Programa de gestiónBuscar al cliente y abrir su ficha
3Aplicación de tareasCrear 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 .xlsx desde 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:

  1. Abrir la aplicación que se va a probar.
  2. Obtener un snapshot de la ventana.
  3. Identificar los campos, botones y menús necesarios.
  4. Introducir datos de prueba.
  5. Ejecutar las acciones previstas.
  6. Obtener un nuevo snapshot.
  7. Comparar el estado observado con el resultado esperado.
  8. 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 productoProblema que resuelveQué aporta Agent DesktopIntegraciones adicionales
Asistente de oficinaTareas repartidas entre varias aplicacionesNavegación, lectura y acciones en interfacesModelo de IA, correo, calendario y almacenamiento
Agente de entrada de datosIntroducción repetitiva de informaciónRellenar formularios y actualizar registrosOCR, validación y API de datos
Gestor de aplicacionesPreparar el entorno de trabajoAbrir, consultar y organizar ventanasModelo de IA y preferencias del usuario
Asistente de productividadConvertir mensajes en tareasTrasladar información entre programasCalendario, gestor de tareas y memoria
Agente de soporte técnicoGuiar o ejecutar diagnósticosConsultar controles y configuracionesBase de conocimiento y sistema de tickets
Agente de QAProbar aplicaciones de escritorioInteractuar con controles y verificar estadosFramework de pruebas, aserciones e informes
Automatizador internoConectar procesos sin una API comúnOperar las interfaces implicadasReglas empresariales, autenticación y auditoría
Asistente para ERPOperar programas complejosNavegar por formularios y panelesAPIs 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

ComandoFunción
snapshotObtiene el árbol de accesibilidad de una aplicación o superficie
findBusca elementos que coinciden con determinados criterios
getConsulta las propiedades de un elemento
isComprueba una condición o estado
screenshotCaptura una imagen de la pantalla o del objetivo compatible
list-surfacesEnumera 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

ComandoFunción
clickHace clic
double-clickHace doble clic
triple-clickHace triple clic
right-clickHace clic derecho
typeEscribe texto
set-valueEstablece el valor de un control compatible
clearLimpia un campo
focusDa el foco a un elemento
selectSelecciona una opción
toggleCambia el estado de un control
check / uncheckMarca o desmarca un elemento
expand / collapseExpande o contrae un elemento
scroll / scroll-toDesplaza 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

ComandoFunción
pressEnvía una pulsación de tecla
hoverSitúa el puntero sobre un elemento
dragArrastra un elemento
mouse-moveMueve el ratón
mouse-clickHace clic mediante coordenadas o entrada física
mouse-wheelSimula el desplazamiento de la rueda
key-down / key-upMantiene y libera una tecla; requiere daemon
mouse-down / mouse-upMantiene 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

ComandoFunción
launchAbre una aplicación
close-appSolicita cerrar una aplicación
list-appsEnumera las aplicaciones
list-windowsEnumera las ventanas
list-displaysConsulta las pantallas disponibles
focus-windowActiva una ventana
resize-windowCambia el tamaño de una ventana
move-windowCambia su posición
minimize / maximizeMinimiza o maximiza
restoreRestaura una ventana
open-system-surfaceAbre 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

ComandoFunción
list-notificationsConsulta las notificaciones disponibles
dismiss-notificationDescarta una notificación
dismiss-all-notificationsDescarta todas las notificaciones compatibles
notification-actionEjecuta una acción disponible en una notificación
clipboard-getLee el portapapeles
clipboard-setEscribe en el portapapeles
clipboard-clearLimpia 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

ComandoFunción
sessionGestiona el contexto de sesión
traceRegistra información de ejecución para diagnóstico
cursor-overlayControla la superposición visual del cursor
statusInforma del estado del entorno y de las superficies compatibles
permissionsConsulta o guía la configuración de permisos
versionMuestra la versión instalada
batchAgrupa varias operaciones en una ejecución
skillsMuestra instrucciones y guías para agentes
waitEspera 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 operativoRequisito documentadoAPI de accesibilidad
macOSmacOS 13 o posterior; Intel o Apple SiliconAX API
WindowsWindows 10 versión 1809 o posterior; x64 o ARM64UI Automation
LinuxUbuntu 24.04 o posterior; x86_64 o ARM64AT-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:

AgenteIdentificador
Claude Codeclaude-code
Codexcodex
Cursorcursor
OpenCodeopencode
Gemini CLIgemini-cli
GitHub Copilotgithub-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:

  1. El usuario pide: «Abre la aplicación de gestión, localiza los pedidos pendientes y prepara un resumen en mi aplicación de notas».
  2. El agente interpreta la petición y organiza los pasos.
  3. Utiliza herramientas MCP como desktop_launch, desktop_snapshot y desktop_click para navegar por las aplicaciones.
  4. 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.

ErrorSignificadoCómo actuar
STALE_REFLa referencia ya no puede resolverseObtener un nuevo snapshot y utilizar una referencia actualizada
AMBIGUOUS_TARGETLa referencia coincide con varios elementosVolver a inspeccionar la interfaz y localizar un objetivo inequívoco
PERM_DENIEDFalta un permiso necesarioRevisar la configuración de permisos
ELEMENT_NOT_FOUNDNo se encuentra el elemento buscadoComprobar el estado de la aplicación y actualizar el snapshot
ACTION_NOT_SUPPORTEDEl elemento o la plataforma no admite esa acciónProbar otra acción o recurrir a un método alternativo
APP_UNRESPONSIVELa aplicación no respondeEsperar, 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.

ComponenteResponsabilidad
agent-desktop-coreTipos y lógica compartida
agent-desktop-macosAdaptador de accesibilidad de macOS
agent-desktop-windowsAdaptador de Windows UI Automation
agent-desktop-linuxAdaptador Linux AT-SPI
agent-desktop-ffiBiblioteca 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.

HerramientaEnfoqueApps de escritorioNavegadorRequiere modelo de IAUso principal
Agent DesktopÁrbol de accesibilidad del sistema operativoSíNoSí, para utilizarlo como agenteControl semántico de aplicaciones nativas
OpenAI Computer UseObservación visual y control del entornoSíSíSíIntegrar Computer Use con modelos OpenAI
Anthropic Computer UseCapturas, ratón y tecladoSí, en entorno controladoSíSíDar control visual del ordenador a Claude
Microsoft Power AutomateRPA con selectores de interfazSí, especialmente WindowsSíNo necesariamenteAutomatización de procesos empresariales
Ui.Vision RPAMacros y reconocimiento visualSí, mediante XModulesSíOpcionalAutomatización y pruebas visuales
PlaywrightAPIs y locators de navegadorNoSíNoPruebas y automatización web
Browser UseAgentes de navegadorNoSíNormalmente síAgentes que navegan por páginas web
agent-browserCLI web con árbol de accesibilidadNoSíNo incluye unoControl de navegadores desde agentes
PyAutoGUIRatón, teclado y capturasSíVisualmenteNoScripts 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

NecesidadOpción normalmente más adecuada
Consultar o modificar datos de un servicioAPI oficial
Ejecutar comandos de sistema o desarrolloCLI
Automatizar páginas webPlaywright o agent-browser
Crear flujos RPA empresarialesPower Automate
Automatizar interfaces mediante imágenesUi.Vision o PyAutoGUI
Dar Computer Use visual a un modelo concretoOpenAI o Anthropic Computer Use
Controlar aplicaciones nativas mediante accesibilidadAgent 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.

CapacidadmacOSWindowsLinux
Árbol de accesibilidadAX APIUI AutomationAT-SPI
Clic y escritura semánticosSíSíSí, según el control y el entorno
Capturas de pantallaSí, con permisoSíDepende del entorno gráfico
Control de ventanasAmplio soporteAmplio soporteLimitado en Wayland
Control del ratónSíSíCon limitaciones en Wayland
PortapapelesSíSíWayland requiere wl-clipboard
NotificacionesSoporte de plataformaSoporte de plataformaIntegració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:

  1. Agent Desktop: consulta la interfaz local y devuelve los datos al proceso que lo está utilizando.
  2. 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.