跳到內容

設定護欄

本指南說明如何設定護欄:決定代理動作要執行、先要求核准,還是直接拒絕的規則。

護欄涵蓋每個會變更狀態的工具所宣告的十三種效果類別。它們在伺服器端、於工具被呼叫的那一刻強制執行,絕不會倚賴提示中的指示。

  1. 前往 設定 → 工作區 → 代理權限
  2. 用分段控制項選擇範圍:工作區、代理(接著選擇代理),或空間(接著選擇空間)
  3. 在動作類別那一列,選擇允許、先詢問或拒絕
  4. 若要移除你設下的規則,請按該列末端出現的重設按鈕(還原為繼承)——決策會退回較廣的範圍

每一列都會以狀態標籤顯示生效的決策,並以徽章顯示它的來源:此範圍、繼承或內建預設。這份矩陣是在 Agent(chat)模式下解析的,因此這裡永遠不會出現模式預設——若要看那一層,請選取唯讀模式後使用假設情境探測器。

撰寫規則需要 admin 角色。讀取矩陣則不需要。

檢查點:在工作區範圍把推送到遠端設為拒絕,然後對 git push origin main 執行下方的假設情境探測器。結果會顯示 deny,來源為 workspace。

解析順序是先比具體性,再比限制性:

  1. 先看空間規則,再看代理,最後是工作區。第一個有相符規則的範圍作出決定,解析隨即停止
  2. 若沒有規則相符,就套用模式預設——唯讀模式(plan、review、orchestrate)會拒絕十三種類別中的十一種
  3. 若模式沒有任何意見,就套用內建預設

在同一個範圍內,命令規則以最長相符前綴解析,而具體程度相同的衝突則以最嚴格者為準——拒絕勝過先詢問,先詢問勝過允許。一個動作若宣告多個類別,會各自獨立解析,再以最嚴格者合併。

先詢問的決策會跳出一個核准提示,涵蓋所有解析為 prompt 的類別。在沒有連接任何核准者的情況下,一律拒絕,shell 命令與執行環境工具呼叫皆然。這是刻意的:一次未設閘門的執行,比一次被拒絕的執行更糟。

動作類別 內建預設
刪除檔案 先詢問
寫入工作樹以外 允許
建立提交 允許
推送到遠端 先詢問
開啟 pull request 先詢問
發佈審查或合併 先詢問
寫入外部追蹤器 先詢問
存取網路 允許
讀取密鑰 允許
安裝套件 允許
執行程序 允許
變更工作區結構 允許
操控 enclosure(rig) 允許

這套分類法是封閉的。新工具若未宣告其類別就出貨,會在 CI 的棘輪測試中失敗,因此不會有任何東西帶著悄然為空的效果集合出現。

在變更規則之前,先查看目前政策已經如何解析它。

  1. 在同一頁面中,捲到 會怎樣?
  2. 選擇一個動作(十三種類別之一)
  3. 可視需要填入指令(例如 git push origin main)、代理、空間與模式
  4. 讀取結果:決策、原因,以及來源:

探測器會針對你目前的實際規則,執行與強制執行路徑相同的解析器,因此答案精確無誤。如果結果令你意外,請在上方的矩陣中變更規則,然後再探測一次。

這個旋鈕是每個代理在每個空間各一組,而且會與規則疊加,而不是取代規則。

  1. 開啟該空間
  2. 從空間標頭開啟管理參與者
  3. 在代理那一列的自主程度底下,選擇一個層級:
層級 效果
預設 沒有空間設定——行為等同經核准後行動
僅提出建議 每個受閘控的工具都直接拒絕,並以訊息告知代理改為提出這項動作
經核准後行動 有風險的動作會落入失效即拒絕的核准關卡
自由行動 預先核准任何未解析為硬性拒絕的動作

這個旋鈕只觸及內建執行環境。Claude Code 配接器會在這個閘門之外執行它自己的工具。

同一頁面底部的規則套用位置表格,就是這件事的應用程式內版本:它會針對每個效果類別,說明各個執行器是在政策閘門攔截它、交給沙箱處理,還是根本無法攔截。

  • Claude Code 配接器自身的工具呼叫只有一部分受閘控。Claude Code 是以 --dangerously-skip-permissions 啟動,因此它的讀取、寫入與編輯呼叫永遠不會通過這道防護。它的 bash 命令會經由一個將命令列分類的鉤子抵達防護,它的推送也和所有代理一樣經過推送閘道。它回呼的 MCP 工具介面,以及 Control Center 為了啟動它而生成的 shell 命令,同樣設有閘門。
  • 模式自身的輸出動詞(submit_plan、propose_orchestration)是固定的,永遠無法被拒絕——否則模式在結構上就無法產出它唯一的交付成果。
  • 沙箱是否為這些規則提供後盾,取決於主機。 當 cc_server 找到後端時,它會包裝 Claude Code CLI 與執行環境的 bash 工具,因此即使規則不是你寫的,底下仍有作業系統下限。在 Windows 上完全沒有下限,而在缺少 bwrap 與 socat 的 Linux 或 WSL2 上也沒有——在那些環境裡,護欄加上模式的工具介面就是全部的強制執行,而不是第二道防線。請用設定沙箱原則確認你屬於哪一種情況。