附錄 — 快速鍵、檔案、連接埠與環境
本附錄把散見於手冊其他部分的具體事實整理成參考表格:鍵盤快速鍵、磁碟上的位置、網路連接埠、環境變數與預設值,以及客體 VM 速查表。這裡的一切都以正式出貨的版本為準(版本 5.0.0、套件 ID io.bromure.agentic-coding、App 執行檔 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 | 重新整理(檢視視窗與分支視窗)。 |
| ⇧⌘⏎ | 把你的留言傳給代理程式(檢視視窗)。 |
磁碟上的位置
App 擁有的一切都位於單一支援目錄之下,另有少數檔案位於其外,以及幾個鑰匙圈項目。以 / 結尾的路徑是目錄。
支援目錄
應用程式的支援根目錄為 ~/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 netboot 安裝程式檔案的快取。 |
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 | 各 VM 裝置端引擎金鑰的主密鑰。 |
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 金鑰在主機端存放於此,絕不會拷貝到 VM 中。只會寫入非預設的欄位。 |
secrets.enc | 已加密的機器密鑰(0600)。 |
disk.img | 系統磁碟 — base.img 的 APFS 寫入時複製(copy-on-write)複本。 |
home.img | 存放 /home/ubuntu 的稀疏 ext4 映像檔。 |
home/ | 舊式的共享資料夾家目錄(尚未升級的機器)。 |
checkpoints/、checkpoints/home/ | 每次開機的磁碟與家目錄檢查點(家目錄的檢查點就是 回復個人檔案夾… 所列出的內容)。 |
vm.state、vm.state.json | 暫停 VM 的記憶體快照,以及儲存時所用設定的指紋。 |
tabs.json | 已儲存的終端機分頁版面,只在 vm.state 存在時才會採用。 |
machine-identifier.bin | 持久的 VM 身分(還原暫停的 VM 時需要)。 |
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、tokenizer 檔案、選用的 bromure-injection.json 覆寫)。 |
Models/claudemd-guard/ | ModernBERT 規則檔偵測器資產。 |
Models/pii-rampart/ | 個人資料保護用的 Rampart 模型,只在未內附於 App 時存在(開發建置版本)。 |
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 | 遠端主機金鑰的首次使用信任(trust-on-first-use)釘選。 |
remote-client/hosts.json | 已儲存的遠端伺服器(「最近的伺服器」)。 |
remote-client/hosts/<host-UUID>/… | 各主機的鏡像持久化資料(格線版面、自動化),讓遠端的狀態永遠不會覆寫本機的狀態。 |
附註:
remote-client/子樹會隨CFFIXED_USER_HOME一併搬遷,這正是兩個隔離執行個體能並排執行以供測試的方式。
支援目錄之外
| 路徑 | 內容 |
|---|---|
~/Library/Logs/BromureAC/bromure-ac.log(以及 .log.1) | App 記錄:App 寫到標準錯誤輸出之一切內容的副本,附有啟動、結束與致命訊號的戳記。啟動時超過 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 | 特權通道常駐程式的 socket(由 root 建立,0600,擁有者為主控台使用者)。 |
/tmp/bromure-ac-cm-<first-12-of-host-UUID> | 各主機的 SSH ControlMaster socket(放在 /tmp,因為支援路徑對 Unix socket 而言太長)。 |
/tmp/bromure-repair.log | 本機推論修復代理伺服器的除錯記錄(僅在 BROMURE_REPAIR_DEBUG 下)。 |
/usr/local/bin/bromure-cli | 選用的 CLI 符號連結,指向 App 執行檔,由 安裝命令列工具… 建立。 |
<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) | 短暫的瀏覽器 VM 寫入時複製複本,於拆除時刪除。 |
~/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> | 註冊 bearer 權杖與各序號的葉憑證私鑰。 |
應用程式的所有 UserDefaults 皆位於 io.bromure.agentic-coding 網域(以 defaults read/defaults write 讀寫)。
網路連接埠與子網路
TCP 與 loopback 連接埠
Bromure Agentic Coding 預設不開啟任何固定的傳入連接埠。以下兩項選用服務在你啟用之前皆為關閉;其餘皆僅限 loopback,且為動態或內部使用。
| 連接埠 | 用途 | 繫結位置 |
|---|---|---|
9223(預設) | HTTP 自動化 API 與 bromure-ac mcp 的後端。預設為關閉(automation.enabled);比瀏覽器產品的 9222 多一號,讓兩個 App 可以同時執行。提供 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,但對等節點過濾為 loopback 加上 192.168.127.x。 |
有兩個回送端點位於客體內部,而不是 Mac 上:127.0.0.1:65534(VM 內的 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 | 完整用戶端本機瀏覽器 VM 的固定子網路(閘道 .127.1)。 |
10.98.<unit>.0/30 | 具特權 utun 通道守護程序所使用的點對點連結網路。 |
IPv6 不會被路由:較新的基礎映像檔會在客體內停用它,而 apt 只透過 IPv4 執行。
主機↔客體 vsock 連接埠
主機與客體透過 virtio socket(vsock)溝通,vsock 沒有 IP 位址——它們是主機(CID 2)與每個客體之間的編號通道。這些是內部基礎設施,列在這裡供診斷之用。
| vsock 連接埠 | 橋接 |
|---|---|
| 5800 | Shell 執行代理程式——支援 vm exec、控制 socket 的 exec 路由,以及「檔案」面板。 |
| 5010 | Loopback OAuth 回呼轉送(將 OAuth 重新導向送回 VM 內的 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 | 瀏覽器 VM 設定代理(於認領時的主機→客體 JSON 設定)。 |
| 5100 | 瀏覽器 VM 的檔案傳輸橋接。 |
| 5200 | 瀏覽器 VM Chrome DevTools Protocol 橋接(螢幕擷取、eval)。 |
| 5300 / 5400 | 瀏覽器 VM 連結傳送器/網路攝影機。 |
| 5810 | 瀏覽器 VM 原生分頁橋接。 |
| 5900 | 瀏覽器 VM 網路追蹤記錄橋接。 |
環境變數與啟動引數
這些會影響應用程式啟動時的行為。多數用於除錯、測試或從原始碼建置;適用對象 欄會標示各項面向的對象。在啟動二進位檔前設定環境變數,或在其後傳入啟動引數。
| 名稱 | 效果 | 適用對象 |
|---|---|---|
-AppleLanguages "(fr)"(啟動引數) | 標準的 macOS 語言覆寫;強制指定介面語言。 | 一般使用者 |
BROMURE_DEBUG_CLAUDE | 在 TCP 自動化 API 上開放控制路由與除錯端點,讓密鑰原樣通過 AppleScript/MCP 設定檔 JSON 橋接,且是 bromure-ac mcp --debug 之 VM 工具所必需。 | 進階使用者 / 除錯 |
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 | 強制停用分類器的 CoreML,即使已設定 BROMURE_INJECTION_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 簽章身分;未設定時回退至臨時(ad-hoc)-(無 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),而拋棄式登入 VM 會設定 BROMURE_AC_REGISTER;這些都不是給人手動設定的。
UserDefaults 鍵(defaults write)
io.bromure.agentic-coding 網域中的持久設定。大多數在介面中都有對應項目;vm.* 與開發者選項則在 App 未執行時以 defaults write 設定。
| 鍵 | 效果 | 預設值 |
|---|---|---|
automation.enabled | 開啟 loopback 自動化 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 | 瀏覽器 VM 的網路模式、橋接介面與 DNS 覆寫。 | 模式為 NAT;其餘未設定 |
vm.extraChromeFlags、vm.chromeEnvExtra | 附加至瀏覽器 VM Chromium 啟動的開發者旋鈕。 | 未設定 |
cloudflareTunnel.consented | 透過 Cloudflare quick tunnel 公開 HTTP 服務的一次性同意。 | false |
catalog.refreshDisabled | 不下載裝置端模型目錄;使用內附與快取的副本。 | false |
ac.sidebarWidth.v2、ac.filePaneOpen | 記住的側邊欄寬度與「檔案」面板狀態。 | 由 App 設定 |
客體 VM 速查表
在執行中的機器內,你是 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 個),也會以 ~/<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 代理伺服器的 VM 內橋接。 |
NO_PROXY | localhost,127.0.0.1,::1。 |
SSH_AUTH_SOCK | /tmp/bromure-agent.sock——透過 vsock 橋接到主機的 ssh-agent(只能存取機器專屬與明確匯入的金鑰;你的 macOS 登入代理程式絕不會被公開)。 |
| CA bundle 變數 | 重新簽章的根 CA 透過 node、python、go、rust、curl、deno 與 AWS SDK 的標準 bundle 變數而受信任。 |
| 代理程式 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、每台 VM 專屬的 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 登錄檔位址。 |
警告: 客體能讀到的每一個憑證都是誘餌。限定於某台主機的替代權杖,若出現在送往另一台主機的請求中,就是外洩的特徵,並會觸發入侵偵測——它絕不會通過任何驗證。