MXterm Pro

Agentes de código y Control Room

MXterm Pro inicia la CLI de cada agente en un panel de terminal real y vigila su salida. No instala agentes: la CLI ya tiene que estar en tu equipo. Control Room también se conoce como War Room.

Agentes compatibles

MXterm Pro puede iniciar 27 agentes de código. La lista completa está en la página Agentes. La tabla de abajo recoge algunos de ellos.

Elige los agentes en la lista Agentes de IA al crear un espacio de trabajo, o cambia el agente de un panel más tarde desde el ícono de agente a la izquierda de su encabezado. Un panel de agente ejecuta el comando de la tabla. Terminal no ejecuta ningún comando.

AgenteComandoFlag de bypassPuntos de estadoMCP
Claude Codeclaude--dangerously-skip-permissionsSíAutomático
Codexcodex--dangerously-bypass-approvals-and-sandboxSíAutomático
OpenCodeopencodeNingunoSíManual
GitHub CopilotcopilotNingunoNoManual
Qwen Codeqwen--yoloSolo solicitudes de permisoManual
AmpampNingunoNoManual
Gemini CLIgemini--yoloSíAutomático
Cursor Agentcursor-agentNingunoSíManual
AntigravityagyNingunoNoManual
OMP (Oh My Pi)ompNingunoSolo solicitudes de permisoAutomático
Grokgrok--always-approveSolo solicitudes de permisoAutomático

Para Claude Code, Codex, Gemini CLI, Cursor Agent, OpenCode y Grok, MXterm Pro busca el ejecutable en tu PATH y en las carpetas de instalación habituales (en macOS y Linux, por ejemplo /opt/homebrew/bin, ~/.local/bin y ~/.npm-global/bin) y marca el agente como No instalado si no encuentra ninguno. Gemini CLI también cuenta como instalado cuando existe una carpeta ~/.gemini. Los demás agentes de la tabla se ofrecen siempre; si falta su CLI, el shell del panel avisa de que no encontró el comando. Los agentes que no están en la tabla, como OpenClaw, OpenClaude, Hermes Agent, Devin CLI, Kimi Code, Aider, Cline, Goose, Crush, Kilo Code, Kiro CLI, Auggie, Autohand Code, Codebuff, Command Code y Continue, se ofrecen en el Composer solo después de que MXterm Pro encuentre su CLI. Configuración → Agentes muestra el estado de instalación de cada agente; consulta Configuración.

Bypass Mode

Activar modo bypass (autoaprobar permisos de CLI) está desactivado por defecto. Si no lo tocas, cada agente pregunta antes de ejecutar un comando o editar un archivo, igual que lo haría la CLI del propio agente.

Si lo marcas, MXterm Pro inicia Claude Code con --dangerously-skip-permissions, Codex con --dangerously-bypass-approvals-and-sandbox, Gemini CLI y Qwen Code con --yolo, y Grok con --always-approve. Esos agentes ejecutan comandos y editan archivos sin preguntarte antes, y Codex además se salta su sandbox.

La casilla está en el Composer del espacio de trabajo, la pantalla con la que se abre una pestaña nueva. La elección se guarda y se aplica a todos los paneles de agente que inicies después, en cualquier espacio de trabajo. Los agentes que ya están en marcha conservan los flags con los que arrancaron.

El flag se agrega o se quita cuando el panel arranca, así que la casilla afecta por igual a todos los agentes que usan un flag. Además de los cinco anteriores, MXterm Pro conoce un flag para omitir aprobaciones de OpenClaude, Hermes Agent, Devin CLI, Kimi Code, Aider, Crush, Kiro CLI, Autohand Code y Command Code, 14 agentes en total. Goose no tiene flag: su modo automático es una variable de entorno (GOOSE_MODE=auto) que solo se ofrece en Configuración. Los demás agentes, incluidos OpenCode, GitHub Copilot, Amp, Cursor Agent, Antigravity y OMP, arrancan con su comando simple en ambos casos; probar un flag a ciegas solo haría que la CLI se niegue a iniciar.

Estado del agente y notificaciones

Para Claude Code, Codex, Gemini CLI, Cursor Agent y OpenCode, MXterm Pro lee la pantalla del panel para saber qué está haciendo el agente. Muestra un punto junto al panel en la lista de terminales de la barra lateral y en la lista de miembros de la Control Room (antes War Room), y también en la pestaña del espacio de trabajo, que muestra el punto más urgente de sus paneles. De OMP, Grok y Qwen Code solo se lee una cosa: cuando uno muestra una herramienta que espera tu aprobación, su punto se pone rojo. MXterm Pro no tiene ninguna regla para su estado de trabajo. Gemini CLI se lee en sus diálogos de aprobación, plan, pregunta y confianza de carpeta. Goose también se lee, con reglas todavía no verificadas en una sesión real. En total, 9 de los agentes tienen detección de estado; los demás no muestran ningún punto.

  • Rojo: el agente está bloqueado y necesita tu intervención.
  • Amarillo: el agente está trabajando. Los demás paneles muestran el mismo punto amarillo mientras imprimen salida.
  • Verde: el agente terminó mientras no mirabas ese panel. Se quita cuando enfocas el panel.

