Bromure Agentic Coding — 設定檔設定參考
Bromure Agentic Coding 中的每個設定檔在十一個面板中都擁有各自獨立的組態,點擊選擇器內設定檔旁的齒輪圖示即可開啟。
一般
設定檔的基本身分與行為。

| 設定 | 說明 |
|---|---|
| 名稱 | 顯示在設定檔清單中的顯示名稱。 |
| 顏色 | 在選擇器中設定檔旁繪製的彩色圓點,用於視覺上區分設定檔。選項:藍、紅、綠、橘、紫、粉紅、藍綠、灰。 |
| 鍵盤配置 | VM 內所使用的鍵盤配置。"Auto (match macOS)" 會動態鏡像主機上目前啟用的輸入來源,並在切換時即時更新。選擇其他配置可將 VM 固定為特定的 XKB 配置,不受 macOS 狀態影響。 |
| 按鍵重複延遲 | 在 VM 內按住按鍵後開始重複前的時間(毫秒)。預設值來自您的 macOS 設定;變更此值可獨立於主機覆寫 X11 的按鍵重複節奏。 |
| 按鍵重複頻率 | 延遲時間結束後的重複頻率(Hz)。預設值來自您的 macOS 設定。當 X-server 管線讓打字感覺比 Cocoa 應用程式更卡頓時相當實用——將頻率調高到 macOS 值的 2× 是常見的修正方式。 |
| 關閉視窗時 | 當您關閉工作階段視窗時 VM 的處理方式:暫停(將 RAM 存到磁碟以便立即恢復——預設)、關機(乾淨的 ACPI 關機)或詢問(每次都提示)。 |
| 備註(選填) | 關於該設定檔的簡短備註。當您將滑鼠停在清單中的設定檔上時會顯示為工具提示。 |
代理
選擇此設定檔中可用的編碼代理以及它們的驗證方式。被標記為 Primary 的代理會在工作階段開啟時於第一個 kitty 分頁中自動啟動;其他啟用的代理會被安裝並完成驗證,但需從新分頁手動啟動。

| 設定 | 說明 |
|---|---|
| Claude Code | 為此設定檔啟用或停用 Claude Code 代理。開啟以進行設定。 |
| Claude Code — Primary | 將 Claude Code 標記為主要代理(工作階段啟動時自動執行)。點擊任一已啟用代理上的 "Primary" 即可將其提升。 |
| Claude Code — Auth | Claude Code 的驗證方式:API token(貼上 ANTHROPIC_API_KEY——以環境變數注入,絕不直接寫入 VM)、Subscription (interactive login)(在 VM 內執行一次 claude login)或 Bedrock (AWS)(透過 Bedrock runtime 使用您的 AWS 憑證——需要在「憑證」頁籤設定 AWS 憑證)。 |
| Claude Code — Require approval to use | (僅限 token 模式。)啟用後,每次偽造→真實的 Anthropic API 金鑰替換都會在金鑰轉發前於主機端顯示同意對話框。預設為關閉。 |
| Claude Code — Default Model ID | (僅限 Bedrock 模式。)覆寫 Claude Code 使用的 Bedrock 模型 ID,例如 us.anthropic.claude-sonnet-4-6-v1:0。留空則使用 Claude Code 的內建預設值。 |
| Codex | 為此設定檔啟用或停用 OpenAI Codex 代理。開啟以設定驗證方式。 |
| Codex — Auth | Codex 的驗證方式:API token(貼上 OPENAI_API_KEY)或 Subscription (interactive login)(在 VM 內執行一次 codex login)。 |
| Codex — Require approval to use | (僅限 token 模式。)啟用後,每次偽造→真實的 OpenAI API 金鑰替換都會在金鑰轉發前於主機端顯示同意對話框。預設為關閉。 |
| Grok Build | 為此設定檔啟用或停用 Grok Build(xAI)代理。開啟以進行設定。 |
| Grok Build — Auth | Grok Build 的驗證方式:API token(貼上 XAI_API_KEY——以環境變數注入;proxy 會在向 api.x.ai 發起的請求中將偽造的 xai-brm-… 金鑰換回真實值,因此真實金鑰絕不進入 VM)或 Subscription (interactive login)(在 VM 內執行一次 grok login)。Bedrock 不適用於 Grok Build。 |
| Grok Build — Require approval to use | (僅限 token 模式。)啟用後,每次偽造→真實的 xAI API 金鑰替換都會在金鑰轉發前於主機端顯示同意對話框。預設為關閉。 |
資料夾
要分享到 VM 的 Mac 資料夾。每個資料夾會掛載於 /home/ubuntu/<basename>(例如 ~/Documents → ~ubuntu/Documents)。每個設定檔最多 8 個資料夾。

