跳到內容

如何使用 openclaw approvals 管理執行審批

每次要在遠端執行指令,最怕的就是權限控管變得很混亂。你可能遇過要在好幾台機器之間切換,手動修改設定檔,結果最後連哪台主機開了什麼權限都記不得。這種重複性的手動操作不僅浪費時間,還很容易出錯,讓開發流程變得卡卡的。

如果你正在尋找一種更直覺的方法來統一管理這些執行審批(Exec approvals),這篇指南會告訴你如何利用 openclaw approvals 輕鬆搞定 local host、gateway 或是各個 node 的權限設定。

在開始之前,請確保你符合以下條件:

  • Node host 必須支援 system.execApprovals.get/set(例如 macOS App 或 headless node host)
  • 了解你的 Node ID、名稱或 IP(如果你需要操作遠端 Node)

openclaw approvals 預設會操作你本地磁碟上的審批檔案。如果你想針對 Gateway 或特定的 Node,只需要加上 --gateway 或 --node 參數即可。

你可以隨時抓取目前的審批列表,看看哪些指令是被允許的。

Terminal window
# 查看本地審批
openclaw approvals get
# 查看特定 Node 的審批
openclaw approvals get --node <id|name|ip>
# 查看 Gateway 的審批
openclaw approvals get --gateway

如果你已經準備好一份 JSON 設定檔,可以直接覆蓋目標主機的設定。

Terminal window
# 更新本地審批
openclaw approvals set --file ./exec-approvals.json
# 更新特定 Node 的審批
openclaw approvals set --node <id|name|ip> --file ./exec-approvals.json

這是最常用的功能,你可以快速新增或移除允許執行的路徑。

Terminal window
# 新增一個路徑到白名單
openclaw approvals allowlist add "~/Projects/**/bin/rg"
# 針對特定 Node 與 Agent 新增指令
openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"
# 移除白名單路徑
openclaw approvals allowlist remove "~/Projects/**/bin/rg"

小提示:

  • --node 參數支援 ID、名稱、IP 或 ID 前綴。
  • --agent 預設為 "*",代表套用到所有 agents。
  • 審批檔案預設儲存在各主機的 ~/.openclaw/exec-approvals.json。

找不到 system.execApprovals.get/set 權限? 請檢查你的 Node host 是否為支援的 macOS App 或 headless 版本。如果 Node 沒有宣告這些功能,你將無法透過 CLI 遠端讀取或寫入審批設定。

無法識別 Node ID? openclaw approvals 使用與 openclaw nodes 相同的解析邏輯。請確認你的 ID 或名稱是否正確,或者嘗試使用 IP 地址直接指定。

如果你在設定過程中有任何疑問,可以詢問 AI Setup Assistant 獲取即時協助。

OpenClaw

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。