メインコンテンツへスキップ

openclaw approvals

ローカルホストGatewayホスト、またはnodeホストのexec承認を管理します。 デフォルトでは、コマンドはディスク上のローカル承認ファイルを対象にします。Gatewayを対象にするには--gatewayを、特定のnodeを対象にするには--nodeを使用します。 エイリアス: openclaw exec-approvals 関連:

一般的なコマンド

openclaw approvals get
openclaw approvals get --node <id|name|ip>
openclaw approvals get --gateway
openclaw approvals getは、ローカル、Gateway、nodeターゲットの有効なexecポリシーを表示するようになりました。
  • 要求されたtools.execポリシー
  • ホスト承認ファイルのポリシー
  • 優先順位ルール適用後の有効結果
優先順位は意図的なものです。
  • ホスト承認ファイルは、強制可能な信頼できる唯一の情報源です
  • 要求されたtools.execポリシーは意図を狭めたり広げたりできますが、有効結果は依然としてホストルールから導出されます
  • --nodeはnodeホストの承認ファイルとGatewayのtools.execポリシーを組み合わせます。実行時にはその両方が引き続き適用されるためです
  • Gateway configが利用できない場合、CLIはnode承認スナップショットにフォールバックし、最終的な実行時ポリシーを計算できなかったことを注記します

ファイルから承認を置き換える

openclaw approvals set --file ./exec-approvals.json
openclaw approvals set --stdin <<'EOF'
{ version: 1, defaults: { security: "full", ask: "off" } }
EOF
openclaw approvals set --node <id|name|ip> --file ./exec-approvals.json
openclaw approvals set --gateway --file ./exec-approvals.json
setは厳密なJSONだけでなくJSON5も受け付けます。--fileまたは--stdinのどちらかを使ってください。両方は使用できません。

「確認を一切出さない」 / YOLOの例

exec承認で停止させたくないホストでは、ホスト承認のデフォルトをfull + offに設定します。
openclaw approvals set --stdin <<'EOF'
{
  version: 1,
  defaults: {
    security: "full",
    ask: "off",
    askFallback: "full"
  }
}
EOF
node版:
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'
{
  version: 1,
  defaults: {
    security: "full",
    ask: "off",
    askFallback: "full"
  }
}
EOF
これで変更されるのはホスト承認ファイルのみです。要求されるOpenClawポリシーも揃えるには、次も設定してください。
openclaw config set tools.exec.host gateway
openclaw config set tools.exec.security full
openclaw config set tools.exec.ask off
この例でtools.exec.host=gatewayとする理由:
  • host=autoは引き続き「sandboxが使える場合はsandbox、それ以外はGateway」を意味します。
  • YOLOはルーティングではなく承認に関するものです。
  • sandboxが設定されている場合でもホストexecを使いたいなら、gatewayまたは/exec host=gatewayでホスト選択を明示してください。
これは現在のホストデフォルトYOLO動作に一致します。承認を厳しくしたい場合は、より制限してください。

allowlistヘルパー

openclaw approvals allowlist add "~/Projects/**/bin/rg"
openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"
openclaw approvals allowlist add --agent "*" "/usr/bin/uname"

openclaw approvals allowlist remove "~/Projects/**/bin/rg"

一般的なオプション

getsetallowlist add|removeはすべて次をサポートします。
  • --node <id|name|ip>
  • --gateway
  • 共通のnode RPCオプション: --url, --token, --timeout, --json
ターゲット指定に関する注記:
  • ターゲットフラグなしの場合は、ディスク上のローカル承認ファイルが対象です
  • --gatewayはGatewayホスト承認ファイルを対象にします
  • --nodeは、id、name、IP、またはidプレフィックスを解決した後、そのnodeホストを対象にします
allowlist add|removeは次もサポートします。
  • --agent <id>(デフォルトは*

注記

  • --nodeopenclaw nodesと同じリゾルバーを使用します(id、name、ip、またはidプレフィックス)。
  • --agentのデフォルトは"*"で、すべてのagentに適用されます。
  • nodeホストはsystem.execApprovals.get/setを通知する必要があります(macOSアプリまたはヘッドレスnodeホスト)。
  • 承認ファイルはホストごとに~/.openclaw/exec-approvals.jsonへ保存されます。