Bromure Agentic Coding — Referencia de ajustes de perfil
Cada perfil de Bromure Agentic Coding tiene su propia configuración independiente repartida en once paneles, accesibles haciendo clic en el icono del engranaje junto a un perfil en el selector.
General
Identidad básica y comportamiento del perfil.

| Ajuste | Descripción |
|---|---|
| Nombre | El nombre visible que aparece en la lista de perfiles. |
| Color | Un punto de color dibujado junto al perfil en el selector para distinguir visualmente los perfiles. Opciones: Azul, Rojo, Verde, Naranja, Morado, Rosa, Turquesa, Gris. |
| Distribución del teclado | La distribución de teclado usada dentro de la VM. "Automática (igual que macOS)" refleja dinámicamente la fuente de entrada que esté activa en el host, con actualizaciones en vivo al cambiar. Selecciona cualquier otra distribución para fijar la VM a una distribución XKB concreta independientemente del estado de macOS. |
| Retardo de repetición de tecla | Tiempo en milisegundos antes de que una tecla mantenida comience a repetirse dentro de la VM. Toma por defecto el valor de tu macOS; cámbialo para anular la cadencia de repetición de X11 independientemente del host. |
| Frecuencia de repetición de tecla | Frecuencia de repetición en Hz una vez transcurrido el retardo. Toma por defecto el valor de tu macOS. Útil cuando el pipeline del servidor X hace que escribir se sienta más lento que en una aplicación Cocoa — subir la frecuencia a 2× el valor de macOS es una solución habitual. |
| Al cerrar la ventana | Qué ocurre con la VM cuando cierras la ventana de una sesión: Suspender (guarda la RAM en disco para reanudar al instante — predeterminado), Apagar (apagado ACPI limpio) o Preguntar (consulta cada vez). |
| Notas (opcional) | Una nota breve sobre el perfil. Se muestra como tooltip al pasar el cursor sobre el perfil en la lista. |
Agente
Elige qué agentes de codificación están disponibles en este perfil y cómo se autentican. El agente marcado como Principal se lanza automáticamente en la primera pestaña de kitty cuando se abre una sesión; los demás agentes habilitados se instalan y autentican, pero se inician bajo demanda desde una nueva pestaña.

| Ajuste | Descripción |
|---|---|
| Claude Code | Activa o desactiva el agente Claude Code para este perfil. Actívalo para configurarlo. |
| Claude Code — Principal | Marca Claude Code como el agente principal (se lanza automáticamente al iniciar la sesión). Haz clic en "Primary" sobre cualquier agente habilitado para promoverlo. |
| Claude Code — Autenticación | Método de autenticación para Claude Code: API token (pega una ANTHROPIC_API_KEY — se inyecta como variable de entorno, nunca se escribe directamente en la VM), Subscription (interactive login) (ejecuta claude login una vez dentro de la VM) o Bedrock (AWS) (usa tus credenciales de AWS a través del runtime de Bedrock — requiere credenciales de AWS configuradas en la pestaña Credenciales). |
| Claude Code — Requerir aprobación para usar | (Solo en modo token.) Cuando está activado, cada intercambio falso→real de la clave API de Anthropic muestra un diálogo de consentimiento en el host antes de que se reenvíe la clave. Desactivado por defecto. |
| Claude Code — ID de modelo predeterminado | (Solo en modo Bedrock.) Anula el ID de modelo de Bedrock que usa Claude Code, p. ej. us.anthropic.claude-sonnet-4-6-v1:0. Déjalo vacío para usar el valor predeterminado integrado de Claude Code. |
| Codex | Activa o desactiva el agente Codex de OpenAI para este perfil. Actívalo para configurar la autenticación. |
| Codex — Autenticación | Método de autenticación para Codex: API token (pega una OPENAI_API_KEY) o Subscription (interactive login) (ejecuta codex login una vez dentro de la VM). |
| Codex — Requerir aprobación para usar | (Solo en modo token.) Cuando está activado, cada intercambio falso→real de la clave API de OpenAI muestra un diálogo de consentimiento en el host antes de que se reenvíe la clave. Desactivado por defecto. |
| Grok Build | Activa o desactiva el agente Grok Build (xAI) para este perfil. Actívalo para configurarlo. |
| Grok Build — Autenticación | Método de autenticación para Grok Build: API token (pega una XAI_API_KEY — se inyecta como variable de entorno; el proxy intercambia la clave falsa xai-brm-… por el valor real en las peticiones a api.x.ai, de modo que la clave real nunca entra en la VM) o Subscription (interactive login) (ejecuta grok login una vez dentro de la VM). Bedrock no está disponible para Grok Build. |
| Grok Build — Require approval to use | (Solo en modo token.) Cuando está activado, cada intercambio falso→real de la clave API de xAI muestra un diálogo de consentimiento en el host antes de que se reenvíe la clave. Desactivado por defecto. |
Carpetas
Carpetas del Mac compartidas dentro de la VM. Cada carpeta se monta en /home/ubuntu/<basename> (por ejemplo, ~/Documents → ~ubuntu/Documents). Limitado a 8 carpetas por perfil.