| 設定 | 說明 |
|---|---|
| 資料夾清單 | 目前分享到 VM 的主機路徑。每一列顯示資料夾名稱及其在您 Mac 上的完整路徑。點擊減號按鈕可移除分享。 |
| 新增資料夾… | 開啟檔案選擇器以選取一個或多個要分享的目錄。當已設定 8 個資料夾時會變為灰色。 |
憑證
在工作階段啟動時注入 VM 的密鑰與身分資料。所有真實值都留在主機;MITM proxy 會在傳輸過程中將其替換為假佔位符,使密鑰絕不進入 VM 的位址空間。

| 設定 | 說明 |
|---|---|
| Git Identity — Name | 寫入 VM 內 ~/.gitconfig 的 user.name。留空則保留 git 的預設值。 |
| Git Identity — Email | 寫入 VM 內 ~/.gitconfig 的 user.email。留空則保留 git 的預設值。 |
| SSH Keys | 管理自動產生的 ed25519 金鑰對(每個設定檔一組)以及任何匯入的私鑰。產生的公鑰會在此顯示,方便貼到 github.com/settings/keys。匯入的金鑰(RSA、ed25519、ecdsa,包含受密碼保護者)會在每次工作階段啟動時載入該設定檔專屬的 bromure ssh-agent;密碼則存放於 macOS Keychain。 |
| SSH Keys — Require approval to use | 啟用後,每次使用此金鑰的 SSH 簽章請求都會在主機端顯示同意對話框。使用者可選擇有時間限制的授權(5 分鐘 / 1 小時 / 本工作階段剩餘時間)或拒絕。預設為關閉。 |
| GitHub Tokens | 用於透過 HTTPS 連線至 github.com 的個人存取權杖。寫入 ~/.git-credentials,gh CLI 會自動取用。真實 token 留在主機;proxy 會在對外請求時換成假值。 |
| GitLab Tokens | 用於透過 HTTPS 連線至 gitlab.com 與自架 GitLab 實例的個人存取權杖。glab CLI 會自動取用。 |
| Bitbucket Tokens | 用於透過 HTTPS 連線至 bitbucket.org 的應用程式密碼。 |
| Kubernetes | 每個叢集 context 一筆項目。Bromure 會在 VM 中產生帶有暫時用戶端憑證的合成 ~/.kube/config;真實憑證留在主機,並由 proxy 在 API-server 請求時替換。Exec-plugin context 會在主機端輪詢,使 kubectl 永遠看到最新的 token。Context 可手動新增或從現有的 kubeconfig 檔案匯入。 |
| DigitalOcean | 來自 cloud.digitalocean.com 的個人存取權杖。會以 DIGITALOCEAN_ACCESS_TOKEN 環境變數及 ~/.config/doctl/config.yaml 形式注入——無需執行 doctl auth init。 |
| AWS | 供 aws CLI 與 SDK 使用的 AWS 憑證。支援靜態金鑰(Access Key ID + Secret Access Key + 選填 Session Token + 預設區域)以及 SSO / Identity Center(從 ~/.aws/config 選擇具名設定檔)。真正的密鑰絕不會抵達 VM——主機的 MITM proxy 會攔截並以真實資料重新簽署 SigV4 請求;若 proxy 被繞過,AWS 會以 InvalidSignatureException 拒絕請求。 |
| AWS — Require approval to use | 啟用後,每次主機端 SigV4 簽章呼叫(每個 AWS API 請求一次)都會顯示同意提示,直到有時間限制的授權涵蓋為止。 |
| Container Registries | 供 docker pull / docker push 使用的各個 registry HTTP Basic 驗證。支援 Docker Hub、GHCR、GitLab Container Registry、Quay 以及任意私有 registry。在 VM 的 ~/.docker/config.json 中會寫入假的 base64("<user>:<derived>");proxy 在傳輸過程中替換為真實值。可透過匯入既有的 ~/.docker/config.json 填入。 |
| Other API keys | 供自動處理範圍以外(Anthropic、OpenAI、GitHub、GitLab、DigitalOcean、Kubernetes)任何 API 的手動 token 替換規則。每筆項目會產生一個新的假值(brm_…),以具名環境變數匯出至 VM 中;proxy 在對外請求至選填的主機時會將其換回真實值。 |
| MongoDB | MongoDB Atlas Data API 端點。每筆項目指定顯示名稱、端點的裸主機名稱、認證類型(API 金鑰、Bearer token 或使用者名稱 + 密碼)以及一個或多個用於在 VM 內匯出假憑證的環境變數名稱。真實密鑰留在主機;proxy 在向指定主機發出的請求時加以替換。此處也可設定每個端點的防護機制模式(Off / Block destructive / Read-only),並在 proxy 中強制執行——deleteOne/deleteMany = 破壞性,find/aggregate = 讀取。 |
| ClickHouse | ClickHouse HTTP 介面端點。每筆項目指定主機、認證類型、環境變數名稱以及選填的防護機制模式。proxy 攔截發往該主機的請求並在傳輸過程中替換真實憑證。防護機制以前導關鍵字分類 SQL:DROP/TRUNCATE/DELETE = 破壞性;INSERT/CREATE = 寫入;SELECT/SHOW = 讀取。 |
| Elasticsearch | Elasticsearch 端點。每筆項目指定主機、認證類型、環境變數名稱以及選填的防護機制模式。防護機制以 HTTP 方法與路徑分類:DELETE 及 _delete_by_query = 破壞性;_search/_count/_msearch = 讀取;_bulk/index/_update = 寫入。 |
環境
透過 proxy.env(由 .bashrc 載入)匯出到 VM 中每個 shell 的純 KEY=VALUE 配對。值會原封不動寫入——不會經過 proxy 替換——因此請勿將密鑰放在此處。適用於非機密的切換項目,例如記錄等級、功能旗標與建置選項。

