Apêndice — Atalhos, ficheiros, portas e ambiente
Este apêndice reúne em tabelas de referência os factos concretos espalhados pelo resto do manual: atalhos de teclado, localizações em disco, portas de rede, variáveis de ambiente e predefinições, e um guia rápido da VM convidada. Tudo aqui corresponde à versão distribuída (versão 5.0.0, ID de pacote io.bromure.agentic-coding, binário da aplicação bromure-ac). Para os comandos que leem e escrevem estes elementos, consulte CLI, API e MCP; para o que é criado na instalação, consulte Instalação e primeira execução.
Marcadores usados abaixo: <uuid> é o identificador de uma máquina (espaço de trabalho), <id> o de um cluster, registo ou execução, <version> uma versão de ferramenta fixada, <org>--<name> um repositório de modelo e <host-UUID> um anfitrião remoto guardado.
Atalhos de teclado
Os atalhos que dependem do que está no palco indicam-no. Os atalhos normais do macOS (⌘Q, ⌘H, ⌘M, ⌘C, ⌘V, …) funcionam como habitualmente.
Sessões e navegação
| Atalho | Ação |
|---|---|
| ⌘N | Nova sessão… — o ecrã de nova sessão. |
| ⌘K | Ir para… — a paleta de comandos (sessões, salas, máquinas, ações, texto nas conversas). ↑/↓ para mover, ⏎ para abrir. |
| ⌘1 – ⌘9 | Com uma sessão ou o ecrã de nova sessão no palco: saltar para a 1.ª–9.ª sessão da barra lateral. No terminal de uma máquina: mudar para esse separador. Mantenha ⌘ premida para ver os números na barra lateral. |
| ⌥⌘↑ / ⌥⌘↓ | Sessão anterior / seguinte, pela ordem da barra lateral. |
| ⌘⏎ | Retomar a sessão em pausa ou concluída que está no palco. No ecrã de nova sessão, Iniciar. |
| ⌘W | Com uma sessão no palco: Encerrar sessão (pergunta primeiro "Encerrar "‹sessão›"?" e depois oferece Desfazer). No terminal de uma máquina: fecha o separador. |
| ⌃⌘R | Próxima sala. |
| ⌥⌘U | Linux — de uma sessão para o seu separador de terminal na máquina, e de volta (a cápsula mostra então Sessão). |
| ⌘Z | Desfazer o último encerramento, arquivo, eliminação ou movimento enquanto o aviso estiver visível. |
| ⌃⌘S | Recolher ou expandir a barra lateral. |
| ⌃⌘B | Mostrar ou ocultar o painel do navegador agêntico. |
| ⌃⌘E | Mostrar ou ocultar o painel Ficheiros. |
| ⌘, | Preferências… |
Numa conversa
| Atalho | Ação |
|---|---|
| ⏎ | Enviar a mensagem (no ecrã de nova sessão: iniciar a sessão). |
| ⌥⏎ | Nova linha. |
| Esc | Parar o agente enquanto trabalha. |
/ | Abrir a paleta de comandos de barra (↑/↓ para mover, ⇥ para completar, ⏎ para escolher, Esc para fechar). |
@ | Abrir a paleta das sessões a quem pode pedir algo. |
Salas
| Atalho | Ação |
|---|---|
| ⌃⇥ / ⌃⇧⇥ | Separador seguinte / anterior da sala, quando as sessões não cabem numa só página. |
| Esc | Sair de uma sessão ampliada e voltar à sala inteira. |
Máquinas e terminais
| Atalho | Ação |
|---|---|
| ⇧⌘N | Novo espaço de trabalho… (uma máquina nova). |
| ⌥⇧⌘N | Novo espaço de trabalho a partir das minhas configs… (o mesmo item de menu com ⌥ premida). |
| ⇧⌘K | Conectar a um Bromure remoto… |
| ⌘T | Novo separador no terminal da máquina selecionada — ou um novo separador do navegador quando o painel do navegador tem o foco do teclado. |
| ⌘D | Adicionar terminal à grelha. |
| ⇧⌘G | Nova worktree (no terminal de uma máquina). |
| ⇧⌘M | Integrar worktree (no terminal de uma máquina). |
Quadros, janelas e revisão
| Atalho | Ação |
|---|---|
| ⇧⌘A | Quadro de automatizações. |
| ⇧⌘T | Tarefas (o quadro de tarefas de código). |
| ⌘0 | Gestor de espaços de trabalho. |
| ⇧⌘I | Inspetor de rastreio… |
| ⌘R | Atualizar (janelas de revisão e de ramos). |
| ⇧⌘⏎ | Enviar os seus comentários ao agente (janela de revisão). |
Localizações em disco
Tudo o que pertence à aplicação vive num único diretório de suporte, mais uns poucos ficheiros fora dele e alguns itens do Porta-chaves. Um caminho que termina em / é um diretório.
O diretório de suporte
A raiz de suporte da aplicação é ~/Library/Application Support/BromureAC/. Os caminhos abaixo são relativos a ela.
| Caminho | Contém |
|---|---|
base.img | A imagem base Ubuntu que cada máquina clona (24 GB lógicos, alguns GB físicos). |
efivars.bin | Armazém de variáveis EFI com que a imagem base arranca. |
base.version | Marca de versão da imagem instalada, por exemplo 201 ou 201.1. |
image-state.json | Proveniência da imagem e os UUIDs dos passos de pós-instalação aplicados. |
img-catalog.json | Cópia em cache do catálogo de imagens transferido. |
browser-img-catalog.json | Catálogo em cache para a imagem do navegador incorporado. |
catalog.json | Catálogo remoto de modelos no dispositivo, em cache. |
base.img.partial, base.img.gz.partial, efivars.partial | Ficheiros de instalação transitórios; a sua presença significa que uma instalação está em curso ou foi interrompida. |
alpine-vmlinuz, alpine-initramfs, alpine-initramfs-shimmed | Ficheiros do instalador netboot Alpine em cache, usados pela compilação local. |
browser/ | A cópia própria do AC da imagem de navegador Ubuntu + Chromium, quando a cópia do Bromure Web não existe. |
browser-profiles/<uuid>/image/profile.img | Disco de perfil Chromium persistente e encriptado ("Manter sessão iniciada nos sites"). |
ca/cert.pem, ca/key.pem | A CA raiz do Bromure Agentic Coding por instalação (modo da chave 0600). Elimine o diretório ca/ para a rodar. |
control.sock | Socket de controlo Unix, exclusivo do proprietário (0600), sobre o qual a CLI e o plano de controlo comunicam por HTTP. |
profile-macs.json | Associações de endereços MAC determinísticas por máquina. |
dhcp-leases.sqlite | Concessões DHCP persistentes da rede virtual das máquinas. |
default-ssh/id_ed25519.raw, default-ssh/id_ed25519.pub | Par de chaves SSH predefinido partilhado, copiado para cada máquina nova. |
profile-template.json, profile-template.enc | O modelo Defaults das Preferências que as máquinas novas herdam. |
models.enc | As definições globais de modelos (Preferências › Modelos): fornecedores, chaves, escolhas por agente. Cifrado. |
claude-subscription.enc, codex-subscription.enc, grok-subscription.enc, kimi-subscription.enc | Inícios de sessão por subscrição cifrados e detidos pelo anfitrião (partilhados, mais substituições por máquina), 0600. |
sessions.json | As suas sessões de agente: título, agente, máquina, pasta, estado, apelido, sala. |
rooms.json | As suas salas. |
delegations.json | Delegações e pedidos entre sessões. |
transcripts/ | A cópia, do lado do anfitrião, da conversa de cada sessão (<session-id>.jsonl). |
tasks.json, task-transcripts/ | O quadro de tarefas de código e as suas transcrições arquivadas. |
automations.json | Automatizações agendadas mais o histórico de execuções, as horas dos próximos disparos e as marcas de consulta de eventos. |
runs/<id>/ | Execuções de automatizações arquivadas (record.json, transcript.jsonl). |
security-timeline/<yyyy-MM-dd>.jsonl | A Linha do tempo de segurança, um ficheiro por dia, guardado 90 dias. |
pii/<uuid>.key | Segredo por máquina que mantém coerentes os substitutos de dados pessoais (0600). |
grid-layout.json | Composição da Grelha. |
engine-master.key | Segredo mestre das chaves do motor no dispositivo, por VM. |
engine-spawn.json | Configuração de arranque do motor no dispositivo (modelos, orçamento de memória, porta). |
fake-salt.bin | Sal próprio da instalação para derivar os tokens substitutos (0600). Eliminá-lo renova todos os substitutos deste Mac. |
secrets-master.key | Chave mestra de recurso em 0600, usada apenas quando o Porta-chaves Data Protection está inacessível. |
cloudflared/<version>/cloudflared | Binário cloudflared fixo e verificado por checksum, com um symlink current ao lado. |
ghostty/ | Configurações de terminal geradas (base, mais uma por máquina). |
Armazenamento por máquina
Cada máquina é um diretório autónomo, profiles/<uuid>/, sob a raiz de suporte. Consulte Máquinas e Conceitos e Arquitetura para ver como são usados.
Caminho (sob profiles/<uuid>/) | Contém |
|---|---|
profile.json | Definição da máquina, incluindo as suas políticas de segurança; as chaves de API do socket.dev e do Depi são guardadas aqui, do lado do anfitrião, e nunca copiadas para a VM. Só são escritos os campos que não estão na predefinição. |
secrets.enc | Segredos cifrados da máquina (0600). |
disk.img | Disco de sistema — um clone copy-on-write APFS de base.img. |
home.img | Imagem ext4 esparsa com /home/ubuntu. |
home/ | Pasta pessoal partilhada antiga (máquinas ainda não atualizadas). |
checkpoints/, checkpoints/home/ | Pontos de verificação do disco e da pasta pessoal a cada arranque (os da pasta pessoal são os que Rebobinar a pasta pessoal… lista). |
vm.state, vm.state.json | Instantâneo da RAM de uma VM suspensa, e a impressão digital da configuração com que foi guardado. |
tabs.json | Disposição guardada dos separadores de terminal, respeitada só quando existe vm.state. |
machine-identifier.bin | Identidade persistente da VM (necessária para restaurar uma VM suspensa). |
compromised.flag | Marcador de limpeza no próximo arranque, colocado após um comprometimento. |
meta-share/ | Partilha de configuração do convidado, só de leitura, por arranque (api_key.env, proxy.env, o certificado da CA, os auxiliares do convidado, os adaptadores e configurações MCP). |
outbox/ | Partilha de eventos convidado→anfitrião gravável e por arranque. |
agent/ (e agent/imported/), ssh/ | Material de chaves SSH por máquina; as chaves importadas ficam em agent/imported/, ssh/ é o diretório antigo. |
Clusters, registos e conector de mensagens
| Caminho (sob a raiz de suporte) | Contém |
|---|---|
kube/clusters.json | Cada cluster Kubernetes, registo e conector de mensagens, com as suas definições e lista de acesso. |
kube/<id>/kubeconfig.yaml | O kubeconfig de administração de um cluster (o que Copiar kubeconfig copia). |
kube/<id>/setup.log | O registo de configuração e ciclo de vida do cluster ou registo (o seu separador Registo). |
kube/<id>/synology.enc | Credenciais cifradas do NAS Synology, quando configurado. |
kube/<id>/nodes/<uuid>/ | O diretório de máquina próprio de cada nó (ou do registo, ou do conector): disk.img, um disco de dados data.img quando usado, meta-share/, etc. |
Modelos e detetores
| Caminho (sob a raiz de suporte) | Contém |
|---|---|
models/<org>--<name>/ | Pesos transferidos dos modelos no dispositivo. |
models/<org>--<name>/.incomplete | Marcador de transferência em curso ou interrompida. |
Models/prompt-injection/ | Recursos do detetor PromptGuard (model.onnx, ficheiros de tokenizador, substituições opcionais em bromure-injection.json). |
Models/claudemd-guard/ | Recursos do detetor de ficheiros de regras ModernBERT. |
Models/pii-rampart/ | O modelo Rampart de proteção de dados pessoais, apenas quando não vem incluído na aplicação (compilações de desenvolvimento). |
traces/YYYY-MM-DD/<sessionID>.jsonl | Metadados de rastreio por sessão, um registo JSON por linha. |
traces/YYYY-MM-DD/<sessionID>/<recordID>.req.enc, .res.enc | Corpos de pedidos/respostas capturados, cifrados (0600). |
Inscrição, acesso remoto e o cliente nativo
| Caminho (sob a raiz de suporte) | Contém |
|---|---|
managed/install.json | Identidade da inscrição: ID de instalação, identificador da organização, utilizador, URL do servidor, nome do dispositivo, data de inscrição. |
managed/leaf.crt | Certificado folha mTLS (PEM). |
managed/leaf.serial | Apontador para a entrada do Keychain que contém a chave privada da folha atual. |
managed/ca.crt | Certificado da CA da organização (PEM). |
managed/health | Estado de saúde da inscrição persistido (ok / tokenRejected / revoked). |
remote/hostkey_ed25519, remote/hostkey_ed25519.pub | Chave de anfitrião do servidor SSH incorporado (modo do diretório 0700, chave 0600). |
remote/authorized_keys | Chaves públicas autorizadas a passar pela porta de entrada SSH (0600). |
remote/overlay-key | Substituição opcional de sobreposição-de-acordes para o menu remoto SSH. |
remote-client/id_ed25519, .pub | Par de chaves de cliente SSH do cliente nativo (comentário bromure-ac-fatclient). |
remote-client/known_hosts | Fixações de confiança-na-primeira-utilização das chaves de anfitriões remotos. |
remote-client/hosts.json | Servidores remotos guardados ("Servidores Recentes"). |
remote-client/hosts/<host-UUID>/… | Persistência do espelho por anfitrião (disposição da grelha, automatizações), para que o estado de um remoto nunca substitua o local. |
Nota: A subárvore
remote-client/desloca-se comCFFIXED_USER_HOME, que é a forma como duas instâncias isoladas podem ser executadas lado a lado para testes.
Fora do diretório de suporte
| Caminho | Contém |
|---|---|
~/Library/Logs/BromureAC/bromure-ac.log (e .log.1) | O registo da aplicação: uma cópia de tudo o que a aplicação escreve no erro padrão, com marcas de arranque, saída e sinal fatal. Rodado no arranque acima de 8 MB; é mantido um ficheiro anterior. |
~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plist | LaunchAgent de arranque no início de sessão, escrito quando alguma máquina ativa "Iniciar esta VM no login". |
<app>/Contents/Library/LaunchDaemons/io.bromure.fatclient-tunnel.plist | Daemon de túnel privilegiado incorporado, registado a pedido. |
/var/run/io.bromure.fatclient-tunnel.sock | Socket do daemon de túnel privilegiado (criado por root, 0600, pertencente ao utilizador da consola). |
/tmp/bromure-ac-cm-<first-12-of-host-UUID> | Socket SSH ControlMaster por anfitrião (fica em /tmp porque o caminho de suporte é demasiado longo para um socket Unix). |
/tmp/bromure-repair.log | Registo de depuração do proxy de reparação de inferência local (apenas com BROMURE_REPAIR_DEBUG). |
/usr/local/bin/bromure-cli | Ligação simbólica opcional da CLI para o binário da aplicação, criada por Instalar ferramenta de linha de comando…. |
<NSTemporaryDirectory>/bromure-ac-agent-<pid>.sock | Socket privado do ssh-agent do lado do anfitrião do Bromure. |
<NSTemporaryDirectory>/sessions-mirror.json, rooms-mirror.json, delegations-mirror.json | A cópia de trabalho, num cliente nativo, das sessões, salas e delegações de um anfitrião remoto. |
$TMPDIR/bromure/session-<uuid>.img (e -aux.img) | Clones copy-on-write efémeros da VM do navegador, eliminados ao desmontar. |
~/Library/Application Support/Bromure/ | Diretório de suporte do Bromure Web; a AC lê a sua imagem do navegador daqui quando presente. |
Itens do Keychain e domínio de defaults
Os segredos que têm de sobreviver com proteção ao nível do SO residem no Keychain do macOS, não em disco.
| Serviço do Keychain | Conta | Contém |
|---|---|---|
io.bromure.agentic-coding.master-key | v1 | A chave mestra do cofre de segredos (Porta-chaves Data Protection). |
io.bromure.agentic-coding.ssh-key-passphrases | <profileUUID>/<filename> | Frases de acesso para chaves SSH importadas. |
io.bromure.agentic-coding.managed-install | install-token, leaf-cert-key-<serial> | Token portador de inscrição e chaves privadas de folha por número de série. |
Todos os UserDefaults da aplicação residem no domínio io.bromure.agentic-coding (lidos e escritos com defaults read/defaults write).
Portas de rede e sub-redes
Portas TCP e de loopback
O Bromure Agentic Coding não abre por predefinição quaisquer portas de entrada fixas. Os dois serviços opcionais abaixo estão desligados até os ativar; os restantes são apenas de loopback e dinâmicos ou internos.
| Porta | Finalidade | Vinculada onde |
|---|---|---|
9223 (predefinição) | API HTTP de automatização e backend do bromure-ac mcp. Desativada por predefinição (automation.enabled); mais uma do que a 9222 do produto de navegador, para que as duas aplicações possam correr lado a lado. Serve GET /health. | 127.0.0.1 (configurável via automation.bindAddress; as ligações fora do loopback não são autenticadas e são desaconselhadas). |
2222 (predefinição) | Porta de entrada opcional de acesso remoto SSH. Desativada por predefinição; configurável para qualquer porta ≥ 1024. | 0.0.0.0 por predefinição (configurável via remoteAccess.bindAddress). |
28500–28599 | Ouvinte de callback OAuth do MCP (http://127.0.0.1:<port>/callback). | 127.0.0.1. |
| dinâmica | Motor de inferência no dispositivo, alocado no primeiro arranque para evitar colisões com o Ollama/LM Studio na 11434. | 127.0.0.1 (nunca 0.0.0.0). |
| dinâmica | Proxy de reparação de chamadas de ferramentas da inferência local. | 127.0.0.1. |
| efémera | Encaminhador SOCKS5 por anfitrião remoto usado pelo painel do navegador do cliente nativo. | Vinculada a 0.0.0.0 mas filtrada por par para loopback mais 192.168.127.x. |
Existem dois endpoints de loopback dentro do convidado, não no Mac: 127.0.0.1:65534 (o proxy HTTP(S) dentro da VM, que cada shell exporta como HTTPS_PROXY) e 127.0.0.1:11434 (onde aparece o motor de inferência do anfitrião, por vsock).
A própria instalação não abre portas TCP; o proxy de pacotes da compilação da imagem base vincula uma porta localhost efémera por compilação.
Sub-redes de rede virtual
| Sub-rede | Finalidade |
|---|---|
Um /24 aleatório em 172.16.0.0/12 | A rede das máquinas nas instalações novas (gateway .1, intervalo DHCP .2–.254). Escolhido uma vez por instalação, evitando os habituais 172.17–172.20 do Docker e qualquer intervalo em que o Mac esteja. Veja-o, desative-o ou volte a sorteá-lo em Preferências › Recursos › Sub-rede do espaço de trabalho. |
192.168.64.0/24 | A rede das máquinas nas instalações que desativaram a sub-rede privada. É deslocada automaticamente se a LAN do Mac já a usar. |
192.168.65.0/24–192.168.126.0/24 | Intervalo para o qual as instâncias do Bromure Web se realocam, mantendo a AC e a Web sem colidir. |
192.168.127.0/24 | A sub-rede fixa da VM de navegador local do cliente nativo (gateway .127.1). |
10.98.<unit>.0/30 | Redes de ligação ponto-a-ponto usadas pelo daemon de túnel utun privilegiado. |
O IPv6 não é encaminhado: as imagens base recentes desativam-no dentro do convidado, e o apt corre apenas por IPv4.
Portas vsock anfitrião↔convidado
O anfitrião e o convidado comunicam através de sockets virtio (vsock), que não têm endereço IP — são canais numerados entre o anfitrião (CID 2) e cada convidado. São canalização interna, listada aqui para diagnóstico.
| Porta vsock | Ponte |
|---|---|
| 5800 | Agente de execução de shell — suporta vm exec, a rota de execução do socket de controlo e o painel Ficheiros. |
| 5010 | Relé de callback OAuth de loopback (entrega redirecionamentos OAuth de volta às CLIs na VM). |
| 5830 | Servidor MCP browser. |
| 5831 | Servidor MCP do quadro de tarefas (só tarefas de código). |
| 5832 | Fluxo do plano (planeamento de tarefas de código). |
| 5833 | Servidor MCP automations. |
| 5834 | Servidor MCP infrastructure. |
| 5835 | Servidor MCP delegation. |
| 5836 | Servidor MCP switchboard (só a sessão da Central). |
| 8443 | Proxy MITM HTTPS — a saída do convidado. |
| 8444 | Ponte do ssh-agent (suporta SSH_AUTH_SOCK). |
| 8445 | Auxiliar credential_process da AWS. |
| 8446 | Agente do token de subscrição do Claude, e ponte para a inferência do anfitrião (127.0.0.1:11434 no convidado). |
| 8447 | Agente de token de subscrição Codex/ChatGPT. |
| 5000 | Agente de configuração da VM do navegador (configuração JSON anfitrião→convidado na reivindicação). |
| 5100 | Ponte de transferência de ficheiros da VM de navegador. |
| 5200 | Ponte do Chrome DevTools Protocol da VM do navegador (capturas de ecrã, avaliação). |
| 5300 / 5400 | Emissor de ligações / webcam da VM do navegador. |
| 5810 | Ponte de separadores nativos da VM do navegador. |
| 5900 | Ponte de rastreio de rede da VM do navegador. |
Variáveis de ambiente e argumentos de arranque
Estes influenciam a aplicação no arranque. A maioria destina-se a depuração, testes ou compilação a partir do código-fonte; a coluna Público indica a quem cada um se destina. Defina uma variável de ambiente antes de iniciar o binário, ou passe um argumento de arranque a seguir a ele.
| Nome | Efeito | Público |
|---|---|---|
-AppleLanguages "(fr)" (argumento de arranque) | Substituição normal da língua do macOS; força a língua da interface. | Utilizador final |
BROMURE_DEBUG_CLAUDE | Abre as rotas de controlo e os endpoints de depuração na API de automatização TCP, deixa os segredos passar pelas pontes de JSON de perfil AppleScript/MCP e é necessária para as ferramentas de VM de bromure-ac mcp --debug. | Utilizador avançado / depuração |
BROMURE_AC_DEBUG=1 | Depuração em stderr com carimbo temporal para o motor de automatização, classificadores de injeção, verificador de regras e pipeline de rastreio. | Depuração |
BROMURE_CLI_DEBUG | Diagnósticos verbosos de ligação ao socket de controlo em stderr para os comandos da CLI. | Depuração (CLI) |
BROMURE_REPAIR_DEBUG | Diagnósticos de pedido/resposta do proxy de reparação de inferência local, anexados a /tmp/bromure-repair.log. | Depuração (modelos locais) |
BROMURE_INFER_DEBUG | Estatísticas do motor por pedido (slot, tokens pré-preenchidos, tempo até ao primeiro token, tok/s) em stderr. | Depuração (modelos locais) |
BROMURE_FATCLIENT_LOG | Registo em stderr sem buffer do cliente nativo. | Depuração (remoto) |
BROMURE_ATTACH_DEBUG=<path> | Anexa também o registo do cliente nativo a um ficheiro. | Depuração (remoto) |
BROMURE_NO_TRANSPARENT | Desativa a interceção transparente em todas as máquinas (o proxy continua a funcionar para os programas que respeitam as definições de proxy). | Depuração |
BROMURE_INJECTION_COREML=1 | Executa os classificadores de injeção no fornecedor CoreML/Neural Engine (CPU por predefinição; o CoreML usa várias vezes mais memória com a mesma precisão). | Utilizador avançado |
BROMURE_NO_COREML | Desativa à força o CoreML para os classificadores, mesmo que BROMURE_INJECTION_COREML esteja definido. | Utilizador avançado |
BROMURE_PII_BUDGET | Caracteres de texto novo por pedido que o modelo de dados pessoais lê antes de recorrer apenas às regras de padrões (predefinição 300000). | Utilizador avançado (dados pessoais) |
BROMURE_PII_MIN_SCORE | Confiança de que o modelo de dados pessoais precisa antes de trocar um valor (predefinição 0.6). | Utilizador avançado (dados pessoais) |
BROMURE_PII_THREADS | Threads de CPU para o modelo de dados pessoais (predefinição: os núcleos de desempenho, de 2 a 8). | Utilizador avançado (dados pessoais) |
BROMURE_TRANSCRIPT_HISTORY_BYTES | Quanto de uma conversa longa uma conversa carrega de início (cerca de 24 MB por predefinição); valores menores servem para testes. | Testes |
BROMURE_GPU_CACHE_GB | Limite da cache de buffers da GPU MLX em GB (predefinição 4). | Utilizador avançado (modelos locais) |
BROMURE_KVBITS, BROMURE_KVBITS_START, BROMURE_CACHE_SLOTS, BROMURE_THINKING | Afinação da inferência no dispositivo: bits e limiar de quantização da cache KV, slots de sessão da cache KV e desativação do raciocínio silencioso. Consulte Modelos e fornecedores. | Utilizador avançado (modelos locais) |
VISUAL / EDITOR | Editor usado por bromure-cli workspaces edit (recorre a vi). | Utilizador final (CLI) |
BROMURE_MANAGED_URL | Substitui a base da API bromure.io usada para inscrição, heartbeat e emissão de certificados. | Administrador empresarial |
BROMURE_FATCLIENT_OPEN | Arranque só como cliente nativo: salta a configuração da primeira execução (não é precisa uma imagem base local). | Avançado / testes |
BROMURE_DEBUG_WIZARD | Abre o assistente de configuração inicial num passo dado (scan, pick, models, done) sem uma instalação real, ou newworkspace para o executar sobre uma pasta pessoal aberta. | Testes / capturas de ecrã |
BROMURE_EDITOR_CATEGORY | Abre o editor de definições num painel dado. | Testes / capturas de ecrã |
BROMURE_IMAGE_CATALOG_BASE | Aponta as transferências de imagens para um catálogo local/de teste; desativa também a verificação de assinatura do catálogo. Apenas para uso em testes e pipelines. | Teste / CI |
BROMURE_INSTALL_BROWSER_IMAGE=1 | Transfere automaticamente no arranque a cópia própria do AC da imagem do navegador incorporado. | Testes / depuração |
CODESIGN_IDENTITY | Identidade de assinatura do build.sh; se não definida, recorre a ad-hoc - (sem Gatekeeper, iCloud ou vmnet). | Programador (compilação) |
DEVELOPER_ID, APPLE_ID, TEAM_ID, APP_PASSWORD | Assinatura Developer ID e notarização do package.sh. | Programador / editor |
DRY_RUN=1, KEEP_PREVIOUS=1, KEEP_STAGING=1 | Interruptores do pipeline de publicação/ensaio de imagens. | Editor |
O motor também define variáveis internas para os seus próprios processos filhos (BROMURE_ENGINE_KEY, BROMURE_ENGINE_MASTER), e a VM descartável de início de sessão define BROMURE_AC_REGISTER; não se destinam a ser definidas à mão.
Chaves de UserDefaults (defaults write)
Definições persistentes no domínio io.bromure.agentic-coding. A maioria tem equivalente na interface; os vm.* e os ajustes para programadores definem-se com defaults write enquanto a aplicação não está em execução.
| Chave | Efeito | Predefinição |
|---|---|---|
automation.enabled | Ativa a API HTTP de automatização em loopback. | false |
automation.port | Porta da API de automatização. | 9223 |
automation.bindAddress | Endereço de vinculação da API de automatização. | 127.0.0.1 |
remoteAccess.enabled | Ativa a porta de entrada de acesso remoto SSH. | false |
remoteAccess.port | Porta da entrada SSH (≥ 1024). | 2222 |
remoteAccess.bindAddress | Endereço de vinculação da entrada SSH. | 0.0.0.0 |
remoteAccess.passwordAuth, remoteAccess.pubkeyAuth | Métodos de autenticação SSH. | ambos ligados |
ui.sessionsFirst | O início das sessões. Desativado, a janela principal volta à disposição de máquinas e terminais. | true |
ui.beautifiedTranscript | Mostrar as sessões de agente como conversas em vez de terminais em bruto. | true |
sessions.archivedExpanded | Se a secção Arquivadas da barra lateral está aberta. | false |
ui.terminalBell | Deixar tocar as campainhas do terminal (os agentes tocam no fim de cada vez). | false |
terminal.allowGraphics | Permitir a apresentação de imagens no terminal a partir do convidado. Consulte Avançado. | false |
vmnet.useRandom172 | Colocar as máquinas numa sub-rede privada aleatória em 172.16.0.0/12 (Preferências › Recursos › Sub-rede do espaço de trabalho). | true nas instalações novas |
proxy.noMitmDomains | Domínios adicionais cujo HTTPS passa sem interceção (Acesso remoto… › Não interceptar (domínios sem MITM)). | vazio |
p2p.udpRelay.enabled | Preferir o relé UDP experimental nas ligações remotas (Preferências › Recursos). | false |
vm.homeImageGB | Tamanho aparente de uma nova imagem ext4 da pasta pessoal, em GiB (8–1024; esparsa). | 16 |
vm.mtu | Limite de MTU da placa de rede do convidado — baixe-o em anfitriões com VPN que fazem desaparecer transferências. | 1280 |
vm.networkMode, vm.bridgedInterface, vm.dnsServers | Modo de rede da VM de navegador, interface em ponte e substituição de DNS. | modo NAT; outros não definidos |
vm.extraChromeFlags, vm.chromeEnvExtra | Controlos de programador anexados ao arranque do Chromium da VM do navegador. | não definidos |
cloudflareTunnel.consented | Consentimento único para expor serviços HTTP via túneis rápidos da Cloudflare. | false |
catalog.refreshDisabled | Não transferir o catálogo de modelos no dispositivo; usar as cópias incluídas e em cache. | false |
ac.sidebarWidth.v2, ac.filePaneOpen | Largura da barra lateral e estado do painel Ficheiros memorizados. | definido pela aplicação |
Guia rápido da VM convidada
Dentro de uma máquina em execução é o utilizador ubuntu, um utilizador comum (com acesso a sudo) cuja pasta pessoal é /home/ubuntu. O anfitrião prepara as montagens e o ambiente para que gestores de pacotes, agentes e Git funcionem sem qualquer configuração no convidado. Consulte Conceitos e Arquitetura para os mecanismos.
Pontos de montagem e caminhos
| Caminho | O que é |
|---|---|
/home/ubuntu | A sua pasta pessoal — o home.img ext4 (ou uma pasta partilhada nas máquinas ainda não atualizadas). |
/mnt/bromure-meta | Partilha de configuração só de leitura, por arranque: api_key.env, proxy.env, o certificado da CA, os auxiliares do convidado, os adaptadores e configurações MCP, e indicações de nome de anfitrião e MTU. |
/mnt/bromure-meta/bromure-*-mcp.py | Os adaptadores stdio↔vsock dos servidores MCP integrados (browser, task, automations, infra, delegation, switchboard). |
/mnt/bromure-outbox | Partilha de eventos convidado→anfitrião com permissão de escrita. |
/mnt/bromure-share-N | Pastas de projeto partilhadas (até 8), também com symlink na sua home como ~/<basename>. |
~/.bromure/inbox/<id>/ | Os ficheiros que outro agente enviou a esta sessão com uma delegação ou pedido. |
~/.bromure/switchboard | A pasta da Central; o seu CLAUDE.md é o briefing da Central. |
~/.bromure/rooms/<slug> | A pasta da Central de uma sala. |
~/.bromure/pastes/ | Ficheiros colados ou largados no terminal de uma máquina (limpos automaticamente ao fim de 7 dias). |
Ambiente definido pelo anfitrião
| Variável | Valor / efeito |
|---|---|
http_proxy, https_proxy, HTTPS_PROXY | http://127.0.0.1:65534 — a ponte na VM que transporta todo o HTTPS do convidado para o proxy MITM do anfitrião. |
NO_PROXY | localhost,127.0.0.1,::1. |
SSH_AUTH_SOCK | /tmp/bromure-agent.sock — ligado por vsock ao ssh-agent do anfitrião (só as chaves da máquina e as importadas explicitamente estão acessíveis; o agente da sua sessão macOS nunca é exposto). |
| Variáveis do pacote de CA | A CA raiz de re-assinatura é confiada através das variáveis padrão do pacote de CA para node, python, go, rust, curl, deno e o SDK da AWS. |
| Chaves de API dos 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, as variáveis AWS e quaisquer variáveis de base de dados ou personalizadas — todas valores substitutos; o anfitrião troca-os pelo segredo real durante a transmissão. |
| Modelos no dispositivo e de servidor personalizado | O Claude Code vê ANTHROPIC_BASE_URL=https://bromure.llm, um ANTHROPIC_AUTH_TOKEN próprio da VM, o ID real do modelo em ANTHROPIC_MODEL e nos seus aliases de tamanho, e CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1. |
| OpenRouter | O Claude Code vê ANTHROPIC_BASE_URL=https://openrouter.ai/api, um ANTHROPIC_AUTH_TOKEN substituto, um ANTHROPIC_API_KEY vazio e os IDs de modelo escolhidos para cada tamanho. |
| Amazon Bedrock | O Claude Code vê CLAUDE_CODE_USE_BEDROCK=1, AWS_REGION e ou um AWS_BEARER_TOKEN_BEDROCK substituto (chave de API do Bedrock) ou AWS_PROFILE=default (credenciais AWS). |
KIMI_CODE_OAUTH_HOST, KIMI_CODE_BASE_URL | Com uma subscrição Kimi: apontam o Kimi Code para o serviço internacional do Kimi. |
BROMURE_REGISTRY | O endereço de um registo Bromure a que esta máquina tem acesso. |
Aviso: Todas as credenciais que o convidado consegue ler são chamarizes. Um token substituto limitado a um anfitrião que apareça num pedido destinado a outro anfitrião é a assinatura de uma exfiltração e aciona a deteção de comprometimento — nunca autentica nada.