| Ajuste | Descripción |
|---|---|
| Lista de carpetas | Las rutas del host actualmente compartidas con la VM. Cada fila muestra el nombre de la carpeta y su ruta completa en tu Mac. Haz clic en el botón menos para eliminar una compartición. |
| Añadir carpeta… | Abre un selector de archivos para elegir uno o varios directorios a compartir. Se atenúa cuando ya hay 8 carpetas configuradas. |
Credenciales
Secretos e identidades inyectados en la VM al iniciar la sesión. Todos los valores reales permanecen en el host; el proxy MITM los sustituye por marcadores falsos en la red para que los secretos nunca entren en el espacio de direcciones de la VM.

| Ajuste | Descripción |
|---|---|
| Identidad de Git — Nombre | Se escribe en user.name dentro de ~/.gitconfig en la VM. Déjalo en blanco para mantener los valores predeterminados de git. |
| Identidad de Git — Correo | Se escribe en user.email dentro de ~/.gitconfig en la VM. Déjalo en blanco para mantener los valores predeterminados de git. |
| Claves SSH | Gestiona el par de claves ed25519 generado automáticamente (uno por perfil) y cualquier clave privada importada. La clave pública generada se muestra aquí para pegarla en github.com/settings/keys. Las claves importadas (RSA, ed25519, ecdsa, incluidas las protegidas con frase de paso) se cargan en el ssh-agent de bromure específico del perfil en cada lanzamiento de sesión; las frases de paso se almacenan en el Llavero de macOS. |
| Claves SSH — Requerir aprobación para usar | Cuando está activado, cada solicitud de firma SSH usando esta clave muestra un diálogo de consentimiento en el host. El usuario elige una concesión con límite temporal (5 min / 1 h / resto de la sesión) o la deniega. Desactivado por defecto. |
| Tokens de GitHub | Tokens de acceso personal para git sobre HTTPS hacia github.com. Se escriben en ~/.git-credentials y los recoge automáticamente la CLI gh. El token real permanece en el host; el proxy intercambia uno falso en las peticiones salientes. |
| Tokens de GitLab | Tokens de acceso personal para git sobre HTTPS hacia gitlab.com e instancias autoalojadas de GitLab. Los recoge automáticamente la CLI glab. |
| Tokens de Bitbucket | Contraseñas de aplicación para git sobre HTTPS hacia bitbucket.org. |
| Kubernetes | Una entrada por cada contexto de clúster. Bromure genera un ~/.kube/config sintético en la VM con certificados de cliente desechables; las credenciales reales permanecen en el host y son sustituidas por el proxy en las peticiones al API server. Los contextos con plugin exec se consultan en el host para que kubectl siempre vea un token fresco. Los contextos pueden añadirse manualmente o importarse desde un archivo kubeconfig existente. |
| DigitalOcean | Token de acceso personal de cloud.digitalocean.com. Se inyecta como variable de entorno DIGITALOCEAN_ACCESS_TOKEN y en ~/.config/doctl/config.yaml — no es necesario ejecutar doctl auth init. |
| AWS | Credenciales de AWS para la CLI aws y los SDK. Admite claves estáticas (Access Key ID + Secret Access Key + Session Token opcional + región predeterminada) y SSO / Identity Center (selecciona un perfil con nombre de ~/.aws/config). El secreto real nunca llega a la VM — el proxy MITM del host intercepta y vuelve a firmar las peticiones SigV4 con el material real; si se evita el proxy, AWS rechaza la petición con InvalidSignatureException. |
| AWS — Requerir aprobación para usar | Cuando está activado, cada llamada de firma SigV4 en el host (una por cada petición a la API de AWS) muestra un aviso de consentimiento hasta que una concesión con límite temporal la cubra. |
| Registros de contenedores | Autenticación HTTP Basic por registro para docker pull / docker push. Admite Docker Hub, GHCR, GitLab Container Registry, Quay y registros privados arbitrarios. Se escribe un base64("<user>:<derived>") falso en ~/.docker/config.json dentro de la VM; el proxy sustituye el valor real en la red. Se puede rellenar importando un ~/.docker/config.json existente. |
| Otras claves de API | Reglas manuales de intercambio de tokens para cualquier API más allá de las gestionadas automáticamente (Anthropic, OpenAI, GitHub, GitLab, DigitalOcean, Kubernetes). Cada entrada genera un nuevo valor falso (brm_…) exportado como variable de entorno con nombre dentro de la VM; el proxy lo intercambia por el valor real en las peticiones salientes al host opcionalmente especificado. |
| MongoDB | Puntos de conexión de la MongoDB Atlas Data API. Cada entrada especifica un nombre para mostrar, el nombre de host del punto de conexión, el tipo de autenticación (clave de API, token Bearer o Usuario + contraseña) y uno o más nombres de variable de entorno con los que se exporta la credencial falsa dentro de la VM. El secreto real permanece en el host; el proxy lo sustituye en las peticiones salientes al host especificado. También se puede establecer aquí un modo Guardrails por punto de conexión (Off / Block destructive / Read-only) que se aplica en el proxy: deleteOne/deleteMany = destructivo, find/aggregate = lectura. |
| ClickHouse | Puntos de conexión de la interfaz HTTP de ClickHouse. Cada entrada especifica un host, tipo de autenticación, nombres de variable de entorno y un modo Guardrails opcional. El proxy intercepta las peticiones al host y sustituye la credencial real en la red. Guardrails clasifica el SQL por palabra clave inicial: DROP/TRUNCATE/DELETE = destructivo; INSERT/CREATE = escritura; SELECT/SHOW = lectura. |
| Elasticsearch | Puntos de conexión de Elasticsearch. Cada entrada especifica un host, tipo de autenticación, nombres de variable de entorno y un modo Guardrails opcional. Guardrails clasifica por método HTTP y ruta: DELETE y _delete_by_query = destructivo; _search/_count/_msearch = lectura; _bulk/index/_update = escritura. |
Entorno
Pares simples KEY=VALUE exportados a cada shell de la VM mediante proxy.env (cargado desde .bashrc). Los valores se escriben tal cual — sin sustitución por el proxy — así que no pongas secretos aquí. Pensado para conmutadores no sensibles como niveles de log, feature flags y opciones de compilación.