Los ajustes de notificaciones están en Configuración → Notificaciones, bajo el interruptor general Notificaciones de agentes. Tres eventos pueden notificar, cada uno con su propio interruptor y todos activados: Un agente termine, Un agente necesite tu intervención y Un agente se detenga inesperadamente. Los mensajes de la Control Room que quedan retenidos (consulta Enviar mensajes en la Control Room) también muestran un aviso, Mensajes en espera de envío, bajo el interruptor Un agente necesite tu intervención.

AjustePor defectoQué hace
Notificaciones sonorasActivadoSuena un tono cuando ocurre uno de los tres eventos que notifican.
Notificaciones de escritorio del sistemaActivadoUn aviso con la pestaña y el agente como título, como my-project · Claude Code, y un cuerpo de Finalizado, Necesita tu intervención, Se detuvo inesperadamente o Mensajes en espera de envío.
Solo cuando MXterm Pro esté en segundo planoDesactivadoDesactivado, también recibes un aviso por un panel de otra pestaña mientras trabajas en esta ventana. Activado, los avisos se limitan a cuando la app no tiene el foco.
Mostrar texto de la terminal en los avisosDesactivadoAgrega el título de terminal del agente al aviso. Desactivado, el aviso termina en haz clic para abrir. El Centro de notificaciones conserva los avisos y puede mostrarlos en la pantalla bloqueada, y por eso esto viene desactivado.
Globo en el DockActivadoUn contador de paneles que te esperan: terminados y aún sin mirar, o que necesitan tu intervención. Pensado para el Dock de macOS; el globo no se ha verificado en Windows ni en Linux.
Notificaciones por agenteActivado en cada unoUn interruptor por cada agente que tiene detección de estado.

Al hacer clic en un aviso, vas al panel del que trataba. La ventana pasa al frente, se abre la pestaña correcta, se restaura un panel oculto tras un panel hermano maximizado, el panel recibe el foco y se desplaza hasta la salida más reciente. Si el panel se cerró entretanto, la ventana igualmente pasa al frente y no ocurre nada más.

Ir al panel con un clic requiere la app de macOS que descargaste. En otros sistemas, MXterm Pro le pide al sistema que muestre el aviso, pero el clic no te lleva al panel. Esto no se ha verificado en Windows.

Unas pocas reglas mantienen los avisos discretos. Nunca recibes avisos del panel que estás mirando. Un turno terminado que dura menos de 5 segundos muestra su punto, pero no genera aviso ni sonido. Los eventos que llegan muy juntos se agrupan y se entregan como un solo sonido y un solo aviso. Y en macOS, al mirar un panel se retiran sus avisos del Centro de notificaciones.

Conexión MCP y línea de estado de Claude

MXterm Pro ejecuta un servidor MCP en 127.0.0.1 con un puerto aleatorio y define estas variables de entorno en cada panel: MXTERM_MCP_URL, la dirección del servidor, y MXTERM_SESSION, un token único de ese panel. También define los nombres anteriores SWARMTERM_MCP_URL y SWARMTERM_SESSION con los mismos valores: son los que leen las entradas de configuración de los agentes que verás más abajo. Los agentes usan el servidor para abrir una vista previa web junto al panel, para hablar en la Control Room y, en espacios de trabajo con aislamiento por worktree, para crear y quitar worktrees.

Las herramientas se llaman mxt_room.*. Las versiones anteriores a 1.1.43 las llamaban war_room.*; esos nombres siguen funcionando por ahora.

Claude Code, Codex y OMP se conectan automáticamente, y Gemini CLI cuando arranca su panel. En cada inicio, MXterm Pro revisa estos archivos y escribe las entradas cuando faltan o están desactualizadas, estén o no instalados los agentes:

  • ~/.claude.json (o $CLAUDE_CONFIG_DIR/.claude.json): una entrada mxterm bajo mcpServers que lee la URL y el token del entorno del panel. Al escribir esa entrada también agrega "crossSessionInbound": "accept" si la clave no está definida.
  • ~/.codex/config.toml (o $CODEX_HOME/config.toml): una tabla [mcp_servers.mxterm] con la URL actual del servidor y sin token: cada panel de Codex que inicia MXterm Pro envía el suyo, así que varios paneles de Codex pueden unirse a una sala. La URL se reescribe en cada inicio porque el puerto cambia.
  • ~/.omp/agent/mcp.json: una entrada mxterm bajo mcpServers que lee la URL y el token del entorno del panel, igual que la de Claude Code, más una línea $schema si el archivo no tiene ninguna.
  • ~/.zshrc, solo si el archivo existe y aún no menciona SWARMTERM_SESSION: se agrega al final la línea export SWARMTERM_SESSION="${SWARMTERM_SESSION:-global}".

