Este artÃculo es la versión en español de I gave my AI coding agents an office, and now my team can watch them work.
Paso casi todo el dÃa con tres o cuatro agentes de IA trabajando a la vez: Claude Code en dos perfiles, Codex en otra terminal, a veces un subagente o dos. Son buena compañÃa, pero invisible. La única forma de saber que uno lleva cinco minutos esperando mi permiso es revisar terminal por terminal.
Asà que les hice una oficina.
deskmates es una oficina pixel-art donde cada sesión de un agente en tu equipo es un personaje en su escritorio. Entra cuando la sesión empieza, escribe mientras edita, lee mientras busca, levanta un signo de pregunta amarillo cuando necesita tu permiso y se va cuando la sesión termina. Los subagentes se sientan al lado del agente que los lanzó y, cuando terminan, pasan por su escritorio con un documento antes de irse.
Es código abierto (MIT) y se instala con un comando:
npm install -g deskmates
deskmates serve # http://127.0.0.1:47821
deskmates demo # agentes simulados, por si quieres verlo antes de conectar nada
Cómo entran los agentes
Cada herramienta le cuenta a deskmates lo que hace a su manera, y todo termina convertido en el mismo evento pequeño:
-
Claude Code, mediante hooks.
deskmates connectlos agrega a la configuración de un perfil, marcados para quedisconnectquite solo los suyos. El hook son unas pocas lÃneas de shell con un tope de 50 ms que siempre termina con código 0: nunca debe frenar a un agente. - Codex, Copilot CLI, Cursor y Gemini CLI, mediante los archivos de sesión que ya escriben. Sin configuración.
- Cualquier otra cosa, mediante una pequeña API HTTP de ingesta o un servidor MCP, para que un script, un job de CI u otro agente también pueda entrar.
Desde ahà los datos van en un solo sentido: eventos, deduplicación, un reducer puro que decide quién está trabajando, esperando, libre, dormido o saliendo, y un WebSocket que alimenta la página. La página es un canvas con una simulación de actores encima: caminan por una cuadrÃcula de casillas, toman descansos en las máquinas expendedoras, se reúnen cuando dos agentes del mismo proyecto están libres, y hay mascotas que pasean entre las salas.
La privacidad fue la primera regla, no la última
Una oficina que muestra lo que hacen tus agentes podrÃa mostrar demasiado con mucha facilidad. Los eventos llevan solo el nombre de una herramienta y un detalle de 120 caracteres como máximo: un nombre de archivo o la primera lÃnea de un comando. Los prompts, el contenido de los archivos y la salida de las herramientas nunca salen de los adaptadores, y el historial diario guarda conteos, no contenido. Nada sale de tu equipo a menos que lo pidas.
Después terminó en el TV de la oficina
Al lado de mi teclado no era donde la querÃa. La querÃa en una tablet, y después en la pantalla de la oficina.
deskmates serve --lan la sirve en tu red detrás de un token, imprime un QR en la terminal, y la página tiene un botón para compartir con el mismo QR y un modo kiosco que llena la pantalla. En un TV eso significó aprender sobre pÃxeles de dispositivo: la oficina se dibuja a escalas enteras para que el pixel art se vea nÃtido, y el modo kiosco la estira para llenar la pantalla cuando eso importa más.
La oficina compartida
Ver solo a mis agentes me aburrió rápido. Varios de nosotros usamos agentes de programación, asà que la última pieza fue una oficina compartida:
# en un equipo al que todos puedan llegar
deskmates serve --lan --shared
# en cada PC
deskmates serve --relay http://lab:47821 --name "Jesús"
Cada PC envÃa los mismos eventos pequeños a la oficina compartida, donde llegan al piso Headquarters: seis islas de cuatro escritorios, cada una con el color de su PC, una sala de estar, una mesa de reuniones y un café en el medio. Cuando agentes de PCs distintas esperan permiso al mismo tiempo, se van al café a conversar. Es la función más inútil que escribà este año, y mi favorita.
Lo que aprendÃ
- Núcleo puro, bordes visuales. El reducer y la escena son funciones deterministas de los eventos y del tiempo. Eso hizo que casi todo se pudiera probar sin navegador, y las pruebas en el navegador comparan capturas pÃxel por pÃxel.
- El piso tuvo que convertirse en datos. La oficina compartida empezó con la misma sala pequeña repetida una al lado de otra. Un solo piso grande obligó a convertir las constantes de la sala en un valor que los temas pueden declarar. Todas las capturas existentes tenÃan que quedar idénticas mientras eso pasaba, y esa regla atrapó más errores que cualquier revisión.
- Los agentes revisan código mejor de lo que esperaba, y leen capturas peor que yo. Construà casi todo esto con Claude Code, con un agente nuevo revisando cada cambio. Encontraron errores reales de concurrencia y de casos lÃmite; las imágenes las tuve que mirar yo, una por una.
Pruébalo
- Repositorio: https://github.com/Jfernandez27/deskmates?utm_source=devto&utm_medium=article&utm_campaign=deskmates
- Instalación:
npm install -g deskmates, despuésdeskmates serveydeskmates connect - Node 22.18 o superior
Si trabajas con varios agentes al dÃa, me gustarÃa saber qué señal extrañas más cuando trabajan en segundo plano. Eso es lo que decide qué aprende la oficina después.