| Ajuste | Descripción |
|---|---|
| Lista de variables | Las variables de entorno configuradas actualmente. Cada fila tiene un campo de nombre y un campo de valor. Haz clic en el botón menos para eliminar una variable. |
| Añadir variable | Añade una nueva fila vacía KEY=VALUE. |
MCP
Servidores Model Context Protocol que dan al agente acceso a herramientas y contexto externos. Las configuraciones se traducen al formato apropiado para el agente activo (JSON de Claude Code o TOML de Codex) y se inyectan en la VM al arrancar.

| Ajuste | Descripción |
|---|---|
| Lista de servidores | Servidores MCP configurados actualmente para este perfil. Cada servidor se puede activar o desactivar de forma independiente. Admite transporte HTTP (un servidor remoto basado en URL, con bearer token opcional) y transporte stdio (un comando local lanzado dentro de la VM). |
| Añadir servidor | Añade una nueva entrada de servidor MCP. |
Trazado
Controla cómo el proxy MITM registra el tráfico de este perfil. Los niveles más altos escriben archivos de cuerpo cifrados en disco; todos requieren activación explícita. Los datos registrados pueden verse en App → Trace Inspector (⇧⌘I).

| Ajuste | Descripción |
|---|---|
| Traza de sesión | Con qué intensidad el proxy registra el tráfico. Off — no se registra nada (predeterminado). Activity — solo metadatos: host, estado, latencia, informe de intercambio, advertencias de fuga; sin cuerpos de petición ni respuesta. AI request details — igual que Activity, más los cuerpos completos para hosts de LLM conocidos (Anthropic, OpenAI, Google, Cohere, Mistral, Perplexity, x.ai, Groq, Replicate, HuggingFace). Everything — cuerpos de todos los hosts; consume espacio en disco con mayor rapidez (limitado a 100 MB por sesión / 5 GB en total). Los cuerpos se cifran con AES-GCM usando la misma clave del Llavero que los secretos del perfil. |
| Modo privado | (Solo visible en Macs inscritos en un espacio de trabajo bromure.io.) Cuando está activado, las sesiones de este perfil no envían metadatos (herramientas, archivos, comandos, uso de tokens) al espacio de trabajo. El inspector de trazas local no se ve afectado. Útil cuando trabajas con una clave de API personal que no quieres que vea tu administrador. |
| Intercambio de token de suscripción de Claude | (Solo se muestra después de que el proxy haya preguntado sobre este perfil.) Indica si los tokens OAuth reales de Claude se están intercambiando actualmente por el proxy (Active) o si el usuario rechazó el intercambio (Declined). Un botón de reinicio permite que se vuelva a preguntar al usuario en la próxima sesión. |
| Intercambio de token de suscripción de Codex | El mismo consentimiento de intercambio de tres estados que arriba, aplicado a los tokens OAuth de Codex / ChatGPT (~/.codex/auth.json). Se muestra de forma independiente para que un perfil que use ambos agentes pueda gestionar cada proveedor por separado. |
Guardrails
Motor de políticas en el host que elimina las operaciones destructivas de los protocolos que usa el agente. La aplicación ocurre dentro del proxy MITM en el host, por lo que un agente defectuoso o comprometido en la VM no puede evitarlo — las llamadas bloqueadas devuelven un error 403 que el agente ve como un fallo de API normal. Cada recurso admite tres modos: Off (sin filtrado — predeterminado), Block destructive (bloquear eliminaciones/drops/terminaciones; permitir creaciones y actualizaciones) o Read-only (bloquear toda mutación; solo lecturas).