Gemini CLI no puede leer variables de entorno en su configuración de MCP, así que se configura de otra forma. Cada vez que arranca un panel de Gemini CLI en una carpeta, MXterm Pro escribe <folder>/.gemini/settings.json con la dirección del servidor y el token propio de ese panel en texto plano, y agrega .gemini/settings.json al .gitignore de la carpeta, creando el archivo si no existe. Grok lee la entrada mxterm de ~/.claude.json, así que MXterm Pro no escribe nada más para él. Configuración → Agentes muestra qué agentes da MXterm Pro por configurados.

Los demás agentes no se configuran automáticamente, y no está verificado si detectan las herramientas de MXterm Pro. Si un agente no muestra ninguna, agrega un servidor MCP HTTP con la URL $MXTERM_MCP_URL y el encabezado Authorization: Bearer $MXTERM_SESSION. Lee ambos del entorno en lugar de copiar los valores, porque el puerto cambia en cada inicio y el token es distinto en cada panel.

La integración con la línea de estado de Claude Code está activada por defecto. En cada inicio, MXterm Pro define statusLine en ~/.claude/settings.json (o $CLAUDE_CONFIG_DIR/settings.json) como type: "command" con un comando que ejecuta el ejecutable de MXterm Pro con --statusline. Claude Code entonces muestra mcp ✓ (conectado), mcp … (servidor alcanzable, Claude no lo ha llamado) o mcp ✗ (inalcanzable), seguido del uso de contexto, como ctx 84k/200k 42%. El ajuste es global para tu usuario del sistema, así que Claude Code en otras terminales también muestra la parte de contexto. Un statusLine personalizado que ya tengas nunca se sobrescribe. Desactívalo en Configuración → Terminal → Manage Claude Code's status line, lo que quita la entrada.

Aislamiento con git worktree

Marca Aislar funciones en git worktrees en el Composer del espacio de trabajo para darle a cada panel de agente su propio worktree y su propia rama. Está desactivado por defecto y se aplica solo al espacio de trabajo que estás creando.

  • Cada panel de agente recibe una rama como swarm/brave-otter y un worktree en <folder>/.worktrees/swarm-brave-otter. El nombre de la rama aparece en el encabezado del panel.
  • Los paneles de Terminal simples se quedan en la propia carpeta. Lo mismo ocurre con un panel de agente cuyo worktree no se pudo crear.
  • Los worktrees parten del commit HEAD actual. Los cambios sin commit y los archivos ignorados, como node_modules, no se copian, así que instala las dependencias en cada worktree.
  • MXterm Pro también agrega .worktrees/ al .gitignore de la carpeta (lo crea si hace falta) y no hace commit de ese cambio.
  • Los agentes del espacio de trabajo pueden llamar a las herramientas MCP worktree.spawn, worktree.list y worktree.remove.
Si la carpeta no es un repositorio git, MXterm Pro no crea uno. El aislamiento se omite en ese espacio de trabajo y todos los paneles comparten la carpeta directamente; cada panel lo indica una vez, en una barra que puedes cerrar: Esta carpeta no es un repositorio git, por lo que este panel la comparte directamente con los demás (sin aislamiento de worktree). No se inicializa, prepara ni se hace commit de nada. Una carpeta que *sí* es un repositorio pero aún no tiene commits recibe igualmente un .gitkeep vacío, y MXterm Pro prepara y hace commit solo de ese archivo como "Initial commit" (los demás archivos que ya estén en la carpeta no se preparan), porque un worktree necesita un commit del cual partir.

Para quitar worktrees cuando termines con ellos, abre la pestaña Git del panel derecho y haz clic en Limpiar worktrees… junto a la lista de worktrees.

  1. Las entradas cuyo directorio ya no existe se limpian de inmediato, sin confirmación.
  2. Las demás se abren en Limpiar worktrees. Los worktrees sin archivos pendientes de commit solo se cuentan ("N worktrees serán eliminados (directorio y rama).") y se eliminan cuando aceptas.
  3. Los worktrees con trabajo dentro se listan aparte bajo Tienen trabajo sin guardar (con la indicación de marcar para eliminar de todos modos), y cada uno indica cuántos archivos están sin commit y cuántos commits sin fusionar. No vienen marcados.
  4. Limpiar worktree (o Limpiar N worktrees) quita cada directorio y elimina su rama. Si un panel sigue ejecutándose en uno, se mueve fuera antes.

