openclaw approvals
管理本機主機、閘道主機或節點主機的 exec 核准。沒有目標旗標時,命令會讀寫磁碟上的本機核准檔案。使用 --gateway 以閘道為目標,或使用 --node <id|name|ip> 以特定節點為目標。
別名:openclaw exec-approvals
相關:Exec 核准、節點
openclaw exec-policy
openclaw exec-policy 是僅限本機的便利命令,可在一個步驟中讓要求的 tools.exec.* 設定與本機主機核准檔案保持同步:
yolo、cautious、deny-all)會一併套用 host、security、ask 和 askFallback。set 只會套用你傳入的旗標;每個可接受值都會經過驗證(--host auto|sandbox|gateway|node、--security deny|allowlist|full、--ask off|on-miss|always、--ask-fallback deny|allowlist|full)。
範圍:
- 同時更新本機設定檔和本機核准檔;不會將政策推送到閘道或節點主機。
--host node會被拒絕:節點 exec 核准會在執行階段從節點擷取,因此本機exec-policy無法同步它們。請改用openclaw approvals set --node <id|name|ip>。exec-policy show會將host=node範圍標記為執行階段由節點管理,而不是從本機核准檔推導有效政策。
openclaw approvals set --gateway 或 openclaw approvals set --node <id|name|ip>。
常用命令
get 會顯示目標的有效 exec 政策:要求的 tools.exec 政策、主機核准檔政策,以及合併後的有效結果。
優先順序:
- 主機核准檔是可強制執行的事實來源。
- 要求的
tools.exec政策可以縮小或擴大意圖,但有效結果會從主機規則推導。 --node會將節點主機核准檔與閘道tools.exec政策結合(兩者都會在執行階段套用)。- 如果閘道設定無法使用,命令列介面會退回使用節點核准快照,並註明無法計算最終執行階段政策。
從檔案取代核准
set 接受 JSON5,不只接受嚴格 JSON。請使用 --file 或 --stdin 其中之一,不要同時使用。
##「永不提示」/ YOLO 範例
將主機核准預設值設為 full + off,用於不應因 exec 核准而停止的主機:
openclaw approvals set --node <id|name|ip> --stdin。
這只會變更主機核准檔。若要讓要求的 OpenClaw 政策保持一致,也請設定:
tools.exec.host=gateway,因為 host=auto 仍表示「有沙盒時使用沙盒,否則使用閘道」:YOLO 是關於核准,而不是路由。當你即使已設定沙盒也想使用主機 exec 時,請使用 gateway(或 /exec host=gateway)。
省略的 askFallback 預設為 deny。升級不應提示的無 UI 主機時,請明確設定 askFallback: "full",以保留永不提示行為。
相同意圖的本機捷徑,僅適用於本機:
allowlist 輔助工具
常用選項
get、set 和 allowlist add|remove 都支援:
--node <id|name|ip>(解析 id、名稱、IP 或 id 前綴;與openclaw nodes使用相同解析器)--gateway- 共用節點 RPC 選項:
--url、--token、--timeout、--json
allowlist add|remove 也支援 --agent <id>(預設為 "*",套用到所有代理程式)。
備註
- 節點主機必須公告
system.execApprovals.get/set(macOS app 或 headless 節點主機)。 - 核准檔會依主機儲存在 OpenClaw 狀態目錄中:
$OPENCLAW_STATE_DIR/exec-approvals.json,或在未設定該變數時使用~/.openclaw/exec-approvals.json。