| Ajuste | Descripción |
|---|---|
| Kubernetes | Modo Guardrail para los servidores de API Kubernetes configurados en los kubeconfigs de este perfil. Basado en método HTTP: DELETE = destructivo (incluye deletecollection); todas las escrituras se bloquean en modo de solo lectura. Se muestra una advertencia si no hay kubeconfigs configurados. |
| AWS | Modo Guardrail para todas las APIs *.amazonaws.com. Clasificado por nombre de acción extraído de la cabecera X-Amz-Target (servicios de protocolo JSON como DynamoDB/Lambda) o el parámetro de formulario Action= (servicios de protocolo de consulta como EC2/IAM/SQS); recurre al método HTTP para S3 y peticiones de estilo REST. Delete*/Terminate*/Remove*/Purge*/Destroy* = destructivo; Get*/List*/Describe* = lectura. |
| DigitalOcean | Modo Guardrail para api.digitalocean.com y *.digitalocean.com. Basado en método HTTP: DELETE = destructivo; GET/HEAD = lectura. |
| Docker registries | Modo Guardrail para los registros de contenedores configurados en las Credenciales de este perfil. Basado en método HTTP contra el nombre de host del registro: DELETE = destructivo (eliminación de tag/manifiesto); GET/HEAD = lectura (pull); PUT/POST = escritura (push). Se muestra una advertencia si no hay registros configurados. |
| GitHub | Modo Guardrail para la API REST de github.com y git sobre HTTPS. Basado en método para REST; git push (git-receive-pack) se trata como escritura y se bloquea en modo de solo lectura; git fetch (git-upload-pack) siempre está permitido. |
| GitLab | Modo Guardrail para la API REST de gitlab.com y git sobre HTTPS. Misma lógica de clasificación que GitHub. |
| Bitbucket | Modo Guardrail para la API REST de bitbucket.org y git sobre HTTPS. Misma lógica de clasificación que GitHub. |
| Databases | Modo Guardrails por punto de conexión para cada punto de conexión de base de datos HTTPS configurado en Credenciales (MongoDB, ClickHouse, Elasticsearch). Se muestran aquí como filas individuales, una por punto de conexión. Los modos y las reglas de clasificación coinciden con los descritos en la sección Credenciales para cada motor. Se muestra un aviso si el host del punto de conexión todavía no está configurado. |
Supply Chain
Bromure analiza cada descarga de paquetes (npm, PyPI, Cargo, RubyGems, Maven, NuGet, módulos de Go, Packagist) a través del proxy MITM del host y aplica estas políticas antes de que el agente reciba la respuesta. El .npmrc / pip.conf dentro de la VM solo puede restringir aún más estos ajustes — no puede relajarlos. Usa las listas de permisos por paquete para anulaciones precisas. Todos los selectores de gravedad ofrecen Baja y superior, Media y superior, Alta y superior o Solo crítica.