Los worktrees que creó MXterm también aparecen, con su tamaño y antigüedad, en Configuración → Agentes (consulta Configuración); esa tarjeta solo elimina una carpeta cuando pulsas Eliminar y siempre conserva la rama. Aún puedes hacerlo a mano con git worktree list, git worktree remove y git branch -d desde la carpeta. Un agente también puede llamar a worktree.remove, que se niega cuando el worktree tiene cambios sin commit y deja la rama en su sitio.

Notas de revisión sobre un diff

La pestaña Git del panel derecho muestra como diff los cambios de la carpeta o del worktree. Puedes dejar una nota en una línea y enviarlas todas juntas al agente que hizo los cambios.

  1. Pasa el cursor sobre una línea del diff y haz clic en el icono de nota: Agregar una nota en esta línea, o Editar nota en una línea que ya tiene una.
  2. Escribe la nota. Con mod+Enter se guarda y con Esc se cancela.
  3. Cuando hayas escrito lo que quieres, haz clic en Enviar N notas al pie del diff. Limpiar todas las notas las descarta.

Cada nota llega al agente como su archivo, su línea, el código de esa línea y tu comentario. El bloque se pega en el panel del agente, pero no se envía: la app te indica que pulses Enter tú mismo en el panel, así puedes añadirle algo antes.

El envío se rechaza, con el motivo en el botón, cuando la app no sabe a qué panel enviar o el panel no está listo: ningún panel de agente trabaja en ese worktree, hay varios, el panel no está en ejecución, tiene texto escrito que aún no enviaste, o no acepta bloques pegados. La regla sobre escribir es la misma que usa la Control Room.

Las notas viven en memoria mientras la app siga abierta. Nunca se escriben en disco, y una nota desaparece cuando su línea o su archivo sale del diff.

Vista de chat (experimental)

La vista de chat muestra un panel de agente como un chat legible de la propia conversación del agente, dibujado sobre la terminal. Está desactivada por defecto. Actívala con Vista de chat (experimental) en Configuración → Terminal.

  • Funciona con Claude Code, Codex, OMP y Grok. Con otro agente, o con una shell simple, el panel dice que el Chat no está disponible. No se ofrece en paneles SSH.
  • Con el ajuste activado, los paneles de agente se abren en Chat. Cada panel conserva su propia elección, que se recuerda entre reinicios. El botón del encabezado del panel o mod+Shift+J cambia el panel con foco entre Chat y Terminal. Al desactivar el ajuste, todos los paneles vuelven a su terminal.
  • El chat es una capa superpuesta. El proceso de la terminal que hay debajo no se toca en ningún caso.
  • En el Composer, Enter envía y Shift+Enter agrega una línea. Puedes adjuntar archivos, pegar imágenes y elegir el modelo en un menú.
  • En Claude Code y Codex, un aviso de permiso que MXterm Pro reconoce muestra Aprobar una vez y Rechazar y detener el agente. En otros avisos, el chat dice que el agente espera en la terminal.
  • El botón del micrófono del Composer es una maqueta. No graba nada, no pide permiso de micrófono y no inserta texto.

Control Room: salas y miembros

La Control Room permite que agentes en paneles distintos se envíen mensajes entre sí, contigo como Moderator. Pulsa ⌘⌥B en macOS o Ctrl+Alt+B en Windows y Linux para abrir el panel derecho y elige la pestaña Control Room. El panel tiene cinco pestañas: Control Room primero, luego Explorador, Historial, Git y Vista previa. Control Room es la única con su nombre escrito junto al icono, las espadas cruzadas; las otras cuatro solo tienen icono y el nombre aparece en la información emergente. El panel se abre más ancho en la pestaña Control Room. Cada pestaña del espacio de trabajo tiene su propia sala, y el panel muestra solo las salas de la pestaña que estás viendo, con su sala principal primero. Las salas de otras pestañas están en el menú Otras salas.

