CLI commands
Persetujuan
openclaw approvals
Kelola persetujuan exec untuk host lokal, host Gateway, atau host Node.
Secara default, perintah menargetkan file persetujuan lokal di disk. Gunakan --gateway untuk menargetkan Gateway, atau --node untuk menargetkan Node tertentu.
Alias: openclaw exec-approvals
Terkait:
- Persetujuan exec: Persetujuan exec
- Node: Node
openclaw exec-policy
openclaw exec-policy adalah perintah kemudahan lokal untuk menjaga konfigurasi
tools.exec.* yang diminta dan file persetujuan host lokal tetap selaras dalam satu langkah.
Gunakan saat Anda ingin:
- memeriksa kebijakan lokal yang diminta, file persetujuan host, dan penggabungan efektif
- menerapkan preset lokal seperti YOLO atau tolak-semua
- menyinkronkan
tools.exec.*lokal dan file persetujuan host lokal
Contoh:
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 fullMode output:
- tanpa
--json: mencetak tampilan tabel yang dapat dibaca manusia --json: mencetak output terstruktur yang dapat dibaca mesin
Cakupan saat ini:
exec-policyhanya lokal- perintah ini memperbarui file konfigurasi lokal dan file persetujuan lokal secara bersamaan
- perintah ini tidak mendorong kebijakan ke host Gateway atau host Node
--host nodeditolak dalam perintah ini karena persetujuan exec Node diambil dari Node saat runtime dan harus dikelola melalui perintah persetujuan yang menargetkan Nodeopenclaw exec-policy showmenandai cakupanhost=nodesebagai dikelola Node saat runtime, bukan menurunkan kebijakan efektif dari file persetujuan lokal
Jika Anda perlu mengedit persetujuan host jarak jauh secara langsung, tetap gunakan openclaw approvals set --gateway
atau openclaw approvals set --node <id|name|ip>.
Perintah umum
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayopenclaw approvals get kini menampilkan kebijakan exec efektif untuk target lokal, Gateway, dan Node:
- kebijakan
tools.execyang diminta - kebijakan file persetujuan host
- hasil efektif setelah aturan presedensi diterapkan
Presedensi ini disengaja:
- file persetujuan host adalah sumber kebenaran yang dapat ditegakkan
- kebijakan
tools.execyang diminta dapat mempersempit atau memperluas maksud, tetapi hasil efektif tetap diturunkan dari aturan host --nodemenggabungkan file persetujuan host Node dengan kebijakantools.execGateway, karena keduanya tetap berlaku saat runtime- jika konfigurasi Gateway tidak tersedia, CLI kembali ke snapshot persetujuan Node dan mencatat bahwa kebijakan runtime akhir tidak dapat dihitung
Ganti persetujuan dari file
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 menerima JSON5, bukan hanya JSON ketat. Gunakan salah satu dari --file atau --stdin, bukan keduanya.
Contoh "Jangan pernah minta konfirmasi" / YOLO
Untuk host yang tidak boleh pernah berhenti pada persetujuan exec, atur default persetujuan host ke full + off:
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFVarian Node:
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFIni hanya mengubah file persetujuan host. Untuk menjaga kebijakan OpenClaw yang diminta tetap selaras, atur juga:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offMengapa tools.exec.host=gateway dalam contoh ini:
host=autotetap berarti "sandbox jika tersedia, jika tidak Gateway".- YOLO berkaitan dengan persetujuan, bukan perutean.
- Jika Anda menginginkan exec host bahkan ketika sandbox dikonfigurasi, buat pilihan host eksplisit dengan
gatewayatau/exec host=gateway.
askFallback yang dihilangkan default-nya adalah deny. Atur askFallback: "full"
secara eksplisit saat memutakhirkan host tanpa UI yang harus mempertahankan perilaku tanpa permintaan konfirmasi.
Pintasan lokal:
openclaw exec-policy preset yoloPintasan lokal itu memperbarui konfigurasi tools.exec.* lokal yang diminta dan default
persetujuan lokal secara bersamaan. Maksudnya setara dengan penyiapan manual dua langkah
di atas, tetapi hanya untuk mesin lokal.
Pembantu daftar izinkan
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"Opsi umum
get, set, dan allowlist add|remove semuanya mendukung:
--node <id|name|ip>--gateway- opsi RPC Node bersama:
--url,--token,--timeout,--json
Catatan penargetan:
- tanpa flag target berarti file persetujuan lokal di disk
--gatewaymenargetkan file persetujuan host Gateway--nodemenargetkan satu host Node setelah menyelesaikan id, nama, IP, atau prefiks id
allowlist add|remove juga mendukung:
--agent <id>(default ke*)
Catatan
--nodemenggunakan resolver yang sama denganopenclaw nodes(id, nama, ip, atau prefiks id).--agentdefault ke"*", yang berlaku untuk semua agent.- Host Node harus mengiklankan
system.execApprovals.get/set(aplikasi macOS atau host Node headless). - File persetujuan disimpan per host di direktori state OpenClaw
(
$OPENCLAW_STATE_DIR/exec-approvals.json, atau~/.openclaw/exec-approvals.jsonsaat variabel tidak disetel).