| Ajuste | Descripción |
|---|---|
| Age gate — Rechazar paquetes más nuevos que el límite | Cuando está activado, bloquea los paquetes más nuevos que el límite de antigüedad mínima, protegiéndose contra publicaciones maliciosas recientes. Activado por defecto (antigüedad mínima de 2 días). |
| Age gate — Antigüedad mínima | El límite en días (0–90). Las referencias flotantes (latest, rangos semver) se resuelven silenciosamente a la versión más reciente anterior al límite; las referencias fijadas a versiones demasiado recientes reciben un 451 con un error de Bromure claro. |
| Age gate — Paquetes exentos | Lista de permisos por paquete exenta del age gate. Formato: npm:axios (calificado por ecosistema) o simplemente axios (cualquier ecosistema). |
| Comprobación de vulnerabilidades OSV | Cuando está activado, busca paquetes en api.osv.dev (gratuito, sin clave requerida) y bloquea los que estén en o por encima de la gravedad elegida. Agrega la base de datos GitHub Advisory, avisos de PyPI, la base de datos de Go, RubySec, etc. Desactivado por defecto — un CVE de baja gravedad en un subpaquete transitivo no debería interrumpir un flujo de trabajo. |
| OSV — Bloquear a partir de gravedad | El umbral de gravedad a partir del cual se bloquea un paquete con una vulnerabilidad conocida. |
| socket.dev — Clave API | Un token de API de socket.dev (desde socket.dev/dashboard/settings/api-tokens) que desbloquea las dos comprobaciones de socket.dev a continuación. Almacenado solo en el host — nunca exportado a la VM; las llamadas van directamente a api.socket.dev desde el proxy MITM del host. Los controles a continuación están desactivados hasta que se introduzca una clave. |
| socket.dev — Bloquear paquetes comprometidos | Cuando está activado, bloquea los paquetes que socket.dev señala como comprometidos: scripts de instalación maliciosos, malware, typosquats o telemetría sospechosa. |
| socket.dev — Bloquear paquetes con CVE conocidos | Cuando está activado, bloquea los paquetes con CVE conocidos en o por encima del umbral de bloqueo de CVE. |
| socket.dev — Umbral de bloqueo de CVE | El umbral de gravedad para el bloqueo de CVE de socket.dev. Desactivado a menos que "Bloquear paquetes con CVE conocidos" esté activo. |
| Scripts de instalación — Eliminar scripts de instalación | Cuando está activado, elimina preinstall / install / postinstall / prepare de los tarballs de npm al vuelo. Bromure reescribe el tarball, elimina las claves de script del package.json y actualiza el hash de metadatos del registro para que la verificación de npm siga siendo válida para instalaciones no fijadas. |
| Scripts de instalación — Lista de permisos | Paquetes a los que se les permite conservar sus scripts de instalación (los compiladores de enlace como better-sqlite3 o node-canvas los necesitan legítimamente). Formato: npm:better-sqlite3. |
| Instalaciones fijadas por lockfile — Preguntar antes de pasar | Cuando está activado, pregunta antes de pasar tarballs fijados por lockfile sin modificar (npm ci, pip --require-hashes). Estos usan hashes de integridad criptográfica incorporados en un lockfile que Bromure no puede reescribir sin romper la verificación, por lo que la primera descarga fijada por lockfile en un lote muestra un diálogo en el host (Permitir una vez / 15 min / para la sesión / No permitir) y todo el lote sigue esa decisión. |
Apariencia
Aspecto visual de la ventana del terminal kitty. Los valores predeterminados se toman del perfil predeterminado de Terminal.app en macOS.

