Apéndice — Atajos, archivos, puertos y entorno
Este apéndice reúne en tablas de referencia los datos concretos repartidos por el resto del manual: atajos de teclado, ubicaciones en el disco, puertos de red, variables de entorno y valores predeterminados, y una chuleta de la VM invitada. Todo lo que aparece aquí corresponde a la versión publicada (versión 5.0.0, ID de paquete io.bromure.agentic-coding, binario de la app bromure-ac). Para los comandos que leen y escriben estos elementos, consulta CLI, API y MCP; para lo que se crea al instalar, consulta Instalación y primer arranque.
Marcadores usados abajo: <uuid> es el identificador de una máquina (espacio de trabajo), <id> el de un clúster, registro o ejecución, <version> una versión de herramienta fijada, <org>--<name> un repositorio de modelo y <host-UUID> un anfitrión remoto guardado.
Atajos de teclado
Los atajos que dependen de lo que hay en el escenario lo indican. Los atajos estándar de macOS (⌘Q, ⌘H, ⌘M, ⌘C, ⌘V, …) funcionan como siempre.
Sesiones y navegación
| Atajo | Acción |
|---|---|
| ⌘N | Nueva sesión… — la pantalla de nueva sesión. |
| ⌘K | Ir a… — la paleta de comandos (sesiones, salas, máquinas, acciones, texto en las conversaciones). ↑/↓ para moverse, ⏎ para abrir. |
| ⌘1 – ⌘9 | Con una sesión o la pantalla de nueva sesión en el escenario: saltar a la 1.ª–9.ª sesión de la barra lateral. En el terminal de una máquina: cambiar a esa pestaña. Mantén pulsada ⌘ para ver los números en la barra lateral. |
| ⌥⌘↑ / ⌥⌘↓ | Sesión anterior / siguiente, en el orden de la barra lateral. |
| ⌘⏎ | Reanudar la sesión en pausa o terminada que está en el escenario. En la pantalla de nueva sesión, Iniciar. |
| ⌘W | Con una sesión en el escenario: Terminar sesión (primero pregunta «¿Terminar “‹sesión›”?» y luego ofrece Deshacer). En el terminal de una máquina: cierra la pestaña. |
| ⌃⌘R | Sala siguiente. |
| ⌥⌘U | Linux — de una sesión a su pestaña de terminal en la máquina, y de vuelta (la píldora indica entonces Sesión). |
| ⌘Z | Deshacer la última finalización, archivado, eliminación o movimiento mientras se ve el aviso. |
| ⌃⌘S | Plegar o desplegar la barra lateral. |
| ⌃⌘B | Mostrar u ocultar el panel del navegador agéntico. |
| ⌃⌘E | Mostrar u ocultar el panel Archivos. |
| ⌘, | Preferencias… |
En un chat
| Atajo | Acción |
|---|---|
| ⏎ | Enviar el mensaje (en la pantalla de nueva sesión: iniciar la sesión). |
| ⌥⏎ | Nueva línea. |
| Esc | Detener al agente mientras trabaja. |
/ | Abrir la paleta de comandos de barra (↑/↓ para moverse, ⇥ para completar, ⏎ para elegir, Esc para cerrar). |
@ | Abrir la paleta de sesiones a las que puedes pedir algo. |
Salas
| Atajo | Acción |
|---|---|
| ⌃⇥ / ⌃⇧⇥ | Pestaña siguiente / anterior de la sala, cuando sus sesiones no caben en una sola página. |
| Esc | Salir de una sesión ampliada y volver a toda la sala. |
Máquinas y terminales
| Atajo | Acción |
|---|---|
| ⇧⌘N | Nuevo espacio de trabajo… (una máquina nueva). |
| ⌥⇧⌘N | Nuevo espacio de trabajo desde mis configuraciones… (el mismo elemento de menú con ⌥ pulsada). |
| ⇧⌘K | Conectar a un Bromure remoto… |
| ⌘T | Nueva pestaña en el terminal de la máquina seleccionada — o una nueva pestaña del navegador cuando el panel del navegador tiene el foco del teclado. |
| ⌘D | Añadir terminal a la cuadrícula. |
| ⇧⌘G | Nuevo worktree (en el terminal de una máquina). |
| ⇧⌘M | Fusionar worktree (en el terminal de una máquina). |
Tableros, ventanas y revisión
| Atajo | Acción |
|---|---|
| ⇧⌘A | Tablero de automatizaciones. |
| ⇧⌘T | Tareas (el tablero de tareas de código). |
| ⌘0 | Gestor de espacios de trabajo. |
| ⇧⌘I | Inspector de trazas… |
| ⌘R | Actualizar (ventanas de revisión y de ramas). |
| ⇧⌘⏎ | Enviar tus comentarios al agente (ventana de revisión). |
Ubicaciones en disco
Todo lo que pertenece a la app vive en un único directorio de soporte, más un puñado de archivos fuera de él y algunos elementos del llavero. Una ruta que termina en / es un directorio.
El directorio de soporte
La raíz de soporte de la app es ~/Library/Application Support/BromureAC/. Las rutas siguientes son relativas a ella.
| Ruta | Contiene |
|---|---|
base.img | La imagen base de Ubuntu que clona cada máquina (24 GB lógicos, unos pocos GB físicos). |
efivars.bin | Almacén de variables EFI con el que arranca la imagen base. |
base.version | Marca de versión de la imagen instalada, por ejemplo 201 o 201.1. |
image-state.json | Procedencia de la imagen y los UUID de los pasos de posinstalación aplicados. |
img-catalog.json | Copia en caché del catálogo de imágenes descargado. |
browser-img-catalog.json | Catálogo en caché de la imagen del navegador integrado. |
catalog.json | Catálogo remoto de modelos en el dispositivo, en caché. |
base.img.partial, base.img.gz.partial, efivars.partial | Archivos de instalación transitorios; su presencia significa que una instalación está en curso o fue interrumpida. |
alpine-vmlinuz, alpine-initramfs, alpine-initramfs-shimmed | Archivos del instalador de arranque en red de Alpine en caché, usados por la compilación local. |
browser/ | La copia propia de AC de la imagen de navegador Ubuntu + Chromium, cuando no está la copia de Bromure Web. |
browser-profiles/<uuid>/image/profile.img | Disco de perfil de Chromium persistente y cifrado ("Mantener sesión iniciada en los sitios web"). |
ca/cert.pem, ca/key.pem | La CA raíz de Bromure Agentic Coding por instalación (modo de clave 0600). Elimina el directorio ca/ para rotarla. |
control.sock | Socket de control Unix exclusivo del propietario (0600) sobre el que la CLI y el plano de control hablan HTTP. |
profile-macs.json | Asociaciones de direcciones MAC deterministas por máquina. |
dhcp-leases.sqlite | Concesiones DHCP persistentes de la red virtual de las máquinas. |
default-ssh/id_ed25519.raw, default-ssh/id_ed25519.pub | Par de claves SSH predeterminado compartido, copiado en cada máquina nueva. |
profile-template.json, profile-template.enc | La plantilla Defaults de Preferencias que heredan las máquinas nuevas. |
models.enc | Los ajustes de modelos globales (Preferencias › Modelos): proveedores, claves, elecciones por agente. Cifrado. |
claude-subscription.enc, codex-subscription.enc, grok-subscription.enc, kimi-subscription.enc | Inicios de sesión por suscripción cifrados y en poder del anfitrión (compartidos, más sobrescrituras por máquina), 0600. |
sessions.json | Tus sesiones de agente: título, agente, máquina, carpeta, estado, apodo, sala. |
rooms.json | Tus salas. |
delegations.json | Delegaciones y peticiones entre sesiones. |
transcripts/ | La copia, en el anfitrión, de la conversación de cada sesión (<session-id>.jsonl). |
tasks.json, task-transcripts/ | El tablero de tareas de código y sus transcripciones archivadas. |
automations.json | Automatizaciones programadas más el historial de ejecuciones, las horas de los próximos disparos y las marcas de sondeo de eventos. |
runs/<id>/ | Ejecuciones de automatizaciones archivadas (record.json, transcript.jsonl). |
security-timeline/<yyyy-MM-dd>.jsonl | La Cronología de seguridad, un archivo por día, conservado 90 días. |
pii/<uuid>.key | Secreto por máquina que mantiene coherentes los sustitutos de datos personales (0600). |
grid-layout.json | Composición de la Cuadrícula. |
engine-master.key | Secreto maestro de las claves del motor en el dispositivo por VM. |
engine-spawn.json | Configuración de arranque del motor en el dispositivo (modelos, presupuesto de memoria, puerto). |
fake-salt.bin | Sal propia de la instalación para derivar los tokens sustitutos (0600). Si lo eliminas, cambian todos los sustitutos de este Mac. |
secrets-master.key | Clave maestra de respaldo en 0600, que solo se usa cuando el llavero Data Protection no está accesible. |
cloudflared/<version>/cloudflared | Binario cloudflared fijado y verificado por suma de comprobación, con un enlace simbólico current al lado. |
ghostty/ | Configuraciones de terminal generadas (base, más una por máquina). |
Almacenamiento por máquina
Cada máquina es un directorio autónomo, profiles/<uuid>/, bajo la raíz de soporte. Consulta Máquinas y Conceptos y arquitectura para ver cómo se usan.
Ruta (bajo profiles/<uuid>/) | Contiene |
|---|---|
profile.json | Definición de la máquina, incluidas sus políticas de seguridad; las claves de API de socket.dev y Depi se guardan aquí, en el anfitrión, y nunca se copian en la VM. Solo se escriben los campos que no tienen el valor predeterminado. |
secrets.enc | Secretos cifrados de la máquina (0600). |
disk.img | Disco del sistema — un clon copia-en-escritura APFS de base.img. |
home.img | Imagen ext4 dispersa que contiene /home/ubuntu. |
home/ | Carpeta personal compartida antigua (máquinas aún no actualizadas). |
checkpoints/, checkpoints/home/ | Puntos de control del disco y de la carpeta personal en cada arranque (los de la carpeta personal son los que muestra Rebobinar el home…). |
vm.state, vm.state.json | Instantánea de la RAM de una VM suspendida, y la huella de la configuración con la que se guardó. |
tabs.json | Disposición guardada de las pestañas de terminal, que solo se respeta si existe vm.state. |
machine-identifier.bin | Identidad persistente de la VM (necesaria para restaurar una VM suspendida). |
compromised.flag | Marcador de borrado en el siguiente arranque, que se pone tras un compromiso. |
meta-share/ | Recurso compartido de configuración del invitado, de solo lectura y por arranque (api_key.env, proxy.env, el certificado de la CA, los asistentes del invitado, los adaptadores y configuraciones de MCP). |
outbox/ | Compartición de eventos invitado→anfitrión con permiso de escritura por inicio. |
agent/ (y agent/imported/), ssh/ | Material de claves SSH por máquina; las claves importadas están en agent/imported/, ssh/ es el directorio antiguo. |
Clústeres, registros y conector de mensajería
| Ruta (bajo la raíz de soporte) | Contiene |
|---|---|
kube/clusters.json | Cada clúster de Kubernetes, registro y conector de mensajería, con sus ajustes y su lista de acceso. |
kube/<id>/kubeconfig.yaml | El kubeconfig de administración de un clúster (lo que copia Copiar kubeconfig). |
kube/<id>/setup.log | El registro de configuración y ciclo de vida del clúster o del registro (su pestaña Registro). |
kube/<id>/synology.enc | Credenciales cifradas del NAS Synology, si se ha configurado. |
kube/<id>/nodes/<uuid>/ | El directorio de máquina propio de cada nodo (o del registro, o del conector): disk.img, un disco de datos data.img cuando se usa, meta-share/, etc. |
Modelos y detectores
| Ruta (bajo la raíz de soporte) | Contiene |
|---|---|
models/<org>--<name>/ | Pesos descargados de los modelos en el dispositivo. |
models/<org>--<name>/.incomplete | Marcador de descarga en curso o interrumpida. |
Models/prompt-injection/ | Recursos del detector PromptGuard (model.onnx, archivos del tokenizador, anulaciones opcionales bromure-injection.json). |
Models/claudemd-guard/ | Recursos del detector de archivos de reglas ModernBERT. |
Models/pii-rampart/ | El modelo Rampart de protección de datos personales, solo cuando no viene incluido en la app (compilaciones de desarrollo). |
traces/YYYY-MM-DD/<sessionID>.jsonl | Metadatos de traza por sesión, un registro JSON por línea. |
traces/YYYY-MM-DD/<sessionID>/<recordID>.req.enc, .res.enc | Cuerpos de peticiones/respuestas capturados, cifrados (0600). |
Inscripción, acceso remoto y el cliente enriquecido
| Ruta (bajo la raíz de soporte) | Contiene |
|---|---|
managed/install.json | Identidad de la inscripción: ID de instalación, identificador de la organización, usuario, URL del servidor, nombre del dispositivo, fecha de inscripción. |
managed/leaf.crt | Certificado hoja mTLS (PEM). |
managed/leaf.serial | Puntero a la entrada del Keychain que contiene la clave privada de la hoja actual. |
managed/ca.crt | Certificado de la CA de la organización (PEM). |
managed/health | Estado de inscripción persistido (ok / tokenRejected / revoked). |
remote/hostkey_ed25519, remote/hostkey_ed25519.pub | Clave de anfitrión del servidor SSH integrado (modo de directorio 0700, clave 0600). |
remote/authorized_keys | Claves públicas admitidas a través de la puerta de entrada SSH (0600). |
remote/overlay-key | Anulación opcional de combinación de teclas superpuesta para el menú remoto SSH. |
remote-client/id_ed25519, .pub | El par de claves de cliente SSH del cliente enriquecido (comentario bromure-ac-fatclient). |
remote-client/known_hosts | Fijaciones de confianza en el primer uso de las claves de anfitrión remoto. |
remote-client/hosts.json | Servidores remotos guardados ("Servidores recientes"). |
remote-client/hosts/<host-UUID>/… | Persistencia de la réplica por anfitrión (disposición de la cuadrícula, automatizaciones), para que el estado de un remoto nunca sobrescriba el local. |
Nota: El subárbol
remote-client/se reubica conCFFIXED_USER_HOME, que es la forma en que se pueden ejecutar dos instancias aisladas en paralelo para pruebas.
Fuera del directorio de soporte
| Ruta | Contiene |
|---|---|
~/Library/Logs/BromureAC/bromure-ac.log (y .log.1) | El registro de la app: una copia de todo lo que la app escribe en la salida de error estándar, con marcas de inicio, salida y señal fatal. Se rota al arrancar por encima de 8 MB; se conserva un archivo anterior. |
~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plist | LaunchAgent de arranque al iniciar sesión, que se escribe cuando alguna máquina activa «Iniciar esta VM al iniciar sesión». |
<app>/Contents/Library/LaunchDaemons/io.bromure.fatclient-tunnel.plist | Daemon de túnel privilegiado integrado, registrado bajo demanda. |
/var/run/io.bromure.fatclient-tunnel.sock | Socket del daemon de túnel privilegiado (creado por root, 0600, propiedad del usuario de la consola). |
/tmp/bromure-ac-cm-<first-12-of-host-UUID> | Socket SSH ControlMaster por anfitrión (está en /tmp porque la ruta de soporte es demasiado larga para un socket Unix). |
/tmp/bromure-repair.log | Registro de depuración del proxy de reparación de inferencia local (solo con BROMURE_REPAIR_DEBUG). |
/usr/local/bin/bromure-cli | Enlace simbólico opcional de la CLI al binario de la app, creado por Instalar herramienta de línea de comandos…. |
<NSTemporaryDirectory>/bromure-ac-agent-<pid>.sock | El socket privado de ssh-agent del lado del anfitrión de Bromure. |
<NSTemporaryDirectory>/sessions-mirror.json, rooms-mirror.json, delegations-mirror.json | La copia de trabajo, en un cliente enriquecido, de las sesiones, salas y delegaciones de un anfitrión remoto. |
$TMPDIR/bromure/session-<uuid>.img (y -aux.img) | Clones copia-en-escritura efímeros de la VM del navegador, eliminados al desmontar. |
~/Library/Application Support/Bromure/ | Directorio de soporte de Bromure Web; AC lee su imagen de navegador desde aquí cuando está presente. |
Elementos del Keychain y dominio de defaults
Los secretos que deben persistir con protección a nivel del sistema operativo residen en el Keychain de macOS, no en el disco.
| Servicio del Keychain | Cuenta | Contiene |
|---|---|---|
io.bromure.agentic-coding.master-key | v1 | La clave maestra del almacén de secretos (llavero Data Protection). |
io.bromure.agentic-coding.ssh-key-passphrases | <profileUUID>/<filename> | Frases de contraseña para claves SSH importadas. |
io.bromure.agentic-coding.managed-install | install-token, leaf-cert-key-<serial> | Token portador de inscripción y claves privadas de hoja por número de serie. |
Todos los UserDefaults de la app residen en el dominio io.bromure.agentic-coding (se leen y escriben con defaults read/defaults write).
Puertos de red y subredes
Puertos TCP y de bucle invertido
Bromure Agentic Coding no abre puertos de entrada fijos de forma predeterminada. Los dos servicios opcionales siguientes están desactivados hasta que los actives; el resto son exclusivos de bucle invertido y o bien dinámicos o bien internos.
| Puerto | Propósito | Enlazado en |
|---|---|---|
9223 (predeterminado) | API HTTP de automatización y backend de bromure-ac mcp. Desactivada por defecto (automation.enabled); uno más que el 9222 del producto de navegador, para que ambas apps puedan ejecutarse a la vez. Sirve GET /health. | 127.0.0.1 (configurable con automation.bindAddress; los enlaces fuera de loopback no están autenticados y se desaconsejan). |
2222 (predeterminado) | Puerta de entrada de acceso remoto SSH opcional. Desactivada de forma predeterminada; configurable a cualquier puerto ≥ 1024. | 0.0.0.0 de forma predeterminada (configurable mediante remoteAccess.bindAddress). |
28500–28599 | Escucha de devolución de llamada OAuth de MCP (http://127.0.0.1:<port>/callback). | 127.0.0.1. |
| dinámico | Motor de inferencia en el dispositivo, asignado en el primer arranque para evitar choques con Ollama/LM Studio en el 11434. | 127.0.0.1 (nunca 0.0.0.0). |
| dinámico | Proxy de reparación de llamadas a herramientas de inferencia local. | 127.0.0.1. |
| efímero | Reenviador SOCKS5 por anfitrión remoto usado por el panel del navegador del cliente enriquecido. | Enlazado a 0.0.0.0 pero filtrado por par a bucle invertido más 192.168.127.x. |
Hay dos endpoints de loopback dentro del invitado, no en el Mac: 127.0.0.1:65534 (el proxy HTTP(S) dentro de la VM, que cada shell exporta como HTTPS_PROXY) y 127.0.0.1:11434 (donde aparece el motor de inferencia del anfitrión, por vsock).
La instalación en sí no abre puertos TCP; el proxy de paquetes de la compilación de la imagen base enlaza un puerto efímero de localhost por compilación.
Subredes de red virtual
| Subred | Propósito |
|---|---|
Un /24 aleatorio en 172.16.0.0/12 | La red de las máquinas en las instalaciones nuevas (puerta de enlace .1, rango DHCP .2–.254). Se elige una vez por instalación, evitando los habituales 172.17–172.20 de Docker y cualquier rango en el que esté el Mac. Consúltala, desactívala o vuelve a sortearla en Preferencias › Recursos › Subred del espacio de trabajo. |
192.168.64.0/24 | La red de las máquinas en las instalaciones que desactivaron la subred privada. Se reubica automáticamente si la LAN del Mac ya la usa. |
192.168.65.0/24–192.168.126.0/24 | Rango al que se reubican las instancias de Bromure Web, evitando que AC y Web colisionen. |
192.168.127.0/24 | La subred fija de la VM de navegador local del cliente enriquecido (puerta de enlace .127.1). |
10.98.<unit>.0/30 | Redes de enlace punto a punto usadas por el demonio de túnel utun privilegiado. |
IPv6 no se enruta: las imágenes base recientes lo desactivan dentro del invitado, y apt funciona solo por IPv4.
Puertos vsock anfitrión↔invitado
El anfitrión y el invitado se comunican mediante sockets virtio (vsock), que no tienen dirección IP — son canales numerados entre el anfitrión (CID 2) y cada invitado. Son conexiones internas, que se enumeran aquí para el diagnóstico.
| Puerto vsock | Puente |
|---|---|
| 5800 | Agente de ejecución de shell — hace funcionar vm exec, la ruta de ejecución del socket de control y el panel Archivos. |
| 5010 | Relé de devolución de llamada OAuth de bucle invertido (entrega las redirecciones OAuth de vuelta a las CLI dentro de la VM). |
| 5830 | Servidor MCP browser. |
| 5831 | Servidor MCP del tablero de tareas (solo tareas de código). |
| 5832 | Flujo del plan (planificación de tareas de código). |
| 5833 | Servidor MCP automations. |
| 5834 | Servidor MCP infrastructure. |
| 5835 | Servidor MCP delegation. |
| 5836 | Servidor MCP switchboard (solo la sesión de la Centralita). |
| 8443 | Proxy HTTPS MITM — la salida del invitado. |
| 8444 | Puente de ssh-agent (respalda SSH_AUTH_SOCK). |
| 8445 | Ayudante de credential_process de AWS. |
| 8446 | Agente del token de suscripción de Claude, y puente a la inferencia del anfitrión (127.0.0.1:11434 en el invitado). |
| 8447 | Agente de token de suscripción de Codex/ChatGPT. |
| 5000 | Agente de configuración de la VM del navegador (configuración JSON anfitrión→invitado al reclamar). |
| 5100 | Puente de transferencia de archivos de la VM de navegador. |
| 5200 | Puente del Protocolo de DevTools de Chrome de la VM del navegador (capturas de pantalla, evaluación). |
| 5300 / 5400 | Emisor de enlaces / cámara web de la VM del navegador. |
| 5810 | Puente de pestañas nativas de la VM del navegador. |
| 5900 | Puente de traza de red de la VM del navegador. |
Variables de entorno y argumentos de inicio
Estas influyen en la app en el inicio. La mayoría son para depuración, pruebas o compilación desde el código fuente; la columna Audiencia indica a quién va dirigida cada una. Establece una variable de entorno antes de iniciar el binario, o pasa un argumento de inicio después de él.
| Nombre | Efecto | Audiencia |
|---|---|---|
-AppleLanguages "(fr)" (argumento de arranque) | Sustitución estándar del idioma de macOS; fuerza el idioma de la interfaz. | Usuario final |
BROMURE_DEBUG_CLAUDE | Abre las rutas de control y los endpoints de depuración en la API de automatización TCP, deja pasar los secretos por los puentes JSON de perfiles de AppleScript/MCP y es necesaria para las herramientas de VM de bromure-ac mcp --debug. | Usuario avanzado / depuración |
BROMURE_AC_DEBUG=1 | Depuración con marca de tiempo en stderr para el motor de automatización, los clasificadores de inyección, el escáner de reglas y la canalización de trazas. | Depuración |
BROMURE_CLI_DEBUG | Diagnósticos detallados de la conexión del socket de control en stderr para los comandos de la CLI. | Depuración (CLI) |
BROMURE_REPAIR_DEBUG | Diagnósticos de petición/respuesta del proxy de reparación de inferencia local, añadidos a /tmp/bromure-repair.log. | Depuración (modelos locales) |
BROMURE_INFER_DEBUG | Estadísticas del motor por petición (slot, tokens precargados, tiempo hasta el primer token, tok/s) en stderr. | Depuración (modelos locales) |
BROMURE_FATCLIENT_LOG | Registro sin búfer en stderr del cliente enriquecido. | Depuración (remoto) |
BROMURE_ATTACH_DEBUG=<path> | También añade el registro del cliente enriquecido a un archivo. | Depuración (remoto) |
BROMURE_NO_TRANSPARENT | Desactiva la interceptación transparente en todas las máquinas (el proxy sigue funcionando para los programas que respetan los ajustes de proxy). | Depuración |
BROMURE_INJECTION_COREML=1 | Ejecuta los clasificadores de inyección en el proveedor CoreML/Neural Engine (CPU por defecto; CoreML usa varias veces más memoria con la misma precisión). | Usuario avanzado |
BROMURE_NO_COREML | Desactiva por la fuerza CoreML para los clasificadores incluso si BROMURE_INJECTION_COREML está establecida. | Usuario avanzado |
BROMURE_PII_BUDGET | Caracteres de texto nuevo por petición que lee el modelo de datos personales antes de recurrir solo a las reglas de patrones (predeterminado 300000). | Usuario avanzado (datos personales) |
BROMURE_PII_MIN_SCORE | Confianza que necesita el modelo de datos personales antes de sustituir un valor (predeterminado 0.6). | Usuario avanzado (datos personales) |
BROMURE_PII_THREADS | Hilos de CPU para el modelo de datos personales (predeterminado: los núcleos de rendimiento, de 2 a 8). | Usuario avanzado (datos personales) |
BROMURE_TRANSCRIPT_HISTORY_BYTES | Cuánto de una conversación larga carga un chat al principio (unos 24 MB por defecto); los valores más pequeños son para pruebas. | Pruebas |
BROMURE_GPU_CACHE_GB | Límite de caché de búfer de GPU de MLX en GB (predeterminado 4). | Usuario avanzado (modelos locales) |
BROMURE_KVBITS, BROMURE_KVBITS_START, BROMURE_CACHE_SLOTS, BROMURE_THINKING | Ajuste de la inferencia en el dispositivo: bits y umbral de cuantización de la caché KV, slots de sesión de la caché KV y desactivación del razonamiento silencioso. Consulta Modelos y proveedores. | Usuario avanzado (modelos locales) |
VISUAL / EDITOR | Editor usado por bromure-cli workspaces edit (recurre a vi). | Usuario final (CLI) |
BROMURE_MANAGED_URL | Anula la base de la API de bromure.io usada para la inscripción, el latido y la emisión de certificados. | Administrador de empresa |
BROMURE_FATCLIENT_OPEN | Arranque solo como cliente enriquecido: se salta la configuración del primer arranque (no hace falta una imagen base local). | Avanzado / pruebas |
BROMURE_DEBUG_WIZARD | Abre el asistente de configuración inicial en un paso concreto (scan, pick, models, done) sin una instalación real, o newworkspace para ejecutarlo sobre una carpeta personal abierta. | Pruebas / capturas de pantalla |
BROMURE_EDITOR_CATEGORY | Abre el editor de ajustes en un panel concreto. | Pruebas / capturas de pantalla |
BROMURE_IMAGE_CATALOG_BASE | Apunta las descargas de imágenes a un catálogo local/de preproducción; también desactiva la verificación de firma del catálogo. Solo para uso en pruebas y canalizaciones. | Pruebas / CI |
BROMURE_INSTALL_BROWSER_IMAGE=1 | Descarga automáticamente al arrancar la copia propia de AC de la imagen del navegador integrado. | Pruebas / depuración |
CODESIGN_IDENTITY | Identidad de firma de build.sh; sin establecer recurre a - ad-hoc (sin Gatekeeper, iCloud ni vmnet). | Desarrollador (compilación) |
DEVELOPER_ID, APPLE_ID, TEAM_ID, APP_PASSWORD | Firma Developer ID y notarización de package.sh. | Desarrollador / editor |
DRY_RUN=1, KEEP_PREVIOUS=1, KEEP_STAGING=1 | Interruptores de la canalización de publicación/ensayo de imágenes. | Publicador |
El motor también define variables internas para sus propios procesos hijos (BROMURE_ENGINE_KEY, BROMURE_ENGINE_MASTER), y la VM desechable de inicio de sesión define BROMURE_AC_REGISTER; no están pensadas para definirse a mano.
Claves de UserDefaults (defaults write)
Ajustes persistentes en el dominio io.bromure.agentic-coding. La mayoría tienen equivalente en la interfaz; los vm.* y los ajustes para desarrolladores se definen con defaults write mientras la app no se está ejecutando.
| Clave | Efecto | Predeterminado |
|---|---|---|
automation.enabled | Activa la API HTTP de automatización de bucle invertido. | false |
automation.port | Puerto de la API de automatización. | 9223 |
automation.bindAddress | Dirección de enlace de la API de automatización. | 127.0.0.1 |
remoteAccess.enabled | Activa la puerta de entrada de acceso remoto SSH. | false |
remoteAccess.port | Puerto de la puerta de entrada SSH (≥ 1024). | 2222 |
remoteAccess.bindAddress | Dirección de enlace de la puerta de entrada SSH. | 0.0.0.0 |
remoteAccess.passwordAuth, remoteAccess.pubkeyAuth | Métodos de autenticación SSH. | ambos activados |
ui.sessionsFirst | El inicio de las sesiones. Si se desactiva, la ventana principal vuelve a la disposición de máquinas y terminales. | true |
ui.beautifiedTranscript | Mostrar las sesiones de agente como chats en lugar de terminales en bruto. | true |
sessions.archivedExpanded | Si la sección Archivadas de la barra lateral está abierta. | false |
ui.terminalBell | Dejar que suenen las campanas del terminal (los agentes suenan al final de cada turno). | false |
terminal.allowGraphics | Permitir que el invitado muestre imágenes en el terminal. Consulta Avanzado. | false |
vmnet.useRandom172 | Poner las máquinas en una subred privada aleatoria en 172.16.0.0/12 (Preferencias › Recursos › Subred del espacio de trabajo). | true en las instalaciones nuevas |
proxy.noMitmDomains | Dominios adicionales cuyo HTTPS pasa sin interceptación (Acceso remoto… › No interceptar (dominios sin MITM)). | vacío |
p2p.udpRelay.enabled | Preferir el relé UDP experimental para las conexiones remotas (Preferencias › Recursos). | false |
vm.homeImageGB | Tamaño aparente de una nueva imagen ext4 de carpeta personal, en GiB (8–1024; dispersa). | 16 |
vm.mtu | Límite de MTU de la tarjeta de red del invitado — bájalo en anfitriones con VPN en los que las descargas se pierden. | 1280 |
vm.networkMode, vm.bridgedInterface, vm.dnsServers | Modo de red de la VM de navegador, interfaz en modo puente y sustitución de DNS. | modo NAT; el resto sin definir |
vm.extraChromeFlags, vm.chromeEnvExtra | Controles de desarrollador añadidos al inicio de Chromium de la VM del navegador. | sin establecer |
cloudflareTunnel.consented | Consentimiento único para exponer servicios HTTP mediante túneles rápidos de Cloudflare. | false |
catalog.refreshDisabled | No descargar el catálogo de modelos en el dispositivo; usar las copias incluidas y en caché. | false |
ac.sidebarWidth.v2, ac.filePaneOpen | Ancho de la barra lateral y estado del panel Archivos guardados. | los define la app |
Hoja de referencia rápida de la VM invitada
Dentro de una máquina en ejecución eres ubuntu, un usuario normal (con acceso a sudo) cuya carpeta personal es /home/ubuntu. El anfitrión prepara los montajes y el entorno para que los gestores de paquetes, los agentes y Git funcionen sin ninguna configuración en el invitado. Consulta Conceptos y arquitectura para ver cómo funciona.
Puntos de montaje y rutas
| Ruta | Qué es |
|---|---|
/home/ubuntu | Tu carpeta personal — el home.img ext4 (o una carpeta compartida en las máquinas aún no actualizadas). |
/mnt/bromure-meta | Recurso compartido de configuración de solo lectura y por arranque: api_key.env, proxy.env, el certificado de la CA, los asistentes del invitado, los adaptadores y configuraciones de MCP, e indicaciones de nombre de host y MTU. |
/mnt/bromure-meta/bromure-*-mcp.py | Los adaptadores stdio↔vsock de los servidores MCP integrados (browser, task, automations, infra, delegation, switchboard). |
/mnt/bromure-outbox | Recurso compartido de eventos invitado→anfitrión con permiso de escritura. |
/mnt/bromure-share-N | Carpetas de proyecto compartidas (hasta 8), también enlazadas simbólicamente en tu home como ~/<basename>. |
~/.bromure/inbox/<id>/ | Archivos que otro agente envió a esta sesión con una delegación o petición. |
~/.bromure/switchboard | La carpeta de la Centralita; su CLAUDE.md es el encargo de la Centralita. |
~/.bromure/rooms/<slug> | La carpeta de la Centralita de una sala. |
~/.bromure/pastes/ | Archivos pegados o soltados en el terminal de una máquina (se limpian automáticamente a los 7 días). |
Entorno establecido por el anfitrión
| Variable | Valor / efecto |
|---|---|
http_proxy, https_proxy, HTTPS_PROXY | http://127.0.0.1:65534 — el puente dentro de la VM que transporta todo el HTTPS del invitado al proxy MITM del anfitrión. |
NO_PROXY | localhost,127.0.0.1,::1. |
SSH_AUTH_SOCK | /tmp/bromure-agent.sock — conectado por vsock al ssh-agent del anfitrión (solo son accesibles las claves de la máquina y las importadas explícitamente; el agente de tu sesión de macOS nunca se expone). |
| Variables del paquete de CA | La CA raíz de refirma es de confianza a través de las variables estándar del paquete para node, python, go, rust, curl, deno y el SDK de AWS. |
| Claves de API de los agentes | ANTHROPIC_API_KEY, OPENAI_API_KEY, XAI_API_KEY, GH_TOKEN, GITLAB_TOKEN, DIGITALOCEAN_ACCESS_TOKEN, LINEAR_API_KEY, TWILIO_ACCOUNT_SID / TWILIO_AUTH_TOKEN, las variables de AWS y cualquier variable de base de datos o personalizada — todas valores sustitutos; el anfitrión pone el secreto real en tránsito. |
| Modelos en el dispositivo y de servidor personalizado | Claude Code ve ANTHROPIC_BASE_URL=https://bromure.llm, un ANTHROPIC_AUTH_TOKEN por VM, el ID real del modelo en ANTHROPIC_MODEL y sus alias de tamaño, y CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1. |
| OpenRouter | Claude Code ve ANTHROPIC_BASE_URL=https://openrouter.ai/api, un ANTHROPIC_AUTH_TOKEN sustituto, un ANTHROPIC_API_KEY vacío y los ID de modelo elegidos para cada tamaño. |
| Amazon Bedrock | Claude Code ve CLAUDE_CODE_USE_BEDROCK=1, AWS_REGION y o bien un AWS_BEARER_TOKEN_BEDROCK sustituto (clave de API de Bedrock) o bien AWS_PROFILE=default (credenciales de AWS). |
KIMI_CODE_OAUTH_HOST, KIMI_CODE_BASE_URL | Con una suscripción a Kimi: dirigen Kimi Code al servicio internacional de Kimi. |
BROMURE_REGISTRY | La dirección de un registro de Bromure al que tiene acceso esta máquina. |
Advertencia: Todas las credenciales que el invitado puede leer son señuelos. Un token sustituto limitado a un host que aparezca en una petición destinada a otro host es la firma de una exfiltración y activa la detección de compromiso — nunca autentica nada.