簡介
Bromure Agentic Coding 是一款 macOS 應用程式,它在你自己的 Mac 上、以硬體虛擬化的 Linux 機器執行 AI 程式設計代理程式——Claude Code、Codex、Grok、Kimi Code、Oh My Pi,以及一般的 shell 工具——建構於 Apple 的 Virtualization.framework 之上。每個代理程式都有完整且持久的 Ubuntu 開發環境,但你真正的憑證永遠不會進入其中。代理程式送往外界的一切,都會經過主機端的單一閘道。這道閘道負責執行隔離、憑證保護、供應鏈掃描、提示注入偵測、個人資料保護與稽核追蹤,而代理程式無法繞過它。
本手冊說明 Bromure Agentic Coding 5.0.0。應用程式的套件 ID 為 io.bromure.agentic-coding,執行檔為 bromure-ac,選用的命令列工具則安裝為 bromure-cli。需要搭載 Apple Silicon 的 macOS 14(Sonoma)或更新版本。產品詳情、螢幕截圖與下載請見 bromure.io。
什麼是 Bromure Agentic Coding?
程式設計代理程式功能強大,而且在設計上就是自主運作的:它們會讀取檔案、執行 shell 指令、安裝套件,並替你呼叫 API。如果直接在 Mac 上執行,代理程式就會繼承你的 shell 所擁有的一切——你的 SSH 金鑰、~/.aws 憑證、kubeconfig、API 權杖。這時,只要一個惡意相依套件、一個被植入提示注入的網頁,就離這些東西只有一步之遙。
Bromure Agentic Coding 改變了這個交換條件。代理程式在機器中執行:隔離的 Linux VM,每台都有自己的核心、磁碟、MAC 位址與網路。(設定編輯器把機器稱為工作區;兩個詞指的是同一件事。)機器會保留其狀態——複製的儲存庫、套件快取、virtualenv、shell 歷史記錄——因此用起來就像一般的開發機。但它只持有刻意設為無效的假憑證。真正的值加密保存在主機上,並在你同意的前提下,依目的地在傳輸途中換回。
大部分時間你面對的不是機器,而是工作階段。一個工作階段就是與一個代理程式、在一個檔案夾、在一台機器上的一段對話。開啟應用程式時,主視窗會列出你的工作階段,並以聊天形式顯示你選取的那一個:
側邊欄由上到下依序為:
- 搜尋工作階段 依標題與對話內容尋找工作階段。
- 新增工作階段 ⌘N 會開啟新增工作階段畫面,你在其中選擇代理程式、機器與檔案夾,然後輸入想完成的事。
- 工作階段 列出你的對話,依它們需要你做什麼分組:需要你、工作中、就緒、已暫停 與 已完成。總機 列與你的房間位於清單頂端,你收起的工作階段則會進入 已封存 折疊區。
- 任務 與 自動化 會開啟編碼任務與自動化的看板。
- 虛擬機器 預設為收合。其中列出你的機器、終端機格線,以及你所執行的任何 Kubernetes 叢集、登錄庫與訊息連接器。
在螢幕截圖中,「Add Apple Pay to checkout」的代理程式正在工作。聊天以精簡的活動列顯示它到目前為止做了什麼,彙整這一輪的檔案變更(Changed 1 file +4 −1),並在輸入區提供紅色的停止按鈕。工作階段主頁說明這個視窗的每個部分。
適用對象
Bromure Agentic Coding 是為三個彼此重疊的族群打造的:
- 個人開發者:想用真正的憑證——Anthropic、OpenAI、AWS、Kubernetes、GitHub——執行程式設計代理程式,卻不想把這些憑證交給代理程式。代理程式仍然可以部署、推送與佈建;即使工作階段遭入侵,外洩的也只有誘餌。
- 重視安全的團隊:希望代理程式的每個動作都清楚可見:呼叫了哪個模型、執行了哪些工具、動到哪些檔案、跑了哪些指令,以及哪些憑證在哪裡被使用。加密的本機追蹤記錄與安全性時間軸,能在事後回答「代理程式到底做了什麼?」。
- 組織中的平台與安全工程團隊:需要整個機群層級的政策:已註冊的安裝會把工作階段中繼資料傳送到組織的工作區,憑證可以核發給應用程式而不是開發者的 shell,而讓一台機器離開只需在控制平面上執行一個動作。請參閱企業版。
你不需要懂任何虛擬化知識。首次啟動時,一個簡短的精靈會下載預先建置、已簽署的基礎映像檔,提議匯入你已有的憑證,並協助你登入模型供應商。之後,你只要開始一個工作階段,然後和代理程式對話。
兩款姊妹應用程式
Bromure Agentic Coding 與它的姊妹應用程式 Bromure(網頁瀏覽器應用程式,有時稱為 Bromure Web)出自同一個開放原始碼儲存庫。兩者都使用 Apple 的 Virtualization.framework,並共用相同的 VM 與映像檔機制,但對 VM 的存續採取相反的立場:
| Bromure(Web) | Bromure Agentic Coding | |
|---|---|---|
| 用途 | 拋棄式瀏覽工作階段 | 沙箱化的 AI 程式碼代理程式 |
| 客體作業系統 | Ubuntu + Chromium | Ubuntu 24.04 |
| VM 存續期間 | 視窗關閉時銷毀 | 持久——每台機器一個 VM,狀態會保留 |
| 保護對象 | 一切:沒有資料能存續到工作階段之後 | 密鑰表面:真正的憑證絕不進入 VM |
| 套件 ID | io.bromure.app | io.bromure.agentic-coding |
兩種做法各自適合其用途。瀏覽不需要狀態,所以 Bromure Web 會在視窗關閉時銷毀每個 VM。寫程式需要狀態——你明天還會想要你的複製、快取與歷史記錄——所以 Bromure Agentic Coding 讓機器持續存在,改為控制機器能看到與送出什麼。本手冊介紹 Bromure Agentic Coding。只有在兩者交會之處才會提到 Bromure Web;例如,工作階段旁的內嵌瀏覽器所執行的,正是 Bromure Web 使用的那種用完即丟的 Ubuntu + Chromium VM。
單一邊界安全模型
這個產品的核心理念,是所有防護都在同一個地方執行:一個主機端的 MITM 代理伺服器,機器所有對外的網頁流量都會經過它。客體的 HTTPS_PROXY 指向它,而連往 80 與 443 連接埠的對外連線也會在虛擬網路交換器上被導向它,因此即使某個工具忽略代理伺服器變數,仍然會經過它。由於這道邊界位於主機上,VM 內的程式碼——包括完全遭入侵的代理程式——都無法關閉它、繞過它或欺騙它。
在那道邊界上,每個請求都會發生三件事:
- TLS 終結。 代理伺服器使用 Bromure 根 CA 終結機器的 TLS;這是每次安裝在首次啟動時建立的專屬憑證授權單位。其公開憑證會在開機時安裝到每台機器的信任存放區;其私密金鑰永遠不會離開主機。
- 檢查與改寫。 代理伺服器檢查請求並套用政策:同意、掃描、偵測、個人資料替換與追蹤。涉及憑證時,它會把假值換成真值。替換涵蓋 bearer 與
x-api-key標頭、OAuth 登入、完整的 AWS SigV4 重新簽署、Kubernetes 憑證、Docker 登錄庫驗證,以及透過 vsock 上的 ssh-agent 橋接所做的 SSH 簽章。 - 重新加密。 改寫後的請求透過一般的 TLS 連線送往真正的伺服器。
憑證這一端在設計上就很嚴格。機器只會持有字首與長度都擬真的假值——例如 ANTHROPIC_API_KEY=sk-ant-api03-brm-…、一把假的 AWS 秘密金鑰、合成的 kubeconfig 權杖。替換只限於該憑證所註冊的主機:api.anthropic.com 的憑證絕不會被注入到外觀相似的網域。而且設計採取失效即關閉:萬一流量以某種方式繞過了代理伺服器,傳輸途中唯一的憑證也只是一個沒有伺服器會接受的假值(例如 AWS 會回傳 InvalidSignatureException)。真正的值只存在於主機程序中,以 AES-256-GCM 加密,主金鑰則保存在 macOS 資料保護鑰匙圈中。
入侵偵測器補上最後一環。它會掃描每個對外請求,尋找為該機器註冊的任何假權杖。假值若被送往其範圍以外的主機,就是資料外洩企圖的特徵,因此代理伺服器會拒絕替換並提醒你。由於外洩的只有假值,真正的憑證完全不需要輪替。
其他一切也都接在同一道邊界上。套件下載在穿越它時接受掃描,經由它回傳的不受信任內容會被檢查是否含有提示注入,個人資料會在 AI 請求離開之前被替換掉,稽核追蹤記錄穿越它的內容,而 Fusion、模型路由與遠端存取也都在它之上運作。一道邊界,所有控管。
主要功能
以下每項功能都有專屬章節;本節讓你先掌握每一項的大致樣貌。
工作階段、房間與分支
工作階段就是與一個代理程式的對話。你在新增工作階段畫面上選擇代理程式、機器以及它工作的位置——新的空檔案夾、你的某個檔案夾,或要簽出的儲存庫——然後輸入你想要的內容,即可開始。聊天會以易讀的活動列、差異、指令、待辦事項清單、表格與圖表的卡片,以及每一輪變更檔案的摘要來呈現代理程式的工作。當代理程式向你提問時,聊天中會出現提問卡片,工作階段也會移到側邊欄的需要你。請參閱開始一個工作階段與聊天。
當多個工作階段處理同一件事時,可以把它們歸入一個房間:並排顯示即時聊天的格線,搭配一個可以傳送給其中任一個或同時傳給全部的輸入區。請參閱房間。若想嘗試某件事而不動到工作階段的檔案夾,可以在它自己的 git 工作樹上開始一個分支工作階段,以逐行註解檢視其變更,再合併回去。請參閱分支與檢視。
代理程式協同工作,以及總機
代理程式可以彼此交付工作。代理程式可以把一項工作委派給新的子工作階段(在它自己的分支上或另一台機器上)並取得回覆,或透過**@暱稱向既有的工作階段送出請求**。代理程式之間的每則訊息都會經過提示注入篩檢。請參閱代理程式協同工作。
總機是一個掌握所有其他工作階段的工作階段:問它現在的狀況、讓它替正在等待的代理程式回答,或開始新的工作。每個房間都可以有自己的總機,只看得到該房間。訊息連接器讓你在離開 Mac 時,也能透過 Signal、WhatsApp 或 Slack 聯絡總機。請參閱總機與訊息。
隔離
每台機器都是獨立的持久 VM,擁有自己的核心、虛擬磁碟、MAC 位址、網路與代理伺服器監聽器。惡意套件或失控的代理程式程序可能會毀掉這台機器——但也只有這台機器。你的 Mac、其他機器與檔案都不會受到影響,只有你明確分享的檔案夾例外。機器透過 APFS 寫入時複製從已簽署的 Ubuntu 24.04 基礎映像檔建立,因此新機器起初幾乎不佔磁碟空間,而暫停的機器會從其記憶體快照就地恢復。請參閱概念與架構與機器。
憑證保護與同意
真正的憑證永遠不會進入機器;如上所述,代理伺服器會在傳輸途中把假值換成真值。在替換之外,你還可以管控每一次使用:憑證可以要求你依目的地同意,授權帶有時限(5 分鐘、1 小時或工作階段的剩餘時間),也可以限定為唯讀。訂閱(Claude、ChatGPT、Grok 或 Kimi)的登入在主機上進行;代理程式只會看到替代金鑰。請參閱憑證與傳輸邊界。
供應鏈掃描
安裝套件是惡意程式碼進入開發環境最常見的途徑,因此代理伺服器會在擷取套件時就進行檢查。四種機制相互搭配:年齡門檻(剛發佈的新版本會被暫緩)、OSV 弱點查詢、socket.dev 行為分析,以及 Depi。被封鎖的套件永遠不會抵達機器,而當你清楚自己在做什麼時,可以核准例外。請參閱供應鏈防護。
提示注入偵測與防護欄
代理程式從外界讀取的內容——網頁、API 回應、檔案——可能夾帶針對代理程式而非針對你的指令。Bromure Agentic Coding 使用在你 Mac 上執行的兩個本機分類模型 PromptGuard 與 ModernBERT,掃描穿越邊界的不受信任內容。偵測到的內容如何處理由你決定,被標記的文字也由你查看;代理程式則看不到。防護欄會把代理程式對 Kubernetes、AWS、git 代管平台、登錄庫與資料庫的呼叫分類為讀取、寫入與破壞性操作,並可對你選定的那些先行詢問或直接封鎖。請參閱提示注入偵測與防護欄。
沙盒原則、客體沙盒與核心哨兵
每台機器都會選擇一種沙盒引擎。Bromure Firewall 依主機、連接埠、協定,甚至 HTTP 方法來允許或拒絕連線,讓機器可以讀取某個 API,卻不被允許寫入。OpenShell + Sentry 則改為執行一份 NVIDIA OpenShell 政策:除非有規則允許,否則一律拒絕;請求會逐一檢查;在 VM 內,代理程式只能存取政策列出的檔案與程式。核心哨兵從 VM 的核心內部回報每一個程式、每一條連線與每一次拒絕,所以每條連線都能追溯到建立它的提示與工具呼叫。當有東西被擋下時,代理程式會被告知原因並被要求先來問你,而 Sandbox 抽屜讓你一鍵就能允許它。請參閱沙盒原則、客體沙盒與核心哨兵。
個人資料保護
為某台機器開啟後,個人資料保護會在對話離開你的 Mac 之前,把個人資料——姓名、電子郵件地址與電話號碼、卡號、銀行帳號與稅籍編號、身分證件號碼以及地址——換成擬真的替代值,並在模型的回覆中換回真正的值。偵測在你的 Mac 上以內建的 Rampart 模型執行。預設為關閉。請參閱個人資料保護。
追蹤、稽核與安全性時間軸
每個工作階段都可以記錄為加密的追蹤記錄:模型呼叫(模型、權杖、延遲)、工具呼叫、shell 指令、檔案讀寫、憑證使用與聯絡過的網域。追蹤檢查器讓你重播代理程式做過的事。安全性視窗(視窗 › 安全性…)有一個總覽分頁——每個安全引擎在(預設)過去 24 小時內封鎖、允許、代為處理、檢查與替換了什麼,以及每台機器開啟了哪些防護——以及一個列出每項決定的時間軸分頁,可以依機器與期間篩選、匯出為 CSV,或以 OCSF 日誌串流給 SIEM。時間軸事件預設保留 90 天。在已註冊企業版的安裝上,工作階段中繼資料也會透過雙向 TLS 傳送到組織的工作區——絕不包括原始提示或模型回應,也絕不包括機密值。未註冊的安裝不會傳送任何東西,而每台機器的私人模式會完全停止傳送。請參閱追蹤與稽核與安全性總覽與時間軸。
模型與供應商
位於偏好設定 › 模型的全域模型看板,匯集你使用的所有模型來源:Anthropic、OpenAI、xAI、z.ai 與 Moonshot 的登入與 API 金鑰,加上 Amazon Bedrock、OpenRouter、一個自訂伺服器(vLLM、Ollama、LM Studio 或任何與 OpenAI 相容的伺服器),以及用 MLX 在你 Mac 上執行的裝置端模型。對每個代理程式,你可以沿用其供應商的預設模型,或改選其他模型,包括其他供應商的模型。機器可以繼承這些設定,或以自己的設定覆寫。變更會即時套用:只有受影響的代理程式會重新啟動,並從中斷之處接續對話。請參閱模型與供應商。
Fusion
由於每次模型呼叫都會穿越代理伺服器,代理伺服器能做的不只是放行。Fusion 會把一個請求變成一個評審團:多個模型作答,一個評審模型評估這些候選答案,再把一個整合後的答案回傳給代理程式——全在傳輸途中進行,代理程式看不見,也不需要對代理程式做任何設定。請參閱 Fusion。
Kubernetes 叢集與登錄庫
Bromure 可以在你的機器旁、以各自的 VM 執行 k3s Kubernetes 叢集與私人容器登錄庫,並提供儲存、負載平衡、選用的雲端模擬器,以及每台機器的存取控制。代理程式可以透過內建的基礎架構 MCP 伺服器,查看並管理其機器被允許使用的資源。請參閱 Kubernetes 叢集與登錄檔。
遠端存取
你的沙箱可以從任何地方存取:從應用程式、從命令列,或透過 SSH。另一台執行 Bromure Agentic Coding 的 Mac——或執行 Bromure Remote 用戶端的 iPhone、iPad 或 Apple Vision Pro——可以透過 SSH 通道鏡像遠端的執行個體(工作區 › 連接到遠端 Bromure…),連同其工作階段、房間與總機。在鏡像視窗中,偏好設定 可以編輯遠端 Mac 的設定。遠端使用時安全性也不會打折:憑證使用、供應鏈例外、防護欄寫入與提示注入決定的同意提示,都會顯示在連線的主機端,遭入侵的客體既看不到也無法偽造;逾時或關閉提示都視為拒絕。請參閱遠端存取與用戶端。
企業管理
組織以一組六個字的代碼將安裝註冊到 bromure.io 工作區(bromure-cli enroll,或應用程式中的 bromure.io 註冊…)。註冊會給安裝一張雙向 TLS 憑證、啟用由控制平面推送的受管理描述檔,並開始傳送追蹤一節所述的中繼資料。讓機器離開只需在控制平面上執行一個動作,即可撤銷該安裝的憑證。整個機群的供應鏈清冊與權杖用量彙總,是 Bromure Enterprise Manager 企業方案的功能。請參閱企業版。
與其他工具的比較
README 中的比較表(於 2026 年 6 月依各專案的公開文件整理)將同一套威脅模型套用到大家常用的工具上。多數工具只選擇五項控管之一——隔離、讓機密遠離代理程式、限制憑證的使用範圍、供應鏈掃描、提示注入偵測——然後就止步於此。
- Dev Containers(VS Code) 隔離了工具鏈,但容器共用主機的核心,而且設定會把你的 SSH 代理與 git 憑證轉送到代理程式執行的環境中。沒有逐次使用的憑證範圍限制、登錄庫掃描,也沒有注入偵測。
- nono 是核心層級的沙箱:帶核准流程的系統呼叫允許清單、連外過濾器,以及不可竄改的本機稽核記錄。它會封鎖對金鑰檔案的存取並代理部分憑證,但代理程式沒有自己的核心,而套件掃描與注入偵測不在其範圍內。
- agent-vault(octokraft) 以管線把機密傳給程序,讓人無法讀取原始值,並可為每個機密設定時限。但代理程式直接在你的機器上執行——完全沒有隔離邊界。
- Agent Vault(Infisical) 是 HTTP 憑證代理:它在傳輸途中附上憑證,讓代理程式永遠讀不到,並依端點過濾連外流量。然而代理程式執行時沒有任何圍欄,也沒有掃描或偵測。
- Docker Sandboxes(實驗性預覽)在隔離方面最接近:一個擁有自己核心的 microVM,以及一個會注入憑證標頭的主機端代理,讓原始值留在 VM 之外。缺口在於治理:代為處理的憑證會附加到沙箱送出的任何對外請求,因此安裝在其中的惡意套件,可以在從未看見憑證的情況下,把它用在某個被允許的網域上——而且沒有任何東西會在該套件進入時掃描它。
- Capsem 是與網路隔絕的硬體 VM,具備依網域及方法/路徑設定的連外規則,並完整記錄 HTTP 請求本文。但真正的 API 金鑰就存放在 VM 內,而當工作負載是一個可能遭入侵的代理程式時,這正是絕不該發生的事。
比較表中沒有其他工具提供供應鏈掃描或提示注入偵測。Bromure Agentic Coding 在其單一的代理伺服器邊界上執行全部五項控管,並進一步加上掌握傳輸途徑才能實現的功能:個人資料保護、Fusion 模型評審團、跨供應商與你自有硬體的模型路由,以及從應用程式、CLI 或 SSH 的遠端存取。
比較資料很快就會過時。更詳細、最新的比較表請見 bromure.io/zh-TW/feature-matrix;若關於其他工具的某一列已經過時,README 歡迎你以 issue 提出更正。
系統需求一覽
| 需求 | 細節 |
|---|---|
| macOS | 14(Sonoma)或更新版本 |
| 硬體 | Apple Silicon(M1 或更新)。沒有 Intel 版本——Virtualization.framework 只支援 Apple Silicon 上的 ARM64 客體。 |
| 磁碟 | Ubuntu 基礎映像檔是一個 24 GB 的稀疏磁碟,實際約佔 6–8 GB;每台機器會增加一個隨使用而增長的寫入時複製副本。 |
| 網路 | 首次啟動時會從 dl.bromure.io 下載預先建置、已簽署的基礎映像檔。若無法下載,應用程式可以改為在本機建置映像檔(約 10 分鐘)。 |
| 專有代理程式 | Claude Code、Codex、Grok、Kimi Code、Oh My Pi 與 Google Cloud SDK 不能隨可再散佈的映像檔一起發佈。它們會以已簽署的設定步驟,安裝在你的 Mac 上、你的映像檔副本中。執行首次設定即代表你同意基準步驟;之後發佈的步驟會請求核准。 |
逐步說明請見安裝與首次執行。
授權與著作
Bromure 儲存庫以 MIT 授權開源(Copyright 2026 Renaud Deraison),且可自由使用。著作歸功於 Renaud Deraison(提示撰寫)與 Claude + Opus 4.7(實作)。
這兩個應用程式都是開放原始碼,但企業功能——註冊、受管理描述檔、雲端事件串流與 Bromure Enterprise Manager——仰賴位於 bromure.io 的託管控制平面,而那是一項商業服務。單一使用者的使用體驗完全不依賴它:未註冊的安裝不會把任何東西傳送到任何地方,而每一項安全功能都完全在你的 Mac 上運作。
取得協助
- bromure.io——產品文件、螢幕截圖、下載、技術白皮書,以及詳盡的功能矩陣。
- GitHub issue——錯誤回報、功能請求與比較表的更正,請提交到專案的 GitHub 儲存庫(可從 bromure.io 連過去)。
- 本手冊——疑難排解彙整了診斷程序與已知問題;詞彙表則定義了這些章節中使用的每個術語。
本手冊的組織架構
初次使用者可以從頭到尾閱讀本手冊;之後再把它當成參考資料:
- 入門——安裝與首次執行介紹應用程式的安裝與引導精靈;快速入門帶你從精靈走到完成一項任務;概念與架構說明工作階段、機器、房間與分支,以及主機、客體與代理伺服器如何搭配運作。
- 日常使用——工作階段主頁、開始一個工作階段、聊天、房間、分支與檢視、代理程式協同工作、總機與訊息、機器、內嵌瀏覽器、自動化與編碼任務涵蓋你每天要做的事。
- 設定參考——設定參考逐一記錄設定編輯器與偏好設定的每個窗格,一個窗格一頁。
- 安全性與傳輸邊界——憑證、供應鏈防護、提示注入偵測與防護欄、個人資料保護、追蹤與稽核與安全性總覽與時間軸完整說明每一項防護。
- 模型與基礎架構——Fusion、模型與供應商與 Kubernetes 叢集與登錄檔。
- 超越單一 Mac——遠端存取與用戶端涵蓋鏡像、行動裝置與 visionOS 用戶端、CLI 與 SSH;企業版涵蓋註冊、機群管理與雲端事件串流。
- 參考資料——CLI、API 與 MCP、進階、疑難排解、詞彙表與附錄。
接下來請閱讀安裝與首次執行。