CLI commands
Genehmigungen
openclaw approvals
Verwalten Sie Exec-Genehmigungen für den lokalen Host, den Gateway-Host oder einen Node-Host.
Standardmäßig richten sich Befehle an die lokale Genehmigungsdatei auf dem Datenträger. Verwenden Sie --gateway, um den Gateway anzusteuern, oder --node, um einen bestimmten Node anzusteuern.
Alias: openclaw exec-approvals
Verwandt:
- Exec-Genehmigungen: Exec-Genehmigungen
- Nodes: Nodes
openclaw exec-policy
openclaw exec-policy ist der lokale Komfortbefehl, um die angeforderte
tools.exec.*-Konfiguration und die Genehmigungsdatei des lokalen Hosts in einem Schritt synchron zu halten.
Verwenden Sie ihn, wenn Sie Folgendes möchten:
- die lokal angeforderte Richtlinie, die Host-Genehmigungsdatei und die effektive Zusammenführung prüfen
- ein lokales Preset wie YOLO oder deny-all anwenden
- lokale
tools.exec.*-Werte und die Genehmigungsdatei des lokalen Hosts synchronisieren
Beispiele:
openclaw exec-policy showopenclaw exec-policy show --json openclaw exec-policy preset yoloopenclaw exec-policy preset cautious --json openclaw exec-policy set --host gateway --security full --ask off --ask-fallback fullAusgabemodi:
- kein
--json: gibt die menschenlesbare Tabellenansicht aus --json: gibt maschinenlesbare strukturierte Ausgabe aus
Aktueller Geltungsbereich:
exec-policyist nur lokal- aktualisiert die lokale Konfigurationsdatei und die lokale Genehmigungsdatei gemeinsam
- überträgt die Richtlinie nicht an den Gateway-Host oder einen Node-Host
--host nodewird in diesem Befehl abgelehnt, weil Node-Exec-Genehmigungen zur Laufzeit vom Node abgerufen werden und stattdessen über Node-spezifische Genehmigungsbefehle verwaltet werden müssenopenclaw exec-policy showmarkierthost=node-Geltungsbereiche zur Laufzeit als Node-verwaltet, statt eine effektive Richtlinie aus der lokalen Genehmigungsdatei abzuleiten
Wenn Sie Genehmigungen für entfernte Hosts direkt bearbeiten müssen, verwenden Sie weiterhin openclaw approvals set --gateway
oder openclaw approvals set --node <id|name|ip>.
Häufige Befehle
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayopenclaw approvals get zeigt jetzt die effektive Exec-Richtlinie für lokale, Gateway- und Node-Ziele an:
- angeforderte
tools.exec-Richtlinie - Richtlinie der Host-Genehmigungsdatei
- effektives Ergebnis nach Anwendung der Vorrangregeln
Der Vorrang ist beabsichtigt:
- die Host-Genehmigungsdatei ist die durchsetzbare Quelle der Wahrheit
- die angeforderte
tools.exec-Richtlinie kann die Absicht einschränken oder erweitern, aber das effektive Ergebnis wird weiterhin aus den Host-Regeln abgeleitet --nodekombiniert die Genehmigungsdatei des Node-Hosts mit der Gateway-tools.exec-Richtlinie, weil beide zur Laufzeit weiterhin gelten- wenn die Gateway-Konfiguration nicht verfügbar ist, fällt die CLI auf den Node-Genehmigungs-Snapshot zurück und merkt an, dass die endgültige Laufzeitrichtlinie nicht berechnet werden konnte
Genehmigungen aus einer Datei ersetzen
openclaw approvals set --file ./exec-approvals.jsonopenclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" } }EOFopenclaw approvals set --node <id|name|ip> --file ./exec-approvals.jsonopenclaw approvals set --gateway --file ./exec-approvals.jsonset akzeptiert JSON5, nicht nur striktes JSON. Verwenden Sie entweder --file oder --stdin, nicht beides.
Beispiel für „Nie nachfragen“ / YOLO
Für einen Host, der nie wegen Exec-Genehmigungen anhalten soll, setzen Sie die Standardwerte der Host-Genehmigungen auf full + off:
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFNode-Variante:
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFDies ändert nur die Host-Genehmigungsdatei. Um die angeforderte OpenClaw-Richtlinie synchron zu halten, setzen Sie außerdem:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offWarum tools.exec.host=gateway in diesem Beispiel:
host=autobedeutet weiterhin „Sandbox, wenn verfügbar, andernfalls Gateway“.- Bei YOLO geht es um Genehmigungen, nicht um Routing.
- Wenn Sie Host-Exec auch dann verwenden möchten, wenn eine Sandbox konfiguriert ist, machen Sie die Host-Auswahl mit
gatewayoder/exec host=gatewayexplizit.
Ein ausgelassenes askFallback verwendet standardmäßig deny. Setzen Sie askFallback: "full"
explizit, wenn Sie einen Host ohne UI aktualisieren, der das Verhalten „nie nachfragen“ beibehalten soll.
Lokale Abkürzung:
openclaw exec-policy preset yoloDiese lokale Abkürzung aktualisiert sowohl die angeforderte lokale tools.exec.*-Konfiguration als auch die
lokalen Genehmigungsstandardwerte gemeinsam. Sie entspricht in der Absicht der manuellen zweistufigen
Einrichtung oben, gilt aber nur für den lokalen Computer.
Allowlist-Hilfsbefehle
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"Häufige Optionen
get, set und allowlist add|remove unterstützen alle:
--node <id|name|ip>--gateway- gemeinsame Node-RPC-Optionen:
--url,--token,--timeout,--json
Hinweise zur Zielauswahl:
- keine Ziel-Flags bedeuten die lokale Genehmigungsdatei auf dem Datenträger
--gatewayrichtet sich an die Genehmigungsdatei des Gateway-Hosts--noderichtet sich nach Auflösung von ID, Name, IP oder ID-Präfix an einen Node-Host
allowlist add|remove unterstützt außerdem:
--agent <id>(standardmäßig*)
Hinweise
--nodeverwendet denselben Resolver wieopenclaw nodes(ID, Name, IP oder ID-Präfix).--agentist standardmäßig"*", was für alle Agenten gilt.- Der Node-Host muss
system.execApprovals.get/setankündigen (macOS-App oder Headless-Node-Host). - Genehmigungsdateien werden pro Host im OpenClaw-State-Verzeichnis gespeichert
(
$OPENCLAW_STATE_DIR/exec-approvals.jsonoder~/.openclaw/exec-approvals.json, wenn die Variable nicht gesetzt ist).