Instalación y primer arranque
Este capítulo te lleva desde un Mac vacío hasta una copia funcional de Bromure Agentic Coding: qué necesita la app, cómo instalarla, qué hace el asistente de bienvenida la primera vez que la abres, cómo se descarga, comprueba y mantiene actualizada la imagen base de Linux, dónde guarda la app sus archivos y cómo eliminarlo todo de forma limpia. Cuando termines aquí, continúa con el Inicio rápido.
Requisitos del sistema
| Requisito | Mínimo |
|---|---|
| Mac | Apple Silicon (M1 o posterior) |
| macOS | macOS 14 (Sonoma) o posterior |
| Espacio libre en disco | Al menos 8 GB para la configuración inicial; cuenta con unos 6–8 GB para la imagen base instalada, más el espacio que use cada máquina |
| Red | Acceso a Internet para descargar la imagen base (hay una compilación local disponible como alternativa; consulta más abajo) |
No hay una compilación para Intel ni la habrá: la app ejecuta sus VM de Linux sobre Virtualization.framework de Apple, que solo admite invitados ARM64 en Apple Silicon.
Hay dos salvaguardas de espacio en disco integradas:
- Cada instalación de imagen comprueba primero que haya al menos 8 GB libres en el volumen que contiene la carpeta de soporte de la app y, si no, se detiene con un mensaje claro.
- Durante una compilación local de la imagen, un monitor detiene la compilación con un error explícito de disco lleno si el espacio libre baja de 1 GB, en lugar de dejar que agote el tiempo.
El navegador integrado opcional, que se abre junto a una sesión, usa su propia imagen de Ubuntu + Chromium, que se descarga aparte la primera vez que lo instalas; consulta Ajustes › Navegador.
Instalar la app
Las versiones de lanzamiento se publican como una imagen de disco firmada y notarizada (BromureAgenticCoding.dmg) en bromure.io.
- Descarga el DMG desde la página de descargas de bromure.io.
- Abre el DMG. La ventana muestra el icono de la app y una flecha que apunta a un acceso directo a Aplicaciones.
- Arrastra Bromure Agentic Coding a Aplicaciones.
- Expulsa el DMG y abre la app desde
/Applications.
Como el DMG publicado está notarizado, Gatekeeper lo abre sin advertencias. Si obtuviste un DMG de un lugar distinto de bromure.io y Gatekeeper se queja, tómalo como una señal de alarma, no como algo que haya que sortear.
Primer arranque: el asistente de bienvenida
La primera vez que abres la app, se abre una ventana de configuración titulada Bromure Agentic Coding en lugar de la ventana principal. Es un asistente de seis pasos: una columna a la izquierda enumera los pasos y marca los que ya has terminado, el paso actual ocupa el lado derecho y sus botones están en la parte inferior.
El asistente se abre siempre que la app aún no tiene imagen base, o tiene una imagen base pero ninguna máquina (por ejemplo, tras una reinstalación, o cuando la imagen se compiló desde la línea de comandos). Si la imagen base ya está, el paso Instalación desaparece de la lista. El asistente no se abre cuando la app se inicia solo para replicar un Mac remoto (consulta Acceso remoto y clientes) o como agente headless sin ventana.
Los pasos son Bienvenida, Instalación, Credenciales, Elegir, Modelos y Listo.
1. Bienvenida
El primer paso dice Te damos la bienvenida a Bromure — «Vamos a empezar.» Un párrafo breve explica que Bromure ejecuta tus agentes de programación dentro de VM Linux desechables, y que el asistente instalará la imagen base y luego te ofrecerá traer las credenciales que ya tienes en este Mac.
Haz clic en Comenzar (o pulsa Retorno) para iniciar la instalación. Si ya hay una imagen base, el botón dice Continuar y te lleva directamente al paso Credenciales.
2. Instalación
El paso Instalación ejecuta la instalación de la imagen base dentro del asistente. Su título es Preparando la imagen base — «Descargando la imagen y aplicando parches. Es la instalación única: no cierres la ventana.» Muestra:
- Una línea de estado que indica la fase actual. En la ruta de descarga normal verás «Fetching image catalog…», luego líneas como «Downloading … (… GB)…», «Verifying … checksum…» y «Expanding …», después «Customizing the image: …» mientras se instalan los paquetes recomendados (consulta Qué hace la configuración inicial) y, por último, «Base image ready at … (v201)».
- Una barra de progreso con un porcentaje.
- Una sección Salida de consola plegada que muestra el registro en bruto del instalador. El texto se puede seleccionar, y Copiar copia el registro completo. Solo se conservan en pantalla las últimas 100 líneas.
Si algo falla, la línea de estado se convierte en un error en rojo y aparece un botón Cerrar.
Si intentas cerrar la ventana mientras se ejecuta la instalación, la app pregunta ¿Cancelar la reconstrucción de la imagen base? — «La imagen quedará en un estado incompleto. Tendrás que volver a ejecutar la reconstrucción antes de iniciar sesiones nuevas.» — con Cancelar la reconstrucción y Seguir construyendo.
Cuando termina la instalación, el asistente pasa por sí solo al paso Credenciales.
Nota: Mientras se instala una imagen, el servidor opcional de acceso remoto por SSH se pausa y se reinicia después (consulta Acceso remoto y clientes).
3. Credenciales
El asistente te ofrece buscar las credenciales y los archivos de configuración que ya usas: ¿Importar tus credenciales existentes? — «Bromure puede leer los archivos de configuración que ya están en este Mac y ofrecerte importarlos.» Un recuadro enumera lo que lee:
- configuración de git, contraseñas guardadas, CLI de GitHub y GitLab
- Docker, npm, PyPI, crates.io
- AWS, Kubernetes, DigitalOcean
- claves de API y ajustes de Claude, ChatGPT, Grok y Kimi
- claves SSH, archivos .env
Una nota debajo repite la regla que lo hace seguro: «Los valores reales nunca salen de este Mac. La VM solo recibe uno falso, que el proxy sustituye en las solicitudes salientes.»
- Analizar este Mac lee esos archivos y pasa al paso Elegir. No se importa nada hasta que lo confirmes allí.
- Ahora no omite el análisis y no importa nada. Pasas directamente al paso Modelos.
4. Elegir
Esto es lo que encontré enumera cada archivo que ha encontrado el análisis, uno por fila, con una casilla, la ruta del archivo y una breve descripción de su contenido (por ejemplo, una identidad de git y el número de tokens que incluye). «Marca lo que quieras importar. Cada secreto se queda en este Mac; la VM solo ve uno falso.» Si no se encontró nada, la lista dice «No se encontraron archivos de configuración.»
Además de los archivos de credenciales, la lista puede incluir una fila por agente para su propia carpeta de ajustes — por ejemplo, tus comandos slash, subagentes y archivos de memoria de Claude Code. Se copian a la máquina tal cual; no contienen secretos.
- Añadir archivo .env… te permite elegir un archivo
.enva mano. Sus variables se añaden a la lista. - Importar n (dice Continuar cuando no hay nada marcado) importa las filas marcadas y continúa.
- Omitir no importa nada y continúa.
Lo que importes se convierte en el punto de partida de tu primera máquina y de cada máquina que crees después: la identidad y la configuración de git, y las credenciales de registros, de la nube y de git, van a los ajustes con los que empieza cada máquina nueva. Las claves SSH son la excepción: solo se copian a la primera máquina. Las claves de API de agentes que se encuentren en los ajustes de tus agentes se añaden a los ajustes globales de modelos, para que cualquier máquina pueda ejecutar ese agente.
Nota: El análisis no copia las sesiones que las CLI de tus agentes tienen iniciadas en este Mac (por ejemplo, la propia sesión de Claude Code). Esas sesiones se renuevan solas, y compartir una con Bromure cerraría la sesión de un lado cada vez que el otro la renovara. En su lugar, vuelve a iniciar sesión desde Bromure en el paso siguiente; eso crea una sesión propia e independiente.
5. Modelos
Este paso solo aparece en el primer arranque. Tus modelos — «Inicia sesión en los proveedores que quieras usar o pega claves de API. Cada agente usará el modelo predeterminado de su proveedor; si quieres, elige uno concreto a la derecha, ahora o más tarde en Preferencias → Modelos.» Debajo está el mismo tablero de modelos que en Preferencias › Modelos, con una columna Proveedores a la izquierda y una columna Agentes a la derecha. Todo lo que importó el análisis ya aparece como configurado.
Para una suscripción (Claude, ChatGPT, Grok o Kimi), elige el inicio de sesión del proveedor. El inicio de sesión se hace en tu Mac, en una máquina temporal oculta; nunca ves un terminal. Una tarjeta sobre el tablero lo sigue:
- «Preparando una máquina privada de inicio de sesión…», y luego líneas de progreso como «Termina de iniciar sesión en tu navegador…».
- Cuando el inicio de sesión del proveedor no abre tu navegador por sí solo, la tarjeta muestra un botón Abrir la página de inicio de sesión y, para los inicios de sesión con código de dispositivo, Tu código: seguido del código que hay que introducir.
- Si todo va bien, la tarjeta dice Sesión iniciada en proveedor — «Tu cuenta se queda en este Mac; todas las máquinas pueden usarla.» Haz clic en OK para cerrarla.
- Cancelar detiene el inicio de sesión y elimina la máquina temporal.
Solo se ejecuta un inicio de sesión a la vez: el tablero y el botón Continuar quedan desactivados hasta que el inicio de sesión en curso termine o se cancele. Para los proveedores que usan claves de API, pega la clave en la entrada del proveedor. Modelos y proveedores explica cada proveedor y cada opción de este tablero.
No tienes que configurar nada aquí. Haz clic en Continuar para seguir; un agente sin nada configurado ofrece iniciar sesión la primera vez que lo arrancas.
6. Listo
Todo listo confirma la configuración. Si importaste archivos, debajo aparece un resumen de lo que se importó; si no, el paso dice «Tu primera máquina está lista: empieza una sesión y elige cualquier agente.»
Haz clic en Empezar a usar Bromure. El asistente se cierra y:
- Si aún no tienes ninguna máquina, la app crea una llamada Espacio de trabajo predeterminado a partir de los ajustes que acaba de reunir el asistente. Su agente predeterminado es el primero que realmente puedes arrancar: Claude Code, luego Codex, Grok, Kimi Code y Oh My Pi, en ese orden; si ninguno está configurado, se queda en Claude Code, que ofrece iniciar sesión al arrancar.
- La ventana principal se abre en la pantalla de nueva sesión, lista para tu primera sesión. El Inicio rápido continúa a partir de aquí.
A partir de entonces, la app se abre directamente en la ventana principal.
Consejo: La parte de credenciales del asistente sigue disponible más adelante. Mantén pulsada la tecla Opción al hacer clic en el + junto a Máquinas virtuales en la barra lateral para crear una máquina nueva con el asistente: empieza en el paso Credenciales, omite el paso Modelos y abre los ajustes de la máquina nueva al terminar. El elemento del menú de la app Nuevo espacio de trabajo desde mis configuraciones… (⇧⌥⌘N) hace lo mismo.
Qué hace la configuración inicial
El paso Instalación produce la imagen base: un disco disperso de 24 GB con Ubuntu 24.04 ("noble") y arranque EFI/GRUB, del que se clona cada máquina. Hay dos formas de producirla; la descarga es la preferida y la compilación local es la alternativa. Ambas escriben en archivos .partial temporales y colocan el resultado en su sitio en un solo paso, de modo que una instalación interrumpida nunca deja una imagen a medio escribir en lugar de una funcional.
La descarga de la imagen precompilada
La ruta preferida descarga una imagen precompilada publicada semanalmente en https://dl.bromure.io:
- Catálogo. La app obtiene el catálogo de imágenes firmado de su versión de imagen, en
https://dl.bromure.io/images/201/img-catalog.json. El catálogo nombra la imagen actual (ID, versión, SHA-256, tamaños) y enumera los pasos de configuración. Lleva una firma ed25519 hecha con la misma clave que firma las actualizaciones de la app; la firma cubre la identidad de la imagen, su suma de comprobación y cada comando de configuración. Los catálogos sin firmar o no válidos se rechazan, y un catálogo firmado antes que otro que la app ya aceptó nunca se usa (protección contra reversión). - Descarga. Se descarga la imagen comprimida y se comprueba su SHA-256. Una descarga fallida se reintenta hasta 3 veces, volviendo a obtener el catálogo entre intentos.
- Expansión. La imagen se expande en
base.img.partial: 24 GB de tamaño, pero solo unos 6–8 GB de espacio real en disco. - Personalización de la imagen. La app descarga un pequeño conjunto de herramientas de imagen publicadas junto con la imagen y las arranca en una VM auxiliar temporal, que ejecuta los pasos de configuración del catálogo dentro de la imagen (consulta la sección siguiente). El progreso indica «Customizing the image: waiting for the prompt…», «…: installing packages…», etcétera.
- Colocación. Se crea un almacén de variables EFI nuevo, y
base.img,efivars.bin,base.versioneimage-state.jsonse colocan en su sitio a la vez.
Pasos de configuración: los paquetes recomendados
La imagen publicada debe ser legalmente redistribuible, por lo que solo contiene software libre (Node.js, Docker, kitty, gh, glab, kubectl, doctl, awscli, azure-cli y más). Todo lo demás se declara como pasos de configuración firmados en el catálogo y se instala en tu Mac, en tu copia de la imagen. Los pasos incluidos con la versión 5.0.0 son:
| Orden | Paso | Cómo se instala |
|---|---|---|
| 10 | Claude Code (Anthropic) | npm, envuelto en el escáner de cadena de suministro de Socket.dev (npx --yes @socketsecurity/cli npm install -g --silent @anthropic-ai/claude-code) |
| 20 | Codex CLI (OpenAI) | npm, envuelto con Socket.dev |
| 30 | Grok CLI (x.ai) | El script de instalación del proveedor |
| 35 | Kimi Code CLI (Moonshot AI) | npm, envuelto con Socket.dev |
| 37 | Oh My Pi CLI (omp) + entorno de ejecución bun | El script de instalación de bun y luego omp mediante npm, envuelto con Socket.dev |
| 40 | Google Cloud SDK (gcloud) | gcloud, gsutil, bq |
En una instalación nueva, todos los pasos incluidos se ejecutan sin ningún aviso adicional: iniciar la configuración desde el asistente (o ejecutar bromure-ac init) es tu consentimiento. Los pasos publicados más tarde necesitan tu aprobación explícita mediante el aviso Nuevos paquetes recomendados descrito en Actualizaciones de la imagen base. Como la firma del catálogo cubre el comando de cada paso, un servidor de descargas manipulado no puede cambiar lo que se ejecuta como root en tu imagen.
La alternativa de compilación local
Si la descarga falla por un motivo del lado de la descarga —no tienes conexión, el servidor está caído, o falla la suma de comprobación o la expansión—, la app muestra Falló la descarga de la imagen, con el error y «Bromure puede construir la imagen localmente en su lugar (~10 min, mismo resultado).», y los botones Construir localmente y Cancelar. Nunca cambia a una compilación local sin avisar. (El comando bromure-ac init, en cambio, recurre a la alternativa automáticamente.)
La compilación local produce la misma imagen en tu Mac:
- Descarga las herramientas de compilación de la imagen y las guarda en caché en la carpeta de soporte.
- Crea un disco disperso nuevo de 24 GB.
- Arranca una VM de compilación de un solo uso (4 vCPU, 4 GB de RAM) que instala Ubuntu noble, las herramientas libres y GRUB.
- Aplica los mismos pasos de configuración del catálogo que la ruta de descarga.
El progreso indica «Building the image: downloading tools…», «Allocating 24GB sparse disk…», «Building the image: starting…», etcétera. En esta ruta, la barra de progreso sigue el registro del instalador y se queda en el 97 % hasta el salto final a «Base image ready».
La compilación local está pensada para sobrevivir a las VPN: todas las descargas de paquetes pasan por un proxy del lado del anfitrión, la MTU de red de la VM de compilación se reduce antes de cualquier descarga, la falta de red detiene la compilación pronto, y un fallo del kernel del invitado provoca un reintento automático en un disco nuevo. Dos vías de escape relacionadas:
- Si la VM de compilación no obtiene una dirección de red, la compilación falla con Problema de red durante la construcción de la imagen base, que ofrece Reparar y reintentar (reinicia los servicios de red de macOS; pide tu contraseña de administrador) o Cancelar.
- En VPN que descartan paquetes grandes (por ejemplo WireGuard con MTU 1420), puedes fijar tú mismo la MTU de la VM de compilación:
defaults write io.bromure.agentic-coding vm.mtu -int 1400.
También puedes elegir a propósito la compilación local en cualquier momento: Reconstruir la imagen base… › Reconstruir localmente en el menú de la app, o bromure-ac init --build-local.
Endpoints de red utilizados durante la configuración
Para administradores de cortafuegos y proxy, la instalación se comunica con:
| Endpoint | Propósito |
|---|---|
https://dl.bromure.io | El catálogo de imágenes (images/201/img-catalog.json), las descargas de imágenes y las herramientas de imagen |
| Réplicas de paquetes y sitios de proveedores | Paquetes de Ubuntu, el registro de npm, Socket.dev y scripts de instalación de proveedores, obtenidos a través del proxy del lado del anfitrión de la app |
https://bromure.io/api/v1/release-agentic-coding | Comprobación de actualizaciones de la app (no forma parte de la configuración de la imagen) |
La instalación en sí no abre ningún puerto de red en escucha; el proxy de paquetes del lado del anfitrión que se usa durante las compilaciones solo escucha en un puerto temporal de localhost.
Tiempo de configuración y uso de disco
| Ruta | Duración típica | Notas |
|---|---|---|
| Descarga precompilada | El tiempo de descargar unos pocos GB, más la expansión, más unos minutos para los pasos de configuración | Depende sobre todo de tu conexión |
| Compilación local | Unos 10 minutos | Se detiene como máximo a los 45 minutos |
Uso de disco:
- Para empezar: al menos 8 GB libres en el volumen que contiene
~/Library/Application Support/BromureAC/. - Tras la instalación: la imagen base ocupa unos 6–8 GB de espacio real (24 GB de tamaño; las partes sin usar de un disco disperso no cuestan nada).
- Por máquina: el disco de sistema de cada máquina empieza como un clon APFS copy-on-write de la imagen base, así que al principio casi no ocupa nada y solo crece a medida que la máquina escribe datos. Su disco personal crece del mismo modo.
La configuración se hace una vez por versión de la imagen base.
La herramienta de línea de comandos
La app no instala nada por su cuenta fuera de tu cuenta de usuario. Para manejar Bromure desde Terminal, elige Instalar herramienta de línea de comandos… en el menú de la app (menú Bromure Agentic Coding). La app pregunta ¿Instalar la herramienta de línea de comandos “bromure-cli”? — «Esto crea un enlace simbólico en /usr/local/bin/bromure-cli para que puedas manejar Bromure desde el terminal (vm, exec, trace, …). Necesita tu contraseña de administrador una vez.» Haz clic en Instalar e introduce tu contraseña de administrador; no se instala ningún auxiliar en segundo plano.
El elemento del menú solo funciona desde el paquete de la app instalada. La referencia completa de comandos está en CLI, API y MCP.
Dónde se almacena todo
Todo lo que escribe la app vive en tu cuenta de usuario; no se instala nada a nivel de sistema salvo el enlace opcional bromure-cli.
| Ruta | Contenido |
|---|---|
~/Library/Application Support/BromureAC/ | La carpeta de soporte de la app |
…/BromureAC/base.img | La imagen base de Ubuntu (24 GB de tamaño, ~6–8 GB en disco) |
…/BromureAC/efivars.bin | El almacén de variables EFI de la imagen base |
…/BromureAC/base.version | El sello de versión de la imagen instalada (por ejemplo 201 o 201.1) |
…/BromureAC/image-state.json | De dónde vino la imagen y qué pasos de configuración se han aplicado |
…/BromureAC/img-catalog.json | Copia en caché del catálogo de imágenes |
…/BromureAC/profiles/ | Una carpeta por máquina: profile.json, el disco de sistema disk.img, el disco personal home.img, las claves SSH, los puntos de control y el estado guardado |
…/BromureAC/sessions.json | Tus sesiones: títulos, agentes, carpetas y estados |
…/BromureAC/transcripts/ | Una copia local de la conversación de cada sesión, para poder leerla con su máquina apagada |
…/BromureAC/rooms.json | Tus salas |
…/BromureAC/delegations.json | Trabajo que los agentes se han delegado entre sí |
…/BromureAC/models.enc | Los ajustes globales de modelos (cifrados) |
…/BromureAC/claude-subscription.enc, codex-subscription.enc, grok-subscription.enc, kimi-subscription.enc | Inicios de sesión de suscripciones (cifrados) |
…/BromureAC/profile-template.enc | Secretos de la plantilla de valores predeterminados con la que empieza cada máquina nueva (cifrados) |
…/BromureAC/security-timeline/ | La cronología de seguridad, un archivo por día, conservada 90 días |
…/BromureAC/kube/ | Clústeres de Kubernetes, registros y el conector de mensajería, con los discos de sus VM |
…/BromureAC/pii/ | Datos de la protección de datos personales |
…/BromureAC/dhcp-leases.sqlite | Concesiones de direcciones, para que cada máquina conserve normalmente su dirección IP |
…/BromureAC/browser/ | La imagen del navegador integrado, si está instalado |
…/BromureAC/base.img.partial, base.img.gz.partial, efivars.partial | Archivos de instalación temporales; si los ves, hay una instalación en curso o se interrumpió |
~/Library/Logs/BromureAC/bromure-ac.log | El registro de la app |
~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plist | Agente de inicio al iniciar sesión, que se escribe cuando alguna máquina tiene activado Iniciar esta VM al iniciar sesión |
/usr/local/bin/bromure-cli | El enlace opcional de la herramienta de línea de comandos |
Dominio de UserDefaults io.bromure.agentic-coding | Ajustes de la app |
Dos cosas viven en otro sitio a propósito:
- La clave maestra de credenciales se guarda en el llavero de protección de datos de macOS, marcada como solo este dispositivo, así que nunca sale del Mac. Los secretos en disco son texto cifrado AES-256-GCM; consulta Credenciales.
- El paquete de la app contiene un demonio del sistema (
io.bromure.fatclient-tunnel) que se usa al replicar un Mac remoto. Solo se registra cuando hace falta, y el primer registro muestra un conmutador de aprobación en Ajustes del Sistema › General › Ítems de inicio de sesión; consulta Acceso remoto y clientes.
bromure-ac info imprime en cualquier momento el sello de versión, el tamaño y la ruta de la imagen instalada.
Actualizaciones de la imagen base
Sellos de versión
La imagen instalada registra su versión en base.version. La versión 5.0.0 de la app usa la imagen base 201. Cualquier recompilación, nueva descarga o enmienda en la misma versión añade una revisión de punto (201 → 201.1 → 201.2). image-state.json registra de dónde vino la imagen y qué pasos de configuración se han aplicado.
La app busca actualizaciones en el catálogo de su propia versión de imagen, así que una app más antigua nunca recoge una imagen hecha para una más nueva. Las imágenes precompiladas se vuelven a publicar cada semana con paquetes de Ubuntu actualizados, pero esas republicaciones semanales mantienen el mismo número de versión, así que no se te pide actualizar cada semana.
El aviso de actualización
Cuando la imagen de tu Mac es más antigua que la versión que espera la app, o el catálogo publica una versión más nueva, la app muestra Actualización de la imagen base disponible al iniciarse: «Tu imagen base está en la versión X, pero la versión Y está disponible. La imagen actual sigue funcionando — actualizar descarga la nueva imagen preconstruida (unos GB; reconstrucción local como alternativa) y vuelve a aplicar los paquetes recomendados.»
- Actualizar ahora inicia la reinstalación, con la descarga primero.
- Más tarde cierra el aviso hasta el siguiente inicio. La imagen actual sigue funcionando en ambos casos.
Una imagen más nueva de lo que espera la app sigue funcionando y no provoca el aviso.
Actualizar cada máquina
Instalar una imagen base nueva no cambia tus máquinas existentes: cada máquina conserva el disco de sistema del que se clonó. La próxima vez que arranques una máquina cuyo disco procede de una base más antigua, la app pregunta Hay disponible una imagen base más reciente. — «Este espacio de trabajo usa la base v201; la v201.1 está en el disco. ¿Actualizarlo ahora? Actualizar restablece el disco del espacio de trabajo: se borra todo lo instalado dentro de la VM; tu carpeta de proyecto no se toca.»
- Sí, actualizar restablece el disco de sistema de la máquina sobre la nueva base y luego la arranca. El disco personal (y todo lo que hay en
/home/ubuntu) se conserva. - No arranca la máquina tal como está y no vuelve a preguntar hasta que se instale otra imagen base.
- Recordármelo más tarde arranca la máquina tal como está y vuelve a preguntar en el primer arranque pasado un día.
La respuesta se recuerda para cada máquina.
Nuevos paquetes recomendados
Cuando el catálogo enumera pasos de configuración que aún no se han aplicado a tu imagen, la app pregunta Nuevos paquetes recomendados al iniciarse, enumerándolos: «Se recomienda instalar nuevos paquetes: … Bromure los instala en la imagen base (unos minutos, en la VM en segundo plano). Los espacios de trabajo existentes siguen funcionando; el aviso de desviación de cada uno ofrecerá un restablecimiento para incorporarlos.»
- Instalar aplica los pasos a un clon copy-on-write de
base.imgy coloca la imagen enmendada en su sitio al terminar; las máquinas en ejecución siguen funcionando. El sello de versión recibe una revisión de punto (por ejemplo201→201.1), así que luego cada máquina ofrece la actualización descrita arriba. - Más tarde vuelve a preguntar en el siguiente inicio.
Nada se ejecuta sin este consentimiento: los pasos de configuración se ejecutan como root dentro de la imagen base.
Reconstruir a mano
Para reinstalar la imagen en cualquier momento, elige Reconstruir la imagen base… en el menú de la app. Pregunta ¿Actualizar la imagen base? y ofrece Descargar precompilada, Reconstruir localmente y Cancelar. Los discos de las máquinas existentes no se tocan. La imagen antigua sigue en uso hasta que la nueva está completa, así que puedes seguir arrancando máquinas durante la reconstrucción. Los equivalentes en la línea de comandos son bromure-ac init (descarga primero) y bromure-ac init --build-local.
Una descarga conserva una copia de la imagen publicada con los paquetes recomendados instalados (stock.img, que comparte sus bloques de disco con la imagen base). Mientras el catálogo siga indicando la misma imagen, Descargar precompilada parte de esa copia: se salta la descarga y la instalación de los agentes, aplica solo los paquetes publicados desde entonces y ejecuta tu script de personalización. Así es rápido reintentar o revisar un script de personalización. Para empezar de cero de todos modos —por ejemplo, para obtener versiones más recientes de los agentes—, activa Volver a descargar y reinstalar los agentes o ejecuta bromure-ac init --fresh.
Mantener la app actualizada
La app se actualiza a sí misma con Sparkle. Comprueba https://bromure.io/api/v1/release-agentic-coding una vez al día, y las actualizaciones se verifican con la misma clave pública que firma los catálogos de imágenes. Para comprobarlo ahora, elige Buscar actualizaciones… en el menú de la app, debajo de Acerca de. (Las compilaciones de desarrollo no tienen este elemento.)
Las actualizaciones de la app y las de la imagen base son independientes: actualizar la app solo lleva a una actualización de la imagen cuando la nueva versión de la app espera una imagen base más nueva.
Pasar a un nuevo Mac
No hay un asistente de migración integrado. La ruta recomendada es una instalación nueva más una copia de los datos de tus máquinas:
- En el Mac nuevo, instala la app y sigue el asistente. Volver a descargar la imagen base es más rápido y limpio que copiarla.
- Cierra la app en ambos Mac.
- Copia
~/Library/Application Support/BromureAC/profiles/del Mac antiguo al mismo lugar en el nuevo. Cada subcarpeta es una máquina: sus ajustes (profile.json), su disco de sistema (disk.img), su disco personal (home.img— tus repositorios clonados, cachés e historial del shell) y sus claves SSH. Para conservar también tu lista de sesiones y tus conversaciones, copia ademássessions.json,rooms.jsony la carpetatranscripts/. - Abre la app en el Mac nuevo. Tus máquinas aparecen en Máquinas virtuales. Si una máquina se clonó desde una imagen base distinta de la instalada ahora, ofrece la actualización descrita arriba; elige No para conservar su disco actual.
Tres cosas no se transfieren, a propósito:
- Credenciales. La clave maestra que cifra los secretos guardados se conserva en el llavero de protección de datos del Mac y está marcada como solo este dispositivo, así que los secretos cifrados y los inicios de sesión del Mac antiguo no se pueden leer en el nuevo. Sus detalles no secretos de cada
profile.jsonse conservan; vuelve a introducir tus claves en el panel Credenciales de cada máquina y vuelve a iniciar sesión en Preferencias › Modelos (consulta Credenciales). - Inscripción empresarial. El certificado de identidad de la instalación pertenece a una sola instalación; vuelve a inscribir el Mac nuevo (consulta Empresa).
- Ajustes de la app en el dominio de preferencias
io.bromure.agentic-coding, a menos que los copies tú.
Consejo: Los discos de las máquinas son dispersos, y el ahorro del copy-on-write se pierde en una copia de red normal: una máquina que ocupa unos pocos GB en el Mac antiguo puede crecer hasta todo su tamaño escrito por el camino. Usa una copia que respete los archivos dispersos (por ejemplo
rsync -aS) y comprueba antes el espacio libre en el Mac nuevo.
Desinstalación completa
Para restablecer solo la imagen base conservando la app y tus máquinas, ejecuta bromure-ac reset (añade --yes para omitir la confirmación). Elimina base.img, efivars.bin, base.version, image-state.json y la descarga guardada (stock.img, stock-state.json), de modo que el siguiente inicio vuelve a ejecutar la configuración. Nunca toca tus máquinas.
No hay un desinstalador incluido. Para eliminarlo todo:
-
Cierra la app (y cualquier agente headless: compruébalo con
pgrep -fl bromure-ac). -
Arrastra Bromure Agentic Coding de
/Applicationsa la Papelera. -
Elimina la carpeta de soporte — imagen base, cada máquina y sus discos, sesiones, cachés y la CA propia de la instalación:
rm -rf ~/Library/Application\ Support/BromureAC -
Elimina el agente de inicio al iniciar sesión, si existe:
rm -f ~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plist -
Elimina la carpeta de registros:
rm -rf ~/Library/Logs/BromureAC -
Elimina las entradas de la app en Ajustes del Sistema › General › Ítems de inicio de sesión y extensiones (el conmutador de aprobación del demonio de réplica remota, si alguna vez lo activaste).
-
Elimina la herramienta de línea de comandos, si la instalaste:
sudo rm -f /usr/local/bin/bromure-cli -
Opcionalmente, borra los ajustes de la app:
defaults delete io.bromure.agentic-coding
Advertencia: El paso 3 elimina de forma permanente los discos de todas las máquinas —repositorios clonados, trabajo sin confirmar, cachés de paquetes, historial del shell— y la conversación de todas las sesiones. Antes, haz push o exporta todo lo que quieras conservar.
La clave maestra de credenciales del llavero se queda atrás cuando desaparece su texto cifrado. Es inofensiva, pero puedes eliminarla en Acceso a Llaveros buscando io.bromure.agentic-coding.master-key.