La mayoría de las empresas tiene al menos una aplicación que no tiene ninguna API. Las herramientas de las lecciones anteriores no pueden acceder a ella, porque no hay nada que puedan llamar.
Meridian, una consultora de ingeniería ficticia, tiene una de estas aplicaciones. Es un antiguo gestor de planos llamado PlotDesk, también ficticio. Cada viernes, una persona pasa el día haciendo clic en las mismas pantallas para exportar conjuntos de planos en PDF. PlotDesk no tiene API ni línea de comandos. Solo tiene ventanas y botones.
El uso de computadora permite que Claude opere PlotDesk a través de esas ventanas y botones, tal como lo haría una persona, observando capturas de pantalla y decidiendo qué hacer clic y qué texto escribir.
Meridian quiere que Claude exporte el conjunto de planos en PDF de hoy para el proyecto MEG-2026-0142.
Observa quién realiza cada acción
A través de la API, Claude nunca se conecta al escritorio. Todo lo que Claude produce es una respuesta con llamadas a herramientas dentro de ella. Tu programa es el programa de Python que llama a la Messages API. Este lleva a cabo cada acción en el escritorio y envía de vuelta el resultado.
Este es el bucle. Claude pide una captura de pantalla. Tu programa toma una y la envía de vuelta como una imagen. Claude la observa y envía la siguiente acción, como un clic en coordenadas dadas o algún texto para escribir. Tu programa lleva a cabo la acción, y el bucle se repite hasta que la tarea esté terminada. Es el mismo bucle de herramientas que ya tienes, excepto que algunos de los resultados son capturas de pantalla.
Toda la exportación de Meridian tomó siete acciones.
| Acción de Claude | Qué sucedió |
|---|---|
screenshot | Claude encuentra la ventana de PlotDesk |
left_click | En el campo de número de proyecto |
type | MEG-2026-0142 |
left_click | En Abrir |
screenshot | PlotDesk muestra el proyecto: Reemplazo de estación de bombeo, 22 hojas |
left_click | En Exportar PDF |
screenshot | La barra de estado indica "Exported MEG-2026-0142_plots.pdf" |
Ejecuta el escritorio en un contenedor dedicado
Claude actúa sobre lo que sea que esté en la pantalla. El texto en una página web o en una imagen puede anular tus instrucciones o llevar a Claude a cometer errores. Para limitar el daño que una acción incorrecta pueda causar, dale al escritorio un contenedor dedicado o una máquina virtual que contenga solo lo que la tarea necesita. Configúralo de esta manera:
- Cada sesión obtiene un contenedor dedicado.
- El contenedor no contiene credenciales ni directorios montados desde el host.
- El contenedor solo puede acceder a los hosts de red que la tarea utiliza.
Tu programa y tu clave de API permanecen fuera del contenedor.
Escribe las acciones y deja que el SDK ejecute el bucle
Los SDK de Python y TypeScript tienen una clase llamada el conjunto de herramientas de computadora. La subclasificas y escribes un método para cada acción que la tarea necesita. La clase construye la entrada tools del conjunto de herramientas por ti y está en beta. En Python, necesita la versión 1.12.0 o posterior del SDK.
Meridian implementa tres de las acciones del conjunto de herramientas: screenshot, left_click y type. Cualquier acción que no implementes se envía a la API como deshabilitada.
Cada método es una línea que delega el trabajo a backend. Eso es tu propio envoltorio alrededor de lo que sea que controle el escritorio, como un cliente VNC o xdotool. Este ejemplo mínimo de VNC en Python y TypeScript(se abre en una pestaña nueva) es un buen punto de partida, pero no está pensado para producción.
Pasa una instancia de tu clase en tools, junto con el prompt. Tool Runner, un asistente del SDK, ejecuta el bucle por ti hasta que Claude responda sin una llamada a herramienta.
A partir de octubre de 2026, este conjunto de herramientas(se abre en una pestaña nueva) está disponible en la Claude API y en Claude Models on Google Cloud (gestionado por Google). Amazon Bedrock, Microsoft Foundry y Claude Platform on AWS cuentan con las versiones beta anteriores de la herramienta. Esas usan una entrada tools diferente y un encabezado beta, un encabezado de solicitud que activa una función beta.
Haz que una persona apruebe los clics y la escritura
Cuando creas la instancia, pasa una función llamada confirm. El SDK la llama antes de cada acción. Si devuelve True, la acción se ejecuta. Cualquier otra cosa rechaza la acción, y se le dice a Claude que una persona la rechazó.
confirm ve la acción y su entrada, pero no la pantalla. Una persona que observa el escritorio puede ver qué hay en el punto donde Claude quiere hacer clic. Así que Meridian aprueba las capturas de pantalla automáticamente y envía cada clic y cada acción type a su operador, la persona que observa el escritorio.
Este es el programa de Meridian. Tres nombres en él provienen del propio código de Meridian, no del SDK: backend, ask_operator y TASK. ask_operator muestra la acción al operador y devuelve su respuesta, y TASK contiene el prompt.
Decide cuándo el uso de computadora es adecuado
Cada captura de pantalla permanece en la conversación, por lo que cada paso cuesta más que el anterior. Así que cuando el software tiene un servidor MCP (un servicio que ofrece sus funciones a Claude como herramientas), una API o una línea de comandos, usa eso en su lugar. El uso de computadora es para software que no tiene nada de esto, como PlotDesk.
Si la tarea se mantiene dentro de páginas web, la herramienta de uso de navegador(se abre en una pestaña nueva) es la opción más adecuada. Lee y actúa sobre la página misma y no necesita un escritorio completo.
Puntos clave
- Claude solicita acciones, y tu programa las lleva a cabo.
- El escritorio se ejecuta en un contenedor dedicado para cada sesión.
- Implementas solo las acciones que la tarea necesita.
- La función
confirmde Meridian envía cada clic y cada accióntypea una persona para que la apruebe. - Usa una interfaz directa cuando exista una, y el uso de computadora cuando no exista ninguna.