| 設定 | 說明 |
|---|---|
| 變數清單 | 目前設定的環境變數。每一列具有名稱欄位與值欄位。點擊減號按鈕可移除變數。 |
| 新增變數 | 附加新的空 KEY=VALUE 列。 |
MCP
讓代理可存取外部工具與情境的 Model Context Protocol 伺服器。設定會被轉譯為當前代理所需的格式(Claude Code JSON 或 Codex TOML),並在開機時注入 VM。

| 設定 | 說明 |
|---|---|
| 伺服器清單 | 目前為此設定檔設定的 MCP 伺服器。每個伺服器可獨立開啟或關閉。支援 HTTP 傳輸(以 URL 為基礎的遠端伺服器,附選填 bearer token)與 stdio 傳輸(在 VM 內啟動的本地命令)。 |
| 新增伺服器 | 附加新的 MCP 伺服器項目。 |
追蹤
控制 MITM proxy 為此設定檔記錄流量的方式。較高的層級會將加密的內容檔案寫入磁碟;所有層級皆需手動啟用。記錄的資料可在 App → Trace Inspector(⇧⌘I)中檢視。

| 設定 | 說明 |
|---|---|
| 工作階段追蹤 | proxy 記錄流量的積極程度。Off——不記錄任何內容(預設)。Activity——僅 metadata:主機、狀態、延遲、替換報告、洩漏警告;不含請求或回應內容。AI request details——與 Activity 相同,再加上已知 LLM 主機(Anthropic、OpenAI、Google、Cohere、Mistral、Perplexity、x.ai、Groq、Replicate、HuggingFace)的完整內容。Everything——所有主機的內容;最快耗用磁碟空間(每個工作階段上限 100 MB,總計上限 5 GB)。內容使用與設定檔密鑰相同的 keychain 金鑰以 AES-GCM 加密。 |
| 私密模式 | (僅在註冊到 bromure.io 工作區的 Mac 上顯示。)啟用後,此設定檔的工作階段不會將 metadata(工具、檔案、命令、token 用量)串流至工作區。本地的 trace inspector 不受影響。當您使用不希望管理員看到的個人 API 金鑰時相當實用。 |
| Claude subscription token swap | (僅在 proxy 已就此設定檔提示過之後顯示。)顯示真實的 Claude OAuth tokens 目前是否正被 proxy 替換(Active),或使用者已拒絕替換(Declined)。重設按鈕可讓使用者在下次工作階段時再次被詢問。 |
| Codex subscription token swap | 與上述相同的三狀態替換同意設定,範圍針對 Codex / ChatGPT 的 OAuth tokens(~/.codex/auth.json)。獨立顯示,使同時使用兩種代理的設定檔可分別管理各供應商。 |
防護機制
主機端的政策引擎,會從代理使用的協定中移除破壞性操作。執行發生在主機上的 MITM proxy 內部,因此 VM 中行為異常或遭入侵的代理無法繞過——被封鎖的呼叫會回傳硬性的 403 錯誤,代理會將其視為一般的 API 失敗。 每項資源支援三種模式:Off(不過濾——預設)、Block destructive(封鎖刪除/drop/終止;允許建立與更新),或 Read-only(封鎖所有變更;僅允許讀取)。