Agrega un panel con el botón de la Control Room (nodos conectados) en su encabezado. Al agregar un panel, la pestaña Control Room del panel derecho se abre sola, así que no tienes que abrirla antes. El botón muestra un pequeño + mientras el panel no está en ninguna sala y, cuando lo está, toma el color propio del panel. Una pequeña marca junto al icono indica el estado de los mensajes del panel: un punto sólido para mensajes nuevos, un anillo hueco mientras los mensajes esperan a que el panel esté libre, un rombo cuando se le entregó una tarea, y un punto dentro de un anillo cuando se omitieron mensajes más antiguos porque la cola estaba llena. Pasa el cursor sobre la marca para ver su texto. El botón no aparece en paneles SSH, en un panel conectado desde MXterm Hosts (no ejecuta ninguna terminal en este equipo, así que no puede unirse a una sala) ni en paneles muy estrechos. Arrastrar un panel al panel derecho no lo agrega.

  • Agregar a la Control Room, o Agregar a "nombre de la sala" para una sala existente, agrega el panel y abre el panel derecho.
  • Nueva sala crea una sala y el panel se agrega a ella.
  • Para un panel que ya está en una sala, el menú muestra las otras salas en Cambiar de Control Room (elige una para mover el panel) y ofrece Salir de la Control Room, que pregunta una vez más antes de quitar el panel (la sesión sigue en marcha). Un panel pertenece a una sola sala a la vez.

El menú de clic derecho de un panel tiene Copiar ID del panel. Si el panel está en una sala y ya tiene identificador, también tiene Copiar identificador de sala, que lo copia con la @, como @claude-2, y Mencionar en la sala, que añade ese identificador al cuadro de texto de la sala.

En el panel, la pestaña de sala seleccionada y la pestaña Members o Discussion seleccionada van rellenas, así que es fácil ver en cuál estás. La tira de salas agrega una sala con +, cambia el nombre de una con doble clic o con el icono de lápiz que aparece al apuntar a ella, y elimina una con su ✕ (la sala principal de una pestaña no tiene ✕ y no se puede eliminar). Members lista los paneles de la sala. Haz clic en una fila para saltar a ese panel; si seleccionas su nombre o su carpeta para copiarlos, no salta. Haz clic derecho en una fila para renombrar el panel. Cada fila tiene un botón de copiar, que copia el identificador del miembro, como claude-2 (el valor que un agente pone en to), un botón de corona que fija o quita el coordinador (consulta Control Room: el coordinador), y una ✕, siempre visible, que quita el panel de la sala después de preguntar una vez más. Un teléfono, u otra computadora a través de su panel Máquinas (consulta Paneles y divisiones), con el interruptor Puede gestionar Control Rooms activado aquí (consulta Acceso remoto y dispositivos) también puede crear una sala, añadir miembros, quitar un miembro y eliminar una sala desde su propia pantalla, con los mismos límites del plan Free; la sala principal de una pestaña no se puede eliminar.

El botón Añadir de la parte superior de Members lista primero los paneles de la pestaña de la propia sala y después los de otras pestañas, bajo el nombre de su pestaña, para que los agentes de otras pestañas también puedan unirse. Los paneles SSH simples, que no pueden ejecutar un agente, y los paneles conectados desde MXterm Hosts no aparecen. Un panel que ya está en otra sala aparece atenuado con Ya está en "nombre de la sala". Haz clic en una fila para marcarla y pulsa Añadir N; Seleccionar todo y Quitar selección cambian todas las marcas a la vez, y el + al final de una fila agrega solo ese panel de inmediato. Agregar tres o más paneles a la vez pregunta antes (¿Añadir N paneles a "nombre de la sala"?). Si algunos paneles no pueden unirse, por ejemplo porque la sala llegó al límite del plan Free, una nota bajo el botón indica cuántos y por qué, durante unos 12 segundos.

Un miembro sale de una sala con su ✕, con Salir de la Control Room en el menú de su panel, cuando mueves su panel con Cambiar de Control Room, cuando se elimina su sala o cuando termina su terminal. Arrastrar una fila no la quita. La Discussion registra cada salida y, cuando conoce el motivo, cierra la línea con él: (its pane left this window), (removed from the Members list), (left from the pane menu) (its terminal ended) o (its pane was not reopened).

Las salas y sus miembros se guardan. Después de cerrar y volver a abrir la app, cada miembro cuyo panel se restaura vuelve a su sala, y aparece como sin handshake hasta que su agente vuelve a llamar a mxt_room. Un miembro espera en la lista como Esperando reconexión hasta 5 minutos a que vuelva su panel; si el panel no vuelve, el miembro sale de la sala. Cuando un agente vuelve al prompt de su shell, MXterm Pro lo detecta en pocos segundos (comprueba cada 3 segundos, solo en macOS y Linux) y marca al miembro como desconectado, y la Discussion dice <name> disconnected (its agent exited). El miembro se queda en la sala y sus claims se liberan. Los mensajes ya no se escriben en su shell, y una difusión lo omite. Vuelve a conectarse cuando se inicia el agente y este vuelve a llamar a mxt_room.

