附录 — 快捷键、文件、端口与环境
本附录把散见于手册其他部分的具体事实整理成参考表格:键盘快捷键、磁盘上的位置、网络端口、环境变量和默认值,以及客户机虚拟机速查表。这里的一切都以正式发布的版本为准(版本 5.0.0、包 ID io.bromure.agentic-coding、应用二进制文件 bromure-ac)。读写这些内容的命令请参阅 CLI、API 与 MCP;安装时会创建哪些内容,请参阅安装与首次运行。
以下使用的占位符:<uuid> 是机器(工作区)的标识符,<id> 是集群、注册表或运行的标识符,<version> 是固定的工具版本,<org>--<name> 是模型仓库,<host-UUID> 是已保存的远程主机。
键盘快捷键
取决于舞台上内容的快捷键会特别注明。标准的 macOS 快捷键(⌘Q、⌘H、⌘M、⌘C、⌘V 等)照常工作。
会话与导航
| 快捷键 | 操作 |
|---|---|
| ⌘N | 新建会话…——新会话屏幕。 |
| ⌘K | 前往…——命令面板(会话、房间、机器、操作、对话中的文本)。↑/↓ 移动,⏎ 打开。 |
| ⌘1 – ⌘9 | 舞台上是会话或新会话屏幕时:跳到边栏中的第 1–9 个会话。在机器的终端上:切换到该标签页。按住 ⌘ 可在边栏中看到编号。 |
| ⌥⌘↑ / ⌥⌘↓ | 按边栏顺序的上一个 / 下一个会话。 |
| ⌘⏎ | 恢复舞台上已暂停或已完成的会话。在新会话屏幕上为 启动。 |
| ⌘W | 舞台上是会话时:结束会话(会先询问“结束“‹会话›”?”,然后提供 撤销)。在机器的终端上:关闭标签页。 |
| ⌃⌘R | 下一个房间。 |
| ⌥⌘U | Linux——从会话跳到其在机器上的终端标签页,再跳回来(此时胶囊显示 会话)。 |
| ⌘Z | 在通知显示期间,撤销 最近一次的结束、归档、删除或移动。 |
| ⌃⌘S | 折叠或展开边栏。 |
| ⌃⌘B | 显示或隐藏代理式浏览器窗格。 |
| ⌃⌘E | 显示或隐藏“文件”面板。 |
| ⌘, | 偏好设置… |
在聊天中
| 快捷键 | 操作 |
|---|---|
| ⏎ | 发送消息(在新会话屏幕上:启动会话)。 |
| ⌥⏎ | 换行。 |
| Esc | 在代理工作时 停止 它。 |
/ | 打开斜杠命令面板(↑/↓ 移动、⇥ 补全、⏎ 选择、Esc 关闭)。 |
@ | 打开可询问的会话面板。 |
房间
| 快捷键 | 操作 |
|---|---|
| ⌃⇥ / ⌃⇧⇥ | 房间的会话在一页中放不下时,前往下一个 / 上一个标签页。 |
| Esc | 离开放大的会话,回到整个房间。 |
机器与终端
| 快捷键 | 操作 |
|---|---|
| ⇧⌘N | 新建工作区…(一台新机器)。 |
| ⌥⇧⌘N | 从我的配置新建工作区…(按住 ⌥ 时的同一个菜单项)。 |
| ⇧⌘K | 连接到远程 Bromure… |
| ⌘T | 在所选机器的终端上 新建标签页——或在浏览器窗格获得键盘焦点时打开新的浏览器标签页。 |
| ⌘D | 将终端添加到网格。 |
| ⇧⌘G | 新建工作树(在机器的终端上)。 |
| ⇧⌘M | 合并工作树(在机器的终端上)。 |
看板、窗口与审查
| 快捷键 | 操作 |
|---|---|
| ⇧⌘A | 自动化看板。 |
| ⇧⌘T | 任务(编码任务看板)。 |
| ⌘0 | 工作区管理器。 |
| ⇧⌘I | 跟踪检查器… |
| ⌘R | 刷新(审查窗口和分支窗口)。 |
| ⇧⌘⏎ | 把你的评论发送给代理(审查窗口)。 |
磁盘上的位置
应用拥有的一切都位于单个支持目录下,另有少数文件位于其外,以及几个钥匙串项目。以 / 结尾的路径是目录。
支持目录
应用的支持根目录为 ~/Library/Application Support/BromureAC/。下面的路径相对于该目录。
| 路径 | 保存内容 |
|---|---|
base.img | 每台机器克隆的 Ubuntu 基础镜像(逻辑大小 24 GB,实际占用几 GB)。 |
efivars.bin | 基础镜像启动时使用的 EFI 变量存储。 |
base.version | 已安装镜像的版本戳,例如 201 或 201.1。 |
image-state.json | 镜像来源信息以及已应用的安装后步骤的 UUID。 |
img-catalog.json | 已下载镜像目录的缓存副本。 |
browser-img-catalog.json | 嵌入式浏览器镜像的缓存目录。 |
catalog.json | 缓存的设备端模型远程目录。 |
base.img.partial、base.img.gz.partial、efivars.partial | 临时安装文件;它们的存在意味着安装正在进行或已被中断。 |
alpine-vmlinuz、alpine-initramfs、alpine-initramfs-shimmed | 本地构建所使用的缓存 Alpine 网络启动安装程序文件。 |
browser/ | 当 Bromure Web 的副本不存在时,AC 自己的 Ubuntu + Chromium 浏览器镜像副本。 |
browser-profiles/<uuid>/image/profile.img | 加密的持久化 Chromium 配置磁盘("保持登录网站")。 |
ca/cert.pem、ca/key.pem | 每次安装独立的 Bromure Agentic Coding 根 CA(密钥模式 0600)。删除 ca/ 目录可轮换它。 |
control.sock | 仅属主可访问(0600)的 Unix 控制套接字,CLI 和控制平面通过它以 HTTP 通信。 |
profile-macs.json | 各机器确定性的 MAC 地址绑定。 |
dhcp-leases.sqlite | 机器虚拟网络的持久 DHCP 租约。 |
default-ssh/id_ed25519.raw、default-ssh/id_ed25519.pub | 共享的默认 SSH 密钥对,会拷贝到每台新机器中。 |
profile-template.json、profile-template.enc | 新机器会继承的偏好设置 Defaults 模板。 |
models.enc | 全局模型设置(偏好设置 › 模型):提供方、密钥、各代理的选择。已加密。 |
claude-subscription.enc、codex-subscription.enc、grok-subscription.enc、kimi-subscription.enc | 由宿主机持有、已加密的订阅登录(共享的,以及各机器的覆盖),0600。 |
sessions.json | 你的代理会话:标题、代理、机器、文件夹、状态、昵称、房间。 |
rooms.json | 你的房间。 |
delegations.json | 会话之间的委派和请求。 |
transcripts/ | 宿主机端为每个会话保存的对话副本(<session-id>.jsonl)。 |
tasks.json、task-transcripts/ | 编码任务看板及其归档的对话记录。 |
automations.json | 计划自动化,以及运行历史、下次触发时间和事件轮询的最高水位。 |
runs/<id>/ | 归档的自动化运行(record.json、transcript.jsonl)。 |
security-timeline/<yyyy-MM-dd>.jsonl | 安全时间线,每天一个文件,保存 90 天。 |
pii/<uuid>.key | 让个人数据替代值保持一致的各机器机密(0600)。 |
grid-layout.json | 网格的组成。 |
engine-master.key | 各虚拟机设备端引擎密钥的主机密。 |
engine-spawn.json | 设备端引擎的启动配置(模型、内存预算、端口)。 |
fake-salt.bin | 用于派生替代令牌的每次安装专属盐值(0600)。删除它会轮换这台 Mac 上的所有替代值。 |
secrets-master.key | 0600 的备用主密钥,只在 Data Protection 钥匙串无法访问时使用。 |
cloudflared/<version>/cloudflared | 固定的、经校验和验证的 cloudflared 二进制文件,旁边带有一个 current 符号链接。 |
ghostty/ | 生成的终端配置(基础配置,外加各机器的配置)。 |
各机器的存储
每台机器都是支持根目录下一个自成一体的目录 profiles/<uuid>/。这些内容的用法请参阅机器和概念与架构。
路径(位于 profiles/<uuid>/ 下) | 保存内容 |
|---|---|
profile.json | 机器定义,包括其安全策略;socket.dev 和 Depi 的 API 密钥在宿主机端存放于此,绝不会拷贝到虚拟机中。只会写入非默认的字段。 |
secrets.enc | 已加密的机器机密(0600)。 |
disk.img | 系统磁盘 — base.img 的 APFS 写时复制克隆。 |
home.img | 存放 /home/ubuntu 的稀疏 ext4 镜像。 |
home/ | 旧式的共享文件夹主目录(尚未升级的机器)。 |
checkpoints/、checkpoints/home/ | 每次启动的磁盘和主目录检查点(主目录的检查点就是 回退主目录… 列出的内容)。 |
vm.state、vm.state.json | 挂起虚拟机的内存快照,以及保存时所用配置的指纹。 |
tabs.json | 已保存的终端标签页布局,只在 vm.state 存在时才会采用。 |
machine-identifier.bin | 持久的虚拟机身份(恢复挂起的虚拟机时需要)。 |
compromised.flag | 入侵后设置的“下次启动时清除”标记。 |
meta-share/ | 每次启动的只读客户机配置共享(api_key.env、proxy.env、CA 证书、客户机辅助程序、MCP 垫片和配置)。 |
outbox/ | 每次启动的可写客户机→宿主机事件共享。 |
agent/(以及 agent/imported/)、ssh/ | 各机器的 SSH 密钥材料;导入的密钥位于 agent/imported/ 下,ssh/ 是旧式目录。 |
集群、镜像仓库与消息连接器
| 路径(位于支持根目录下) | 保存内容 |
|---|---|
kube/clusters.json | 每个 Kubernetes 集群、镜像仓库和消息连接器,及其设置和访问列表。 |
kube/<id>/kubeconfig.yaml | 集群的管理员 kubeconfig(拷贝 kubeconfig 所拷贝的内容)。 |
kube/<id>/setup.log | 集群或镜像仓库的设置和生命周期日志(其 日志 标签页)。 |
kube/<id>/synology.enc | 已配置时,加密的 Synology NAS 凭据。 |
kube/<id>/nodes/<uuid>/ | 每个节点(或镜像仓库、连接器)自己的机器目录:disk.img、使用时的数据磁盘 data.img、meta-share/ 等。 |
模型与检测器
| 路径(位于支持根目录下) | 保存内容 |
|---|---|
models/<org>--<name>/ | 已下载的设备端模型权重。 |
models/<org>--<name>/.incomplete | 下载中或中断的下载的标记。 |
Models/prompt-injection/ | PromptGuard 检测器资产(model.onnx、分词器文件、可选的 bromure-injection.json 覆盖项)。 |
Models/claudemd-guard/ | ModernBERT 规则文件检测器资产。 |
Models/pii-rampart/ | 个人数据保护用的 Rampart 模型,只在未内附于应用时存在(开发构建版本)。 |
traces/YYYY-MM-DD/<sessionID>.jsonl | 每会话的追踪元数据,每行一条 JSON 记录。 |
traces/YYYY-MM-DD/<sessionID>/<recordID>.req.enc、.res.enc | 已捕获的请求 / 响应内容,已加密(0600)。 |
注册、远程访问与富客户端
| 路径(位于支持根目录下) | 保存内容 |
|---|---|
managed/install.json | 注册身份:安装 ID、组织代号、用户、服务器 URL、设备名称、注册时间。 |
managed/leaf.crt | mTLS 叶证书(PEM)。 |
managed/leaf.serial | 指向保存当前叶证书私钥的 Keychain 条目的指针。 |
managed/ca.crt | 组织的 CA 证书(PEM)。 |
managed/health | 持久化的注册健康状态(ok / tokenRejected / revoked)。 |
remote/hostkey_ed25519、remote/hostkey_ed25519.pub | 嵌入式 SSH 服务器主机密钥(目录模式 0700,密钥 0600)。 |
remote/authorized_keys | 允许通过 SSH 前门的公钥(0600)。 |
remote/overlay-key | SSH 远程菜单的可选叠加快捷键覆盖项。 |
remote-client/id_ed25519、.pub | 富客户端的 SSH 客户端密钥对(注释 bromure-ac-fatclient)。 |
remote-client/known_hosts | 远程主机密钥的首次使用信任(TOFU)固定项。 |
remote-client/hosts.json | 已保存的远程服务器("最近的服务器")。 |
remote-client/hosts/<host-UUID>/… | 各主机的镜像持久化数据(网格布局、自动化),让远程主机的状态永远不会覆盖本地的状态。 |
注意:
remote-client/子树会随CFFIXED_USER_HOME一起重新定位,这正是可以并排运行两个隔离实例进行测试的方式。
支持目录之外
| 路径 | 保存内容 |
|---|---|
~/Library/Logs/BromureAC/bromure-ac.log(以及 .log.1) | 应用日志:应用写到标准错误输出的一切内容的副本,附有启动、退出和致命信号的戳记。启动时超过 8 MB 即轮转;保留一个之前的文件。 |
~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plist | 登录时启动的 LaunchAgent,在任何机器启用“登录时启动此虚拟机”时写入。 |
<app>/Contents/Library/LaunchDaemons/io.bromure.fatclient-tunnel.plist | 内嵌的特权隧道守护进程,按需注册。 |
/var/run/io.bromure.fatclient-tunnel.sock | 特权隧道守护进程的套接字(由 root 创建,0600,所有者为控制台用户)。 |
/tmp/bromure-ac-cm-<first-12-of-host-UUID> | 各主机的 SSH ControlMaster 套接字(放在 /tmp,因为支持路径对 Unix 套接字来说太长)。 |
/tmp/bromure-repair.log | 本地推理修复代理服务器调试日志(仅在设置 BROMURE_REPAIR_DEBUG 时)。 |
/usr/local/bin/bromure-cli | 可选的 CLI 符号链接,指向应用二进制文件,由 安装命令行工具… 创建。 |
<NSTemporaryDirectory>/bromure-ac-agent-<pid>.sock | Bromure 私有的宿主机端 ssh-agent 套接字。 |
<NSTemporaryDirectory>/sessions-mirror.json、rooms-mirror.json、delegations-mirror.json | 富客户端对远程主机的会话、房间和委派的工作副本。 |
$TMPDIR/bromure/session-<uuid>.img(以及 -aux.img) | 临时浏览器虚拟机写时复制克隆,拆除时删除。 |
~/Library/Application Support/Bromure/ | Bromure Web 的支持目录;AC 在其存在时从此处读取浏览器镜像。 |
Keychain 项与 defaults 域
必须在操作系统级别保护下保存的机密位于 macOS Keychain 中,而非磁盘上。
| Keychain 服务 | 账户 | 保存内容 |
|---|---|---|
io.bromure.agentic-coding.master-key | v1 | 机密保险库主密钥(Data Protection 钥匙串)。 |
io.bromure.agentic-coding.ssh-key-passphrases | <profileUUID>/<filename> | 导入 SSH 密钥的口令。 |
io.bromure.agentic-coding.managed-install | install-token、leaf-cert-key-<serial> | 注册持有者令牌和每序列号叶证书私钥。 |
应用的所有 UserDefaults 都位于 io.bromure.agentic-coding 域中(用 defaults read/defaults write 读写)。
网络端口与子网
TCP 与回环端口
Bromure Agentic Coding 默认不打开任何固定的入站端口。下面两个可选服务在你启用之前处于关闭状态;其余的仅限回环,且要么是动态的,要么是内部的。
| 端口 | 用途 | 绑定位置 |
|---|---|---|
9223(默认) | HTTP 自动化 API 和 bromure-ac mcp 的后端。默认关闭(automation.enabled);比浏览器产品的 9222 多一号,让两个应用可以同时运行。提供 GET /health。 | 127.0.0.1(可通过 automation.bindAddress 配置;非环回的绑定没有认证,不建议使用)。 |
2222(默认) | 可选的 SSH 远程访问前门。默认禁用;可配置为任何 ≥ 1024 的端口。 | 默认为 0.0.0.0(可通过 remoteAccess.bindAddress 配置)。 |
28500–28599 | MCP OAuth 回调监听器(http://127.0.0.1:<port>/callback)。 | 127.0.0.1。 |
| 动态 | 设备端推理引擎,在首次启动时分配,以避免与 11434 上的 Ollama/LM Studio 冲突。 | 127.0.0.1(绝不是 0.0.0.0)。 |
| 动态 | 本地推理工具调用修复代理服务器。 | 127.0.0.1。 |
| 临时 | 富客户端浏览器窗格使用的每远程主机 SOCKS5 转发器。 | 绑定 0.0.0.0,但按对端过滤为仅回环加 192.168.127.x。 |
有两个环回端点位于客户机内部,而不是 Mac 上:127.0.0.1:65534(虚拟机内的 HTTP(S) 代理服务器,每个 shell 都会将它导出为 HTTPS_PROXY),以及 127.0.0.1:11434(宿主机端推理引擎通过 vsock 出现的位置)。
安装本身不打开任何 TCP 端口;基础镜像构建的软件包代理服务器为每次构建绑定一个临时 localhost 端口。
虚拟网络子网
| 子网 | 用途 |
|---|---|
172.16.0.0/12 内随机的 /24 | 新安装时机器所在的网络(网关 .1,DHCP 池 .2–.254)。每次安装选择一次,会跳过 Docker 常用的 172.17–172.20 以及 Mac 已经所在的任何范围。可在 偏好设置 › 资源 › 工作区子网 中查看、关闭或重新随机生成。 |
192.168.64.0/24 | 关闭私有子网的安装中,机器所在的网络。如果 Mac 的局域网已在使用,会自动迁移。 |
192.168.65.0/24–192.168.126.0/24 | Bromure Web 实例重新定位到的范围,避免 AC 和 Web 冲突。 |
192.168.127.0/24 | 富客户端本地浏览器虚拟机的固定子网(网关 .127.1)。 |
10.98.<unit>.0/30 | 特权 utun 隧道守护进程使用的点对点链路网络。 |
IPv6 不会被路由:较新的基础镜像会在客户机内禁用它,而 apt 只通过 IPv4 运行。
宿主机↔客户机 vsock 端口
宿主机和客户机通过 virtio 套接字(vsock)通信,vsock 没有 IP 地址——它们是宿主机(CID 2)与每个客户机之间的编号通道。这些是内部基础设施,列在这里供诊断之用。
| vsock 端口 | 桥接 |
|---|---|
| 5800 | Shell 执行代理——支持 vm exec、控制套接字的 exec 路由,以及“文件”面板。 |
| 5010 | 回环 OAuth 回调中继(将 OAuth 重定向递送回虚拟机内的 CLI)。 |
| 5830 | browser MCP 服务器。 |
| 5831 | 任务看板 MCP 服务器(仅限编码任务)。 |
| 5832 | 计划流(编码任务的规划)。 |
| 5833 | automations MCP 服务器。 |
| 5834 | infrastructure MCP 服务器。 |
| 5835 | delegation MCP 服务器。 |
| 5836 | switchboard MCP 服务器(仅限总机会话)。 |
| 8443 | HTTPS MITM 代理服务器 — 客户机的出口。 |
| 8444 | ssh-agent 桥接(支撑 SSH_AUTH_SOCK)。 |
| 8445 | AWS credential_process 助手。 |
| 8446 | Claude 订阅令牌代理,以及通往宿主机端推理的桥接(客户机的 127.0.0.1:11434)。 |
| 8447 | Codex/ChatGPT 订阅令牌代理。 |
| 5000 | 浏览器虚拟机配置代理(认领时宿主机→客户机 JSON 配置)。 |
| 5100 | 浏览器虚拟机的文件传输桥接。 |
| 5200 | 浏览器虚拟机 Chrome DevTools Protocol 桥接(截图、求值)。 |
| 5300 / 5400 | 浏览器虚拟机链接发送器 / 网络摄像头。 |
| 5810 | 浏览器虚拟机原生标签页桥接。 |
| 5900 | 浏览器虚拟机网络追踪桥接。 |
环境变量与启动参数
这些会在启动时影响应用。大多数用于调试、测试或从源代码构建;受众列标明了每一项面向的对象。在启动二进制文件之前设置环境变量,或在其后传递启动参数。
| 名称 | 效果 | 受众 |
|---|---|---|
-AppleLanguages "(fr)"(启动参数) | 标准的 macOS 语言覆盖;强制指定界面语言。 | 普通用户 |
BROMURE_DEBUG_CLAUDE | 在 TCP 自动化 API 上开放控制路由和调试端点,让机密原样通过 AppleScript/MCP 配置文件 JSON 桥接,且是 bromure-ac mcp --debug 的虚拟机工具所必需。 | 高级用户 / 调试 |
BROMURE_AC_DEBUG=1 | 自动化引擎、注入分类器、规则扫描器和追踪管道的带时间戳 stderr 调试。 | 调试 |
BROMURE_CLI_DEBUG | CLI 命令在 stderr 上的详细控制套接字连接诊断。 | 调试(CLI) |
BROMURE_REPAIR_DEBUG | 本地推理修复代理服务器的请求/响应诊断,追加到 /tmp/bromure-repair.log。 | 调试(本地模型) |
BROMURE_INFER_DEBUG | 把每个请求的引擎统计(slot、预填充的令牌、首个令牌耗时、tok/s)输出到 stderr。 | 调试(本地模型) |
BROMURE_FATCLIENT_LOG | 无缓冲的富客户端 stderr 日志记录。 | 调试(远程) |
BROMURE_ATTACH_DEBUG=<path> | 同时将富客户端日志追加到文件。 | 调试(远程) |
BROMURE_NO_TRANSPARENT | 为每台机器关闭透明拦截(对遵循代理服务器设置的程序,代理服务器仍会工作)。 | 调试 |
BROMURE_INJECTION_COREML=1 | 在 CoreML/Neural Engine 提供程序上运行注入分类器(默认为 CPU;CoreML 在相同准确度下会使用数倍的内存)。 | 高级用户 |
BROMURE_NO_COREML | 即使设置了 BROMURE_INJECTION_COREML,也强制为分类器禁用 CoreML。 | 高级用户 |
BROMURE_PII_BUDGET | 个人数据模型在只回退到模式规则之前,每个请求会读取的新文本字符数(默认 300000)。 | 高级用户(个人数据) |
BROMURE_PII_MIN_SCORE | 个人数据模型替换某个值之前所需的置信度(默认 0.6)。 | 高级用户(个人数据) |
BROMURE_PII_THREADS | 个人数据模型使用的 CPU 线程数(默认:性能核心,2–8)。 | 高级用户(个人数据) |
BROMURE_TRANSCRIPT_HISTORY_BYTES | 聊天一开始会加载长对话中的多少内容(默认约 24 MB);较小的值用于测试。 | 测试 |
BROMURE_GPU_CACHE_GB | MLX GPU 缓冲区缓存上限(以 GB 为单位,默认 4)。 | 高级用户(本地模型) |
BROMURE_KVBITS、BROMURE_KVBITS_START、BROMURE_CACHE_SLOTS、BROMURE_THINKING | 设备端推理调整:KV 缓存的量化位数和阈值、KV 缓存的会话 slot,以及禁用静默思考。请参阅模型与提供方。 | 高级用户(本地模型) |
VISUAL / EDITOR | bromure-cli workspaces edit 使用的编辑器(回退到 vi)。 | 最终用户(CLI) |
BROMURE_MANAGED_URL | 覆盖用于注册、心跳和证书签发的 bromure.io API 基址。 | 企业管理员 |
BROMURE_FATCLIENT_OPEN | 纯富客户端启动:跳过首次运行设置(不需要本地基础镜像)。 | 高级 / 测试 |
BROMURE_DEBUG_WIZARD | 在不实际安装的情况下,在指定步骤(scan、pick、models、done)打开引导向导,或用 newworkspace 在已打开的主目录上运行。 | 测试 / 截图 |
BROMURE_EDITOR_CATEGORY | 在指定面板打开设置编辑器。 | 测试 / 截图 |
BROMURE_IMAGE_CATALOG_BASE | 将镜像下载指向本地/暂存目录;同时禁用目录签名验证。仅供测试和流水线使用。 | 测试 / CI |
BROMURE_INSTALL_BROWSER_IMAGE=1 | 启动时自动下载 AC 自己的内嵌浏览器镜像副本。 | 测试 / 调试 |
CODESIGN_IDENTITY | build.sh 签名标识;未设置时回退到临时 -(无 Gatekeeper、iCloud 或 vmnet)。 | 开发者(构建) |
DEVELOPER_ID、APPLE_ID、TEAM_ID、APP_PASSWORD | package.sh 的 Developer ID 签名和公证。 | 开发者 / 发布者 |
DRY_RUN=1、KEEP_PREVIOUS=1、KEEP_STAGING=1 | 镜像发布/演练流水线开关。 | 发布者 |
引擎也会为自己的子进程设置内部变量(BROMURE_ENGINE_KEY、BROMURE_ENGINE_MASTER),而一次性登录虚拟机会设置 BROMURE_AC_REGISTER;这些都不是给人手动设置的。
UserDefaults 键(defaults write)
io.bromure.agentic-coding 域中的持久设置。大多数在界面中都有对应项;vm.* 和开发者选项则在应用未运行时用 defaults write 设置。
| 键 | 效果 | 默认值 |
|---|---|---|
automation.enabled | 打开回环自动化 HTTP API。 | false |
automation.port | 自动化 API 端口。 | 9223 |
automation.bindAddress | 自动化 API 绑定地址。 | 127.0.0.1 |
remoteAccess.enabled | 启用 SSH 远程访问前门。 | false |
remoteAccess.port | SSH 前门端口(≥ 1024)。 | 2222 |
remoteAccess.bindAddress | SSH 前门绑定地址。 | 0.0.0.0 |
remoteAccess.passwordAuth、remoteAccess.pubkeyAuth | SSH 身份验证方法。 | 均开启 |
ui.sessionsFirst | 会话主页。关闭后,主窗口会回退到机器和终端的布局。 | true |
ui.beautifiedTranscript | 以聊天而不是原始终端的形式显示代理会话。 | true |
sessions.archivedExpanded | 边栏的 已归档 折叠区是否展开。 | false |
ui.terminalBell | 让终端铃声响起(代理会在每个回合结束时响铃)。 | false |
terminal.allowGraphics | 允许客户机在终端中显示图片。请参阅高级。 | false |
vmnet.useRandom172 | 把机器放在 172.16.0.0/12 内随机的私有子网上(偏好设置 › 资源 › 工作区子网)。 | 新安装时为 true |
proxy.noMitmDomains | 额外的域名,其 HTTPS 会不经拦截直接通过(远程访问… › 不拦截(非 MITM 域名))。 | 空 |
p2p.udpRelay.enabled | 远程连接优先使用实验性的 UDP 中继(偏好设置 › 资源)。 | false |
vm.homeImageGB | 新 ext4 主目录镜像的表面大小,单位 GiB(8–1024;稀疏)。 | 16 |
vm.mtu | 客户机网卡的 MTU 上限——在会让下载石沉大海的 VPN 主机上请调低。 | 1280 |
vm.networkMode、vm.bridgedInterface、vm.dnsServers | 浏览器虚拟机的网络模式、桥接接口和 DNS 覆盖。 | 模式为 NAT;其余未设置 |
vm.extraChromeFlags、vm.chromeEnvExtra | 附加到浏览器虚拟机 Chromium 启动的开发者旋钮。 | 未设置 |
cloudflareTunnel.consented | 通过 Cloudflare 快速隧道公开 HTTP 服务的一次性许可。 | false |
catalog.refreshDisabled | 不下载设备端模型目录;使用内附和缓存的副本。 | false |
ac.sidebarWidth.v2、ac.filePaneOpen | 记住的边栏宽度和“文件”面板状态。 | 由应用设置 |
客户机虚拟机速查表
在运行中的机器内,你是 ubuntu,一个普通用户(可以使用 sudo),主目录为 /home/ubuntu。宿主机会设置好挂载和环境,让包管理器、代理和 Git 无需在客户机内做任何设置即可工作。其工作机制请参阅概念与架构。
挂载点与路径
| 路径 | 是什么 |
|---|---|
/home/ubuntu | 你的主目录——ext4 的 home.img(或在尚未升级的机器上为共享文件夹)。 |
/mnt/bromure-meta | 每次启动的只读配置共享:api_key.env、proxy.env、CA 证书、客户机辅助程序、MCP 垫片和配置、主机名和 MTU 提示。 |
/mnt/bromure-meta/bromure-*-mcp.py | 内置 MCP 服务器的 stdio↔vsock 垫片(browser、task、automations、infra、delegation、switchboard)。 |
/mnt/bromure-outbox | 可写的客户机→宿主机事件共享。 |
/mnt/bromure-share-N | 共享的项目文件夹(最多 8 个),也符号链接到你的 home 中为 ~/<basename>。 |
~/.bromure/inbox/<id>/ | 其他代理随委派或请求发给此会话的文件。 |
~/.bromure/switchboard | 总机的文件夹;其中的 CLAUDE.md 是总机的工作说明。 |
~/.bromure/rooms/<slug> | 房间总机的文件夹。 |
~/.bromure/pastes/ | 粘贴或拖放到机器终端中的文件(7 天后自动清除)。 |
由宿主机设置的环境
| 变量 | 值 / 效果 |
|---|---|
http_proxy、https_proxy、HTTPS_PROXY | http://127.0.0.1:65534 — 将所有客户机 HTTPS 载送到宿主机 MITM 代理服务器的虚拟机内桥接。 |
NO_PROXY | localhost,127.0.0.1,::1。 |
SSH_AUTH_SOCK | /tmp/bromure-agent.sock——通过 vsock 桥接到宿主机的 ssh-agent(只能访问机器专属和明确导入的密钥;你的 macOS 登录代理绝不会被暴露)。 |
| CA 包变量 | 重签名根 CA 通过 node、python、go、rust、curl、deno 和 AWS SDK 的标准包变量得到信任。 |
| 代理 API 密钥 | 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、AWS 变量,以及任何数据库或自定义变量——全都是替代值;宿主机会在传输途中换上真正的机密。 |
| 设备端和自定义服务器模型 | Claude Code 看到的是 ANTHROPIC_BASE_URL=https://bromure.llm、每台虚拟机专属的 ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL 及其尺寸别名中的真实模型 ID,以及 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1。 |
| OpenRouter | Claude Code 看到的是 ANTHROPIC_BASE_URL=https://openrouter.ai/api、替代的 ANTHROPIC_AUTH_TOKEN、空的 ANTHROPIC_API_KEY,以及每个尺寸所选的模型 ID。 |
| Amazon Bedrock | Claude Code 看到的是 CLAUDE_CODE_USE_BEDROCK=1、AWS_REGION,以及替代的 AWS_BEARER_TOKEN_BEDROCK(Bedrock API 密钥)或 AWS_PROFILE=default(AWS 凭据)二者之一。 |
KIMI_CODE_OAUTH_HOST、KIMI_CODE_BASE_URL | 有 Kimi 订阅时:让 Kimi Code 指向 Kimi 的国际服务。 |
BROMURE_REGISTRY | 这台机器可以访问的 Bromure 镜像仓库地址。 |
警告: 客户机能读到的每一个凭据都是诱饵。限定于某台主机的替代令牌,如果出现在发往另一台主机的请求中,就是外泄的特征,并会触发入侵检测——它绝不会通过任何认证。