| 設定 | 說明 |
|---|---|
| Kubernetes | 此設定檔 kubeconfig 中所設定之 Kubernetes API 伺服器的防護機制模式。以 HTTP 方法為基礎:DELETE = 破壞性(包含 deletecollection);在唯讀模式下封鎖所有寫入。若未設定任何 kubeconfig,會顯示警告。 |
| AWS | 所有 *.amazonaws.com API 的防護機制模式。依動作名稱分類,動作名稱取自 X-Amz-Target 標頭(JSON 協定服務,如 DynamoDB/Lambda)或 Action= 表單參數(查詢協定服務,如 EC2/IAM/SQS);對 S3 與 REST 風格請求則回退至 HTTP 方法。Delete*/Terminate*/Remove*/Purge*/Destroy* = 破壞性;Get*/List*/Describe* = 讀取。 |
| DigitalOcean | api.digitalocean.com 與 *.digitalocean.com 的防護機制模式。以 HTTP 方法為基礎:DELETE = 破壞性;GET/HEAD = 讀取。 |
| Docker registries | 此設定檔 Credentials 中所設定之容器登錄檔的防護機制模式。針對登錄檔主機名稱以 HTTP 方法為基礎:DELETE = 破壞性(標籤/manifest 刪除);GET/HEAD = 讀取(pull);PUT/POST = 寫入(push)。若未設定任何登錄檔,會顯示警告。 |
| GitHub | github.com REST API 與透過 HTTPS 的 git 的防護機制模式。REST 以方法為基礎;git push(git-receive-pack)視為寫入,在唯讀模式下被封鎖;git fetch(git-upload-pack)一律允許。 |
| GitLab | gitlab.com REST API 與透過 HTTPS 的 git 的防護機制模式。分類邏輯與 GitHub 相同。 |
| Bitbucket | bitbucket.org REST API 與透過 HTTPS 的 git 的防護機制模式。分類邏輯與 GitHub 相同。 |
| Databases | 針對 Credentials 下所設定之各 HTTPS 資料庫端點(MongoDB、ClickHouse、Elasticsearch)的個別防護機制模式。此處以個別資料列顯示,每個端點一列。模式與分類規則符合 Credentials 區段中對各引擎的說明。若端點的主機尚未設定,會顯示提示。 |
供應鏈
Bromure 透過主機端的 MITM proxy 掃描每次套件下載(npm、PyPI、Cargo、RubyGems、Maven、NuGet、Go 模組、Packagist),並在代理看到回應之前套用這些政策。VM 中的 .npmrc / pip.conf 只能進一步限制這些設定——無法放寬。可使用每個套件的允許清單進行精確覆寫。所有嚴重性選擇器提供:低及以上、中及以上、高及以上或僅嚴重。

