Skip to main content
預設情況下,Buttress 伺服器以公開模式執行 — 區域網路上任何客戶端皆可連線、無需認證。繫結伺服器會將其與單一 BRICKS 工作區配對,並切換至「所有 WebSocket 與檔案傳輸請求皆須攜帶有效工作區 JWT」的模式。 繫結為單向配對:一台 Buttress 伺服器一次只能屬於一個工作區。已繫結的伺服器會以 WebSocket close code 1008 拒絕未認證的連線。

前置需求

  • 已於本機安裝 Buttress 伺服器(請參閱安裝
  • 已安裝 BRICKS CLI
  • 已登入工作區:bricks auth login <passcode>

繫結伺服器

於執行 Buttress 伺服器的同一台機器執行繫結指令。CLI 會自動偵測本機的 server id,並寫入伺服器啟動時讀取的小型 state.json
如要覆寫自動偵測的 id、為伺服器指定友善名稱,或將 state 檔寫到非預設位置:
非互動式或遠端設定可將 state JSON 輸出至 stdout 後自行寫入:
繫結後請重新啟動 Buttress 伺服器。state 檔案僅在啟動時讀取一次 — 若未重新啟動,伺服器會持續以公開模式執行。

寫入內容

預設情況下 state 檔案位於 ~/.bricks-cli/buttress/state.json。可透過 --state-dir <path> 覆寫目錄。
  • workspace.issuerPublicKey 為您工作區的 Ed25519 公鑰,伺服器會以此驗證每個進入的 access token。
  • serverKeyPair 是每次 bind 時於本機產生的伺服器專屬 Ed25519 通告金鑰對。公鑰會登錄至雲端(讓 launcher 能驗證簽署過的 UDP 探索封包),私鑰則保留在本機;簽署過的通告詳見區域網路自動探索
請將 state.json 視為機密。serverKeyPair.privateKeyPkcs8 欄位讓任何讀取者都能以此伺服器身分簽署 UDP 通告。bricks buttress bind --print 將 JSON 輸出至 stdout 時也會在 stderr 提出相同警告。
重新執行 bricks buttress bind 會產生新的通告金鑰對並輪替已登錄的公鑰。任何指向舊金鑰的 launcher 快取會停止信任該伺服器,直到從雲端取得新金鑰為止。

檢視繫結

bricks buttress status 會列印本機 state 檔案以及工作區端的繫結伺服器清單。
加上 --json 取得機器可讀格式:
JSON 結構為 { "local": <state.json 或 null>, "remote": <[{ serverId, name, boundAt, lastSeenAt }, …]> }

解除繫結

移除繫結會清除工作區對該伺服器的紀錄刪除本機 state 檔案。
僅撤銷伺服器端、保留本機 state 檔案:
解除繫結後請重新啟動 Buttress 伺服器以回到公開模式。

核發長期 access token

Foundation launcher 會自動透過 BRICKS 雲端取得短期 token。對於非互動式呼叫端 — CI 指令碼、CTOR 代理、ACP bridge — 可一次核發長期 access token 以供重複使用。
CLI 會輸出 JWT 與其到期時間。可將其作為 Authorization: Bearer <token> 標頭傳送,或附加於 WebSocket URL 的 ?access_token=<token>
核發的 token 與您的 CLI session token 綁定。撤銷 CLI 工作區 token 將使該 session 核發的所有 Buttress access token 一併失效。

疑難排解

下一步

區域網路自動探索

Foundation 裝置如何於區域網路找到已繫結的伺服器。

從 Foundation 使用

於各 LLM/STT brick 設定卸載行為。