Cuando agregas un panel de agente, MXterm Pro escribe en el prompt del agente una breve presentación que le indica llamar a mxt_room.list_peers. Un panel no puede hacerse pasar por ti: un panel cuyo nombre contiene "Moderator", con cualquier combinación de mayúsculas y minúsculas, se une como (pane, not the real Moderator) seguido de su propio nombre, y un nombre que reclama el rol de coordinador recibe de la misma forma el prefijo (pane, not the coordinator). Cuando un agente que ya conoce las reglas vuelve a unirse a una sala, recibe una sola línea con el nombre de la sala y del coordinador en lugar de la presentación completa. Hasta que el agente haga su primera llamada a mxt_room, el miembro muestra sin handshake y no puede recibir mensajes. Un shell simple nunca hace esa llamada, y los agentes sin configuración automática de MCP necesitan la configuración manual descrita antes. El servidor MCP indica a los agentes que no llamen a las herramientas de mxt_room a menos que hayas agregado su panel a una sala, y una llamada desde un panel que no está en ninguna sala falla con un error que pide al agente que te solicite agregarlo. Un miembro conectado muestra inactivo cuando MXterm Pro no puede leer el estado de su agente (el estado es desconocido, o el panel no tiene detector de estado) y no ha hecho ninguna llamada a mxt_room en más de cinco minutos.

Un panel sin nombre propio recibe un nombre y un identificador formados por su agente y un número, por ejemplo Claude 2 y claude-2. El agente es aquel con el que se abrió el panel o, en una terminal simple, el que MXterm Pro encontró ejecutándose en ella. El número sube por agente dentro de esa sala y nunca se le da a otro panel de ella, así que un identificador antiguo no puede llegar a un recién llegado. Los agentes se dirigen al panel con su identificador; el id más largo con peer- se sigue aceptando en to. En la Discussion, el identificador de un miembro actual se muestra como ese nombre. Un panel al que le pusiste nombre (consulta Poner nombre a un panel) se muestra con ese nombre. Un panel al que no le pusiste nombre recibe de la sala un nombre tomado del título de su terminal, una vez que ese título lleva 2,5 segundos sin cambiar, sin el símbolo de estado. No se usa un título que sea solo el nombre de un shell, el nombre del propio agente, una ruta o user@host. El nombre de la sala no cambia el nombre propio del panel. Apunta con el cursor al botón de Control Room de un panel para ver su sala y su identificador.

Enviar mensajes en la Control Room

La pestaña Discussion muestra los mensajes de la sala como tarjetas: remitente y hora, y luego a quién fue, con una etiqueta Execute en un prompt. Escribe en el cuadro de texto de la parte inferior como Moderator, elige un destinatario y un modo, y pulsa Enter para enviar (Shift+Enter agrega una línea). El cuadro dice A la sala: <name> y sigue desactivado hasta que haya al menos un miembro conectado. Tu borrador se conserva por sala, al cambiar de pestañas, de salas o de espacios de trabajo, hasta que lo envías. Al escribir @ se listan los miembros conectados; Enter o Tab inserta su identificador, como @claude-2, en el texto. La lista empieza con una fila Owner, que inserta @owner por ti, y una corona marca al coordinador. Un mensaje que menciona a @owner lleva un punto pequeño. Una mención solo nombra a alguien en el mensaje. No cambia el destinatario, que eliges en el menú de destinatarios. Puedes adjuntar hasta 5 imágenes de hasta 10 MB cada una a un mensaje de Moderator. MXterm Pro también está diseñado para que un teléfono emparejado pueda leer la sala y enviar mensajes cuando activas Permitir que los teléfonos vean la Control Room, que viene desactivado por defecto. Cuando te desplazas hacia arriba desde el mensaje más reciente, aparece abajo a la derecha un botón redondo con una flecha (Ir al último mensaje) con el número de mensajes llegados desde entonces; te lleva de vuelta al final. Reporte (.md), en la parte superior, exporta la conversación.

ModoQué pasaDestinatario
ProbeEl mensaje va a la bandeja de entrada del destinatario y se escribe un aviso de una línea en la terminal del agente. Si el mensaje es uno solo, de una línea simple y de hasta 280 caracteres, el aviso lo cita; si no, el aviso le indica al agente que llame a mxt_room.read_inbox.Todos, o un miembro conectado
ExecuteEl texto se pega en la terminal del agente y se envía como prompt. El texto pegado empieza con una línea que nombra al remitente, [War Room execute from "<name>" — agent-to-agent handoff, not typed by the user], para que el agente distinga que no lo escribiste tú en su prompt. Solo la presentación que MXterm Pro escribe cuando un panel se une a una sala no lleva esa línea. Esa presentación también le pide al agente que cierre una tarea recibida con una respuesta de una línea RESULT status=… files=… tests=…, y que no afirme haber ejecutado pruebas que no ejecutó.Un miembro conectado que ejecute un agente de programación, nunca un shell simple