| Ajuste | Descripción |
|---|---|
| Fuente | La familia tipográfica usada en el terminal. Elige entre cualquier fuente instalada en tu Mac. El tamaño se ajusta en puntos mediante un control numérico. Solo se ofrecen familias de fuentes sin un punto inicial — se excluyen los nombres internos de macOS que fontconfig de Linux no puede resolver. |
| Cursor | Forma del cursor dentro del terminal: Bloque, Barra (cursor en I) o Subrayado. |
| Colores — Fondo | Color de fondo del terminal, mediante una muestra de selector de color. |
| Colores — Texto | Color de primer plano (texto) del terminal, mediante una muestra de selector de color. |
| Opacidad | Opacidad combinada de la ventana y del terminal, del 30 % al 100 %. Se aplica tanto como background_opacity de kitty (requiere un compositor en la VM) como alphaValue de la ventana de macOS (siempre efectiva — produce un efecto de transparencia hasta el escritorio). El valor predeterminado es 97 %. |
| Ligaduras | Cuando está activado, el terminal renderiza ligaduras de programación — secuencias de varios caracteres como <=, == y => se dibujan como glifos combinados únicos. Desactivado por defecto (disable_ligatures always de kitty está activo a menos que esto esté activado). Solo visible con fuentes que incluyan tablas de ligaduras, como JetBrains Mono o Fira Code. |
| Restablecer a Terminal.app | Restaura todos los campos de apariencia a los valores leídos del perfil predeterminado de Terminal.app en macOS al iniciar la aplicación. |
Recursos
Capas de almacenamiento, memoria y configuración de red para la VM del perfil.

Almacenamiento
Tres capas se apilan para formar el entorno del perfil. La capa inferior es compartida e inmutable; las dos superiores son por perfil y pueden borrarse de forma independiente.
| Ajuste | Descripción |
|---|---|
| Tu carpeta personal | El directorio /home/ubuntu específico del perfil — dotfiles, claves de .ssh, npm-global, .cargo, historial del shell y cualquier otra cosa que el agente escriba en home. Muestra la última hora activa y el tamaño actual. "Erase home…" borra esta capa y restablece el directorio personal a su estado posterior al clonado. |
| Disco de sistema del perfil | Una copia de lectura y escritura del sistema operativo base clonada específicamente para este perfil. Contiene todo lo instalado mediante sudo apt install, las modificaciones en /etc, /var y la configuración a nivel de sistema. "Reset to base…" descarta todos los cambios a nivel de sistema y vuelve a clonar desde la imagen base actual. |
| Imagen base del SO | La imagen base compartida e inmutable: Ubuntu Noble + Claude Code + Codex + kitty + gh + glab + fuentes. Compartida por todos los perfiles; de solo lectura en tiempo de ejecución. Muestra la marca de versión actual y la fecha de compilación. Se reconstruye desde el menú de la aplicación (lleva unos 5–10 minutos). |
Memoria
| Ajuste | Descripción |
|---|---|
| RAM de la VM | RAM asignada a la VM de este perfil, en GB (2–32 GB, paso 2). Toma por defecto un valor escalado al host (4 GB en hosts con menos de 18 GB de RAM, 6 GB hasta 36 GB, 8 GB en máquinas mayores). Auméntalo si Claude / Codex te resulta lento o si las compilaciones de Rust se quedan sin memoria. |
Red
| Ajuste | Descripción |
|---|---|
| Modo de red | NAT (predeterminado) — la VM comparte la conexión de red de tu Mac mediante el NAT integrado de VZ; la salida funciona, pero nada en tu LAN puede alcanzar a la VM. Bridged — la VM obtiene su propia dirección IP enrutable en la LAN mediante DHCP en la interfaz física elegida. |
| Interfaz | (Solo en modo Bridged.) La interfaz de red física a la que la VM hace bridge. Si se deja sin definir, toma por defecto la primera interfaz bridged disponible. |