Espacios de trabajo
Un espacio de trabajo es la unidad de aislamiento de Bromure Agentic Coding: una VM de Ubuntu con su propio disco de sistema, su propia carpeta personal persistente, sus propios agentes de codificación y credenciales, y sus propias políticas de seguridad. Todo lo que hace la app ocurre dentro de un espacio de trabajo: un espacio de trabajo desechable puede ejecutarse sin restricciones con una clave de API descartable, mientras que uno orientado a producción registra cada intercambio con la IA y pregunta antes de cada escritura destructiva, y los dos nunca comparten un solo byte.
Casi todos los ajustes de la app son por espacio de trabajo. Las excepciones son el servidor de Automatización de toda la app, la imagen del navegador descargada y los modelos locales instalados, todos compartidos entre espacios de trabajo. En el código y en el JSON exportado, un espacio de trabajo se denomina perfil; la CLI acepta indistintamente el nombre de un espacio de trabajo, su id o un prefijo de id corto. Este capítulo cubre la ventana desde la que gestiona los espacios de trabajo y las acciones del ciclo de vida —crear, editar, duplicar, restablecer, eliminar— que ejecuta desde ella. El editor de ajustes de 15 paneles que lleva cada espacio de trabajo se documenta en Referencia de ajustes; lo que ocurre una vez que un espacio de trabajo está en ejecución se cubre en Sesiones; y el propio modelo de aislamiento está en Conceptos y arquitectura.
El explorador de espacios de trabajo
La ventana principal de la app es el explorador de espacios de trabajo: una barra lateral izquierda que lista sus espacios de trabajo, la Cuadrícula de terminales y sus automatizaciones programadas, y un panel de detalle que muestra los datos vitales en vivo y la configuración del espacio de trabajo seleccionado.
La barra lateral tiene tres secciones, de arriba abajo:
- ESPACIOS DE TRABAJO — un nodo Cuadrícula fijado seguido de una fila por espacio de trabajo.
- AUTOMATIZACIONES — sus ejecuciones de agentes programadas y desatendidas, con un botón + para añadir una.
- Un botón + negro en la parte inferior que crea un nuevo espacio de trabajo.
Al seleccionar la fila de un espacio de trabajo se rellena el panel de detalle. Si el espacio de trabajo está Apagado o Suspendido, el panel muestra su panel de control y un botón Iniciar o Reanudar; una vez que está en ejecución, el escenario muestra en su lugar la sesión en vivo (sus pestañas de terminal, el panel del navegador y el panel de control), documentada en Sesiones.
La barra lateral es redimensionable de 100 a 600 puntos (220 por defecto). Arrastre el divisor por debajo de aproximadamente 100 puntos, o pulse ⌃⌘S, para contraerla en un estrecho riel de iconos; pulse de nuevo para restaurarla. Los espacios de trabajo se listan primero por los usados más recientemente, recurriendo a la fecha de creación para los que nunca ha abierto.
La barra lateral
Filas de espacios de trabajo
Cada fila de espacio de trabajo lleva, de izquierda a derecha:
- Un mosaico teñido — un glifo de bastidor de servidores teñido con el color del espacio de trabajo, con un pequeño punto de estado de ejecución en su esquina.
- El nombre del espacio de trabajo, en negrita cuando la fila está seleccionada.
- Una etiqueta de estado debajo del nombre — Apagado, Iniciando… o Suspendido. Un espacio de trabajo en ejecución no muestra ninguna etiqueta; en su lugar, sus pestañas de terminal más un nodo Docker siempre activo aparecen anidados bajo la fila (el nodo lleva una insignia de recuento de contenedores en ejecución que muestra 0 cuando no hay ninguno activo).
- Un triángulo de advertencia rojo después del nombre cuando el espacio de trabajo ha sido marcado como comprometido por el detector de fugas de credenciales y se niega a arrancar hasta que se borre (véase Conceptos y arquitectura).
Al pasar el cursor sobre un espacio de trabajo en ejecución se revelan tres botones de acción rápida en la fila: Abrir en su propia ventana, Cerrar esta VM y Nueva pestaña (⌘T). El botón ⋯ al final de cada fila abre el menú contextual de ese espacio de trabajo: el eje central de todas las acciones de ciclo de vida y gestión descritas en el resto de este capítulo.
Estados de ejecución
Una VM de espacio de trabajo siempre está en uno de unos pocos estados, mostrados tanto por el punto de estado de la fila como por la píldora junto al nombre en el encabezado del panel de detalle:
| Estado | Punto de fila | Significado |
|---|---|---|
| Apagado | Gris | No en ejecución. Sin RAM, sin CPU; solo el disco en el almacenamiento. |
| Iniciando… (Arrancando) | Naranja, pulsante | La VM se está encendiendo. |
| En ejecución | Verde | Arrancada y activa; la sesión está en vivo. |
| Suspendido | Amarillo | RAM guardada en disco; se reanuda casi instantáneamente donde lo dejó. |
El ciclo de vida detrás de estos estados —cómo se diferencia la suspensión del apagado y qué hace una "acción de cierre"— se describe en Conceptos y arquitectura.
El panel de detalle
Cuando un espacio de trabajo no está en ejecución, su panel de detalle es un panel de control: una fila de tarjetas de estado en la parte superior, un resumen de CONFIGURACIÓN debajo y un botón Iniciar / Reanudar en la esquina superior derecha.
Tarjetas de estado
Cinco tarjetas informan del panorama de recursos del espacio de trabajo. Sus valores difieren según si la VM está en ejecución:
| Tarjeta | Mientras está Apagado / Suspendido | Mientras está En ejecución |
|---|---|---|
| CPU | — (leyenda apagado) | Carga de CPU en vivo, con un historial de minigráfico. |
| Memoria | RAM asignada, p. ej. 8 GB (leyenda asignada) | Memoria en uso dentro del invitado. |
| vCPU | Número de núcleos, p. ej. 4 (leyenda núcleos) | El mismo número con el promedio de carga actual del invitado. |
| Disco | 0 MB (leyenda de 0 MB (anfitrión)) | Disco usado por el espacio de trabajo, sobre la capacidad del anfitrión, leído en vivo desde el invitado. |
| Tiempo activo | — (leyenda apagado) | Tiempo desde el arranque, p. ej. 3h 12m. |
Las cifras de memoria asignada y de vCPU provienen de los ajustes de Recursos del espacio de trabajo. El panel de control en ejecución, incluidos los listados de puertos en vivo y la exposición a Internet, se cubre en Sesiones.
El resumen de CONFIGURACIÓN
La tarjeta CONFIGURACIÓN es un resumen rápido y de solo lectura de los ajustes más importantes del espacio de trabajo, para que pueda confirmar qué hará un espacio de trabajo antes de iniciarlo:
| Fila | Muestra |
|---|---|
| <Nombre del agente> (una fila por agente habilitado) | Dónde se ejecuta y cómo se autentica — Cloud · API token, Cloud · Subscription, On-device · <model>, etc. |
| Salvaguardas | Off, el único modo cuando es uniforme, o Custom (N domains) cuando es mixto. |
| Escaneo de inyección de prompts | On u Off. |
| Carpetas compartidas | Los nombres de las carpetas montadas, o None. |
Cada una de estas corresponde a un panel del editor de ajustes: Agentes, Salvaguardas, Inyección de prompts y Carpetas.
Nota: Un espacio de trabajo recién decodificado que es anterior a un ajuste muestra aquí el valor por defecto heredado de ese ajuste; por ejemplo, el Codex Sandbox de la captura de pantalla anterior indica Salvaguardas Off y Escaneo de inyección de prompts Off, porque se creó antes de que existieran esos valores por defecto. En cambio, los espacios de trabajo recién creados heredan la plantilla de fábrica actual (Salvaguardas configuradas en Preguntar antes de escribir, trazado en Detalles de solicitud de IA). Véase la plantilla de preferencias.
Iniciar y Reanudar
El botón de la esquina superior derecha muestra Iniciar cuando el espacio de trabajo está Apagado y Reanudar cuando está Suspendido. Al hacer clic se arranca la VM (o se despierta de su estado de RAM guardado) y se cambia el escenario a la sesión en vivo. Las mismas acciones están disponibles desde el menú ⋯ de la fila.
Crear un espacio de trabajo
Haga clic en el botón + negro en la parte inferior de la barra lateral (su descripción emergente muestra Nuevo espacio de trabajo). Esto abre el editor de ajustes en una ventana titulada Nuevo espacio de trabajo, rellenada previamente a partir de su plantilla de preferencias con un nombre de marcador de posición — Default workspace, autonumerado Default workspace 2, 3, etc., si el nombre ya está en uso.
- Dé al espacio de trabajo un Nombre en el panel General. Este es el único campo obligatorio para guardar.
- Ajuste cualquier otro panel —agente, credenciales, salvaguardas, apariencia, recursos— según sea necesario. Cada panel se documenta en Referencia de ajustes.
- Haga clic en Crear. Pulse Esc (o Cancelar) para descartar el borrador.
Un nuevo espacio de trabajo se bifurca de la plantilla, por lo que lo que configure en Bromure → Preferencias… se convierte en su punto de partida. La plantilla de fábrica habilita Claude Code como agente principal en modo de autenticación Subscription, configura cada salvaguarda en Preguntar antes de escribir y activa un par de claves SSH ed25519 (el conmutador Generar un par de claves ed25519 en Credenciales → Claves SSH está premarcado a menos que la plantilla ya lleve una clave).
Consejo: La mayoría de los cambios del editor se aplican solo cuando hace clic en Crear o Guardar. Algunas acciones surten efecto de inmediato en cualquier caso —las descargas de modelos locales y de modelos de inyección de prompts, la autorización OAuth de MCP, el registro de suscripción y la importación de claves SSH— porque afectan al estado compartido o del lado del anfitrión en lugar de al documento del espacio de trabajo.
Editar y renombrar un espacio de trabajo
Abra el menú ⋯ de un espacio de trabajo y elija Editar… para reabrir el mismo editor, esta vez titulado Editar espacio de trabajo y vinculado al espacio de trabajo existente. Cambie cualquier valor y haga clic en Guardar.
No hay un comando separado de "renombrar": un espacio de trabajo se renombra editando su campo Nombre en el panel General. Solo existe una ventana de editor a la vez; abrir el editor para un espacio de trabajo diferente destruye la ventana y la reconstruye.
Color y el mosaico del espacio de trabajo
Cada espacio de trabajo tiene un Color de acento, elegido en el panel General entre ocho valores predefinidos:
| Azul (por defecto) | Rojo | Verde | Naranja |
| Morado | Rosa | Verde azulado | Gris |
El color tiñe el mosaico del espacio de trabajo en la barra lateral, su resaltado de selección y los acentos de sus pestañas: es la forma más rápida de distinguir los espacios de trabajo de un vistazo. El color es la única identidad visual por espacio de trabajo: no hay selector de iconos. El mosaico es siempre un glifo de bastidor de servidores en el color que elija, superpuesto con el punto de estado de ejecución descrito en Estados de ejecución.
Duplicar un espacio de trabajo
Elija Duplicar en el menú ⋯ de un espacio de trabajo para hacer una copia profunda de él. La copia aparece de inmediato en la barra lateral con el nombre del original y copy añadido —duplicar Codex Sandbox produce Codex Sandbox copy— y no hay diálogo de confirmación.
Un duplicado es un clon genuino. Copia todos los ajustes y credenciales, el disco de sistema, la carpeta personal y el material SSH y de agente del lado del anfitrión, usando la clonación copy-on-write de APFS cuando es posible (instantánea y sin consumir espacio de disco adicional hasta que los dos espacios de trabajo divergen). Deliberadamente no se copian tres cosas vinculadas a la identidad del original:
- la instantánea de RAM guardada, para que la copia arranque en frío desde cero en lugar de reanudar el estado en vivo del original;
- la disposición de pestañas;
- la dirección MAC persistente, para que la copia se una a la red como una máquina distinta.
Como su fecha de creación se vuelve a estampar, la copia se ordena en la parte superior de la barra lateral como el espacio de trabajo más nuevo.
Iniciar, suspender y apagar
El menú ⋯ de la fila de un espacio de trabajo se adapta a su estado actual. Cuando la VM está apagada o suspendida ofrece la única entrada de inicio; cuando está en ejecución ofrece las tres formas de detenerla o reiniciarla:
| Estado | Entradas del menú |
|---|---|
| Apagado | Iniciar |
| Suspendido | Reanudar |
| En ejecución o Iniciando… | Apagar · Suspender · Reiniciar — más Añadir worktrees a la Cuadrícula mientras está en ejecución |
Suspender guarda la RAM de la VM en disco y la detiene, de modo que un Reanudar posterior retoma exactamente donde lo dejó; Apagar realiza un apagado limpio, y el siguiente inicio es un arranque en frío completo. Reiniciar reinicia un espacio de trabajo en ejecución sin moverlo. Las compensaciones entre estos y el valor por defecto por espacio de trabajo Al cerrar la ventana que decide cuál desencadena el cierre de una ventana se cubren en Conceptos y arquitectura y Ajustes generales.
Restablecer el disco de sistema
Restablecer disco (en el menú ⋯, o Restablecer a la base… en el panel Recursos) vuelve a clonar el disco de sistema del espacio de trabajo a partir de la imagen base actual. Descarta todo lo que haya cambiado en la capa del SO —paquetes instalados con apt, ediciones a /etc, /var, /usr, /opt y la configuración de todo el sistema— dejando intacta su carpeta personal: los proyectos, los dotfiles, las claves .ssh, npm-global, .cargo y el historial del shell sobreviven todos. El diálogo de confirmación se titula ¿Restablecer el disco de sistema de "<nombre>" a la base? y sus botones son Restablecer a la base y Cancelar.
Restablecer el disco también descarta el estado de RAM guardado y la disposición de pestañas, de modo que el siguiente arranque sea coherente. La acción se rechaza con Cierre "<nombre>" primero. si la ventana de sesión del espacio de trabajo está abierta: ciérrela antes de restablecer.
Nota: Para borrar la carpeta personal en su lugar —proyectos, dotfiles y el par de claves SSH generado— use Borrar carpeta personal… en el panel Recursos. Los puntos de control de reversión de la carpeta personal y el control Restaurar carpeta personal… que revierte a una instantánea por arranque se describen en Sesiones.
Eliminar un espacio de trabajo
Eliminar espacio de trabajo (la entrada roja y destructiva en la parte inferior del menú ⋯) elimina un espacio de trabajo de forma permanente. Una alerta de confirmación titulada ¿Eliminar el espacio de trabajo "<nombre>"? explica el radio de impacto:
Elimina su disco, sus ajustes y su clave SSH. La carpeta anfitriona montada queda intacta.
Al confirmar se elimina todo el directorio del espacio de trabajo bajo ~/Library/Application Support/BromureAC/profiles/ —su profile.json, su secrets.enc cifrado, el disco de sistema, la imagen de la carpeta personal, todos los puntos de control y el material de clave SSH del lado del anfitrión— y se libera su dirección MAC reservada. Lo que la eliminación no toca son las carpetas anfitrionas que compartió con el espacio de trabajo: esas residen en su Mac, se montan con lectura y escritura, y se dejan exactamente como estaban. Su contenido dentro de la VM desaparece con la VM; los originales en su Mac no.
Advertencia: La eliminación no es recuperable desde dentro de la app. No hay papelera ni deshacer: el disco, la carpeta personal y los secretos desaparecen. Cualquier cosa que quiera conservar debe estar en una carpeta anfitriona compartida o confirmada y subida antes de eliminar.
La Cuadrícula
El nodo Cuadrícula fijado en la parte superior de la sección ESPACIOS DE TRABAJO es un escenario que dispone en mosaico varios terminales en ejecución uno al lado del otro, para que pueda observar varios agentes a la vez. Hay dos formas de poblarlo: elija Añadir worktrees a la Cuadrícula en el menú ⋯ de un espacio de trabajo en ejecución para soltar todas las pestañas de worktree de ese espacio de trabajo en la Cuadrícula de una vez, o arrastre pestañas de terminal individuales al nodo Cuadrícula. El menú contextual de cada celda ofrece Quitar de la Cuadrícula. La disposición de la Cuadrícula y cómo interactúa con los worktrees se cubren en Sesiones.
Automatizaciones de un vistazo
La sección AUTOMATIZACIONES lista sus ejecuciones de agentes programadas y desatendidas. Su botón + (descripción emergente Nueva automatización) abre el editor de automatizaciones. Cada fila muestra el nombre de la automatización, un punto de color para el espacio de trabajo al que pertenece, un resumen de una línea de su desencadenante (por ejemplo Días laborables 9:00 o PR · owner/repo) y un glifo para su última ejecución. Al hacer clic derecho en una fila se ofrece Ejecutar ahora, Pausar o Reanudar y Eliminar….
Una automatización pertenece a un espacio de trabajo; cuando se dispara crea un worktree de git nuevo en el repositorio de ese espacio de trabajo y lanza allí el agente elegido con su prompt, de modo que las ejecuciones aparecen como pestañas de worktree ordinarias. Los desencadenantes van desde una programación por reloj hasta el sondeo de pull requests, incidencias y commits de GitHub, el sondeo de incidencias de Linear y el encadenamiento tras otra automatización. La característica completa —desencadenantes, filtros, la pantalla obligatoria de inyección de prompts sobre el texto del evento, el historial de ejecuciones y la superficie de CLI y de socket de control que la replican— se documenta en Automatización y la CLI.
Dónde se almacena un espacio de trabajo
Cada espacio de trabajo es un directorio bajo ~/Library/Application Support/BromureAC/profiles/<uuid>/. Las piezas que pueden interesarle:
| Ruta | Contenido |
|---|---|
profile.json | Todos los ajustes no secretos. |
secrets.enc | Cada secreto, separado al guardar y cifrado con AES-GCM con una clave guardada en el Llavero (chmod 600). |
disk.img | La copia de lectura y escritura del SO base del espacio de trabajo. |
home.img | El /home/ubuntu persistente (modelo de carpeta personal ext4). |
checkpoints/ | Instantáneas de reversión por arranque del disco y la carpeta personal. |
vm.state | La instantánea de RAM guardada para un espacio de trabajo suspendido. |
agent/, ssh/ | Material de clave SSH del lado del anfitrión — la clave privada nunca entra en la VM. |
La plantilla de preferencias reside fuera de profiles/ (como profile-template.json más un acompañante cifrado), por lo que nunca aparece como espacio de trabajo en la barra lateral. Los vínculos persistentes de espacio de trabajo a MAC se registran por separado en profile-macs.json. Los secretos nunca se escriben en profile.json ni se copian en la VM: el invitado solo contiene falsificaciones, que el proxy del anfitrión intercambia por valores reales sobre el cable (véase Credenciales).
Consejo:
disk.img,home.imgy las instantáneas bajocheckpoints/son imágenes ext4 de Linux. Puede navegarlas, extraer de ellas e incluso repararlas directamente en su Mac —sin necesidad de arrancar la VM— con el explorador de archivos ext4 descrito en Avanzado.
Equivalentes en línea de comandos
Cada acción de este capítulo tiene una contraparte sin interfaz. Con la app (o su agente en segundo plano) en ejecución, bromure-cli vm ls lista los espacios de trabajo con su estado en vivo, y workspaces create, workspaces edit, workspaces describe y workspaces rm cubren los flujos de crear/editar/inspeccionar/eliminar — vm es un alias aceptado para el grupo workspaces. Estos, la API de automatización de bucle invertido y el menú remoto SSH que replica todo el editor se documentan en Automatización y la CLI.