| 設定 | 說明 |
|---|---|
| Age gate — 拒絕比截止時間更新的套件 | 啟用後,阻擋比最小年齡截止時間更新的套件,防禦新發布的惡意版本。預設開啟(最小年齡 2 天)。 |
| Age gate — 最小天數 | 天數截止值(0–90)。浮動參照(latest、semver 範圍)會靜默解析為早於截止時間的最新版本;固定參照至太新版本時會回傳 451 並附帶清晰的 Bromure 錯誤。 |
| Age gate — 豁免套件 | 從 age gate 中豁免的每套件允許清單。格式:npm:axios(帶生態系統限定符)或僅 axios(任何生態系統)。 |
| OSV 弱點檢查 | 啟用後,在 api.osv.dev 查詢套件(免費,無需金鑰),並阻擋達到或超過所選嚴重性的套件。彙整 GitHub Advisory Database、PyPI advisories、Go 資料庫、RubySec 等。預設關閉——傳遞子套件中的低嚴重性 CVE 不應中斷工作流程。 |
| OSV — 阻擋嚴重性 | 已知弱點套件被阻擋的嚴重性閾值。 |
| socket.dev — API 金鑰 | socket.dev API token(來自 socket.dev/dashboard/settings/api-tokens),用於解鎖下方兩項 socket.dev 檢查。僅儲存在主機端——永遠不匯出至 VM;呼叫從主機的 MITM proxy 直接發往 api.socket.dev。輸入金鑰前,下方的開關處於停用狀態。 |
| socket.dev — 阻擋遭入侵的套件 | 啟用後,阻擋 socket.dev 標記為已入侵的套件:惡意安裝指令碼、惡意軟體、typosquat 或可疑遙測數據。 |
| socket.dev — 阻擋含已知 CVE 的套件 | 啟用後,阻擋含已知 CVE 且達到或超過 CVE 阻擋閾值的套件。 |
| socket.dev — CVE 阻擋閾值 | socket.dev CVE 阻擋的嚴重性閾值。除非「阻擋含已知 CVE 的套件」開啟,否則停用。 |
| 安裝指令碼 — 剝除安裝指令碼 | 啟用後,動態從 npm tarball 中剝除 preinstall / install / postinstall / prepare。Bromure 重寫 tarball,從 package.json 中移除指令碼金鑰,並更新登錄檔元資料雜湊,使 npm 對未固定安裝的驗證仍能通過。 |
| 安裝指令碼 — 允許清單 | 允許保留安裝指令碼的套件(binding 編譯器如 better-sqlite3 或 node-canvas 合理地需要它們)。格式:npm:better-sqlite3。 |
| 鎖定檔固定安裝 — 通過前提示 | 啟用後,在不修改地通過鎖定檔固定的 tarball 前提示(npm ci、pip --require-hashes)。這些使用內嵌在鎖定檔中的密碼學完整性雜湊,Bromure 無法在不破壞驗證的情況下重寫,因此批次中第一個鎖定檔固定的下載會彈出主機端對話框(允許一次 / 15 分鐘 / 本次工作階段 / 不允許),整批跟隨該決定。 |
外觀
kitty 終端機視窗的視覺外觀。預設值來自您 macOS Terminal.app 的預設設定檔。