Los agentes envían con mxt_room.send en los mismos dos modos y pueden enviarte mensajes a ti, como Moderator, poniendo owner o @owner en to; un mensaje para ti solo puede ser un probe, porque no tienes ninguna terminal en la sala. Sus mensajes aparecen en la Discussion. El icono de la papelera borra la Discussion y conserva los miembros.

MXterm Pro escribe en un panel solo después de que su salida haya estado en silencio durante 3 segundos. Un agente que MXterm Pro lee como inactivo en su prompt cuenta como en silencio aunque su terminal siga imprimiendo redibujados. También retiene las entregas mientras:

  • el agente de ese panel no esté inactivo (un agente que espera en un diálogo de permiso cuenta como no inactivo, y MXterm Pro puede verlo en los agentes cuyo estado lee), o
  • el panel sea una terminal simple en la que MXterm Pro encontró un agente ejecutándose (lee el programa en primer plano del panel, y solo para agentes conocidos como claude, codex, gemini, omp y grok) y no pueda leer el estado de ese agente, como con GitHub Copilot y Amp: podría haber un diálogo de permiso abierto, o
  • tengas una línea sin enviar en ese panel (un borrador sin enviar en el Composer del Chat del panel cuenta), o hayas pulsado una tecla en él durante los últimos 6 segundos mientras tiene el foco, o
  • el panel no acepte bloques pegados (el bracketed paste está desactivado, como en un shell simple) y un mensaje tenga más de una línea: se ejecutaría línea por línea, así que no se escribe. El panel lo indica y ofrece Descartar pero no Enviar ahora.

Un panel abierto como terminal simple también cuenta como agente cuando MXterm Pro ve ejecutándose en él uno de los agentes cuya pantalla lee, por ejemplo claude escrito en el prompt de un shell. Entonces tiene un estado, y sus mensajes se entregan con las mismas reglas que en un panel abierto desde una plantilla de agente. MXterm Pro lee el programa en primer plano de un panel en macOS y Linux. No lo lee en Windows, así que allí un panel simple sigue siendo simple sin importar cómo inicies un agente en él.

Mientras hay mensajes en cola, el encabezado del panel se vuelve ámbar. Cuando están retenidos, el panel muestra cuántos mensajes esperan con un botón Enviar ahora, y la pestaña de la sala muestra ⏸ con el número. La fila del miembro en Members también muestra ⏸ y el número. Enviar ahora los envía aunque el agente esté ocupado o estés escribiendo, pero aun así espera a que la salida del panel se quede en silencio. Mientras el agente trabaja y el panel sigue imprimiendo, el aviso no tiene botón y dice Esperando a que el agente esté libre; después de pulsar Enviar ahora dice Se envía cuando el agente esté libre. Una retención que dura 10 segundos muestra un aviso Mensajes en espera de envío, y luego como máximo dos recordatorios con 2 minutos de diferencia, hasta que la cola queda vacía.

Junto a él, Descartar (✕) elimina la cola sin escribir nada. Una cola de avisos se elimina con un clic, y los mensajes permanecen en la bandeja de entrada del agente. Una cola que contiene un Execute pide un segundo clic (¿Descartar?), porque ese texto se pega y no se guarda en ningún otro lugar; al remitente se le informa que se descartó. Un aviso que quedó obsoleto, porque el agente ya leyó todos los mensajes que anuncia, se elimina en lugar de escribirse.

mxt_room.list_peers le dice a cada agente quién está en la sala. Cada peer tiene un state (working, blocked si espera en un diálogo de permiso o en una pregunta, done, idle, o none cuando MXterm Pro no puede leer ese panel) y agentSource, que indica si el panel se abrió como ese agente (template) o si MXterm Pro vio al agente ejecutándose (process). La entrada de Moderator lleva isModerator: true; ese es el único campo que identifica a la persona que usa la app, ya que el nombre de un panel puede decir cualquier cosa. El coordinador de la sala, si has fijado uno, lleva isCoordinator: true.

Si se llama con changesOnly: true, mxt_room.list_peers devuelve solo los peers cuya entrada cambió desde la última llamada de ese agente. Su nota explicativa larga llega solo con la primera llamada de un agente. El campo unreadFromYou de un peer indica cuántos de tus mensajes aún no ha visto, y no aparece cuando no hay ninguno. Un mensaje cuenta como visto cuando el peer lo ha leído con mxt_room.read_inbox, cuando un aviso que lo citaba completo se escribió en el panel y se envió, o cuando el peer te respondió. Un mensaje visto de la segunda o la tercera forma permanece en su bandeja de entrada hasta que el peer lo lea. Las descripciones de las herramientas de la Control Room que reciben los agentes son más cortas, así que los agentes gastan menos tokens en ellas.