| 設定 | 說明 |
|---|---|
| 字型 | 終端機所使用的字型家族。可從您 Mac 上已安裝的任何字型中選擇。大小以點數透過 stepper 設定。僅提供沒有開頭 . 的字型家族——Linux fontconfig 無法解析的 macOS 內部名稱會被排除。 |
| 游標 | 終端機內的游標形狀:方塊、光束(I-cursor)或底線。 |
| 顏色 — 背景 | 終端機背景顏色,以色彩選擇器色塊顯示。 |
| 顏色 — 文字 | 終端機前景(文字)顏色,以色彩選擇器色塊顯示。 |
| 透明度 | 結合視窗與終端機的透明度,範圍從 30% 到 100%。同時套用為 kitty 的 background_opacity(需要 VM 中有 compositor)以及 macOS 視窗的 alphaValue(永遠有效——可產生穿透至桌面的效果)。預設為 97%。 |
| 合字 | 啟用後,終端機將顯示程式設計連字——<=、== 和 => 等多字元序列會繪製成單一組合字符。預設為停用(除非開啟此選項,否則 kitty 的 disable_ligatures always 會保持啟用)。僅在使用包含連字表的字型(例如 JetBrains Mono 或 Fira Code)時才可見。 |
| 重設為 Terminal.app | 將所有外觀欄位還原為應用程式啟動時從 macOS Terminal.app 預設設定檔讀取的值。 |
資源
設定檔 VM 的儲存層、記憶體與網路設定。

儲存
三層堆疊組成設定檔的環境。底層為共用且不可變;上面兩層為各設定檔專屬,可獨立清除。
| 設定 | 說明 |
|---|---|
| 您的家目錄 | 各設定檔專屬的 /home/ubuntu 目錄——dotfiles、.ssh 金鑰、npm-global、.cargo、shell 歷史以及代理寫入家目錄的任何其他內容。顯示上次活動時間與目前大小。「Erase home…」會清除此層並將家目錄重設為剛複製後的狀態。 |
| 設定檔系統磁碟 | 專為此設定檔複製的基礎 OS 可讀寫副本。包含透過 sudo apt install 安裝的所有內容、對 /etc、/var 與系統層級設定的編輯。「Reset to base…」會捨棄所有系統層級的變更並從目前的基礎映像重新複製。 |
| 基礎 OS 映像 | 共用且不可變的基礎映像:Ubuntu Noble + Claude Code + Codex + kitty + gh + glab + 字型。由每個設定檔共用;執行階段時為唯讀。顯示目前版本戳記與建置日期。透過應用程式選單重新建置(約需 5–10 分鐘)。 |
記憶體
| 設定 | 說明 |
|---|---|
| VM RAM | 配置給此設定檔 VM 的 RAM,以 GB 為單位(2–32 GB,步進值 2)。預設為依主機規模調整的值(記憶體少於 18 GB 的主機 4 GB,最多 36 GB 為 6 GB,更大型機器為 8 GB)。若 Claude / Codex 感覺遲緩或 Rust 建置記憶體不足,請調高此值。 |
網路
| 設定 | 說明 |
|---|---|
| 網路模式 | NAT(預設)——VM 透過 VZ 內建的 NAT 共用您 Mac 的網路連線;對外連線可運作,但您 LAN 上的任何裝置都無法連到 VM。Bridged——VM 透過所選實體介面的 DHCP 取得可在 LAN 路由的 IP 位址。 |
| 介面 | (僅 Bridged 模式。)VM 橋接的實體網路介面。若未設定,預設為第一個可用的橋接介面。 |