Un agente que ha estado ausente puede llamar a mxt_room.digest para obtener un resumen breve de su propia sala: los mensajes dirigidos a él que aún no ha respondido, los mensajes más recientes, quién tiene qué archivos y quién está bloqueado. Solo lee: no vacía la bandeja de entrada del agente y nunca muestra otra sala.

Control Room: el coordinador

Tú, como Moderator, puedes nombrar a un miembro coordinador de la sala. Apunta a la fila del miembro en Members y haz clic en el botón de corona (Nombrar coordinador). Haz clic otra vez (Quitar coordinador) para quitar el rol. Solo tú puedes fijarlo, desde la app. Un agente no puede, y el nombre de un panel tampoco puede reclamarlo.

  • Una sala tiene como máximo un coordinador. Nombrar a otro miembro reemplaza al primero, y el rol termina cuando ese miembro sale de la sala.
  • En una sala con coordinador, solo el coordinador y tú pueden difundir, es decir, enviar un mensaje sin destinatario. Todos los demás miembros deben enviar a un peer, normalmente el coordinador. La app rechaza cualquier otra difusión con un error que nombra al coordinador. Entregar una tarea con execute tiene el mismo límite, mientras que cualquier miembro puede seguir enviando un probe a un peer. En una sala sin coordinador, cada agente puede difundir como máximo 3 veces cada 60 segundos, y una difusión se rechaza cuando hay más de 12 peers conectados; los mensajes uno a uno no se ven afectados.
  • Fijar o quitar el rol envía a cada miembro un mensaje automático y agrega una línea a la Discussion, como <name> is now the coordinator. El mensaje también dice que push, deploy, release y delete siguen necesitando un mensaje tuyo (fromModerator: true): el coordinador solo propone. A un agente que se une después se le dice quién es el coordinador en su presentación.
  • mxt_room.list_peers marca al coordinador con isCoordinator: true. Como isModerator, viene del rol, no de un nombre.

Reservar archivos con claims

Dos agentes pueden terminar cambiando el mismo archivo. Para evitarlo, un agente reserva archivos o carpetas con mxt_room.claim antes de editarlos, hasta 10 en un mismo claim. Si alguno está dentro de un claim que otro peer todavía mantiene, el claim se rechaza y la respuesta nombra quién lo tiene. Un claim es solo orientativo: no impide que nadie escriba en un archivo.

Un claim dura 15 minutos después de la última llamada a mxt_room de su dueño. También termina cuando el dueño sale de la sala, cuando su agente vuelve al prompt del shell, o cuando haces clic en la ✕ que aparece en su línea del candado en la pestaña Members al apuntar con el cursor a la fila. Esa ✕ libera todos los claims de ese miembro y es la salida para un agente atascado que retiene archivos que otro necesita. Un miembro puede tener como máximo 5 claims.

En la pestaña Members, un miembro que tiene un claim muestra una línea con un candado bajo su nombre.

Límites de la Control Room

  • Por defecto, el plan Free permite 2 paneles por sala; al agregar un tercero se abre el aviso para mejorar el plan. Free también permite una sola Control Room con miembros a la vez: una sala sin miembros no cuenta, así que puedes crear todas las salas que quieras, pero si metes un panel en una segunda sala mientras otra tiene miembros, se abre el aviso para mejorar el plan. Mover al único miembro de una sala a otra sí está permitido. La propia app aplica ambos límites. mxterm.net puede fijar otros números. Un cambio se aplica a los paneles que agregues después y no quita a los miembros ni las salas que ya tienes. El plan Pro no tiene límite en ninguno de los dos. Consulta los precios.
  • Cada agente puede enviar como máximo 20 mensajes y claims cada 60 segundos; el Moderator no tiene límite.
  • Un mensaje puede pesar como máximo 8 192 bytes.
  • Una bandeja de entrada conserva en memoria los últimos 50 mensajes y descarta los más antiguos. Tras un reinicio, MXterm Pro conserva como máximo los 20 mensajes sin leer más recientes por miembro, 256 KiB en total, y nada con más de 24 horas.
  • Si el servidor MCP no logra iniciarse, la Control Room no está disponible en esa ejecución y agregar un panel falla.

Pregunta a una IA sobre MXterm Pro

Abre una respuesta en vivo en ChatGPT, Claude o Perplexity, basada en esta página. La escribe el asistente, no nosotros, así que revisa las fuentes que cita.

Pregunta enviada¿Cómo ejecuto Claude Code, Codex y otros agentes CLI en MXterm Pro, y qué hace la Control Room?