openclaw approvals
Kelola persetujuan eksekusi untuk host lokal, host Gateway, atau host node. Tanpa flag target, perintah membaca/menulis file persetujuan lokal pada disk. Gunakan --gateway untuk menargetkan Gateway, atau --node <id|name|ip> untuk menargetkan node tertentu.
Alias: openclaw exec-approvals
Terkait: Persetujuan eksekusi, Node
openclaw exec-policy
openclaw exec-policy adalah perintah praktis khusus lokal yang menyinkronkan konfigurasi tools.exec.* yang diminta dan file persetujuan host lokal dalam satu langkah:
yolo, cautious, deny-all) menerapkan host, security, ask, dan askFallback secara bersamaan. set hanya menerapkan flag yang Anda berikan; setiap nilai yang diterima akan divalidasi (--host auto|sandbox|gateway|node, --security deny|allowlist|full, --ask off|on-miss|always, --ask-fallback deny|allowlist|full).
Cakupan:
- Memperbarui file konfigurasi lokal dan file persetujuan lokal secara bersamaan; tidak mengirim kebijakan ke Gateway atau host node.
--host nodeditolak: persetujuan eksekusi node diambil dari node saat runtime, sehinggaexec-policylokal tidak dapat menyinkronkannya. Gunakanopenclaw approvals set --node <id|name|ip>sebagai gantinya.exec-policy showmenandai cakupanhost=nodesebagai dikelola oleh node saat runtime, alih-alih memperoleh kebijakan efektif dari file persetujuan lokal.
openclaw approvals set --gateway atau openclaw approvals set --node <id|name|ip> secara langsung.
Perintah umum
get menampilkan kebijakan eksekusi efektif untuk target: kebijakan tools.exec yang diminta, kebijakan file persetujuan host, dan hasil efektif yang digabungkan. Node dengan kebijakan asli host, seperti pendamping Windows, menampilkan kebijakan tersebut secara langsung, alih-alih menerapkan perhitungan kebijakan file persetujuan OpenClaw.
Untuk node berbasis file, tampilan gabungan memerlukan snapshot kebijakan yang diselesaikan oleh host. Node lama menampilkan kebijakan efektif sebagai tidak tersedia, alih-alih mengasumsikan bahwa kebijakan yang diminta Gateway juga berlaku pada host.
Override
/exec per sesi tidak disertakan. Jalankan /exec dalam sesi terkait untuk memeriksa nilai default saat ini.- File persetujuan host adalah sumber kebenaran yang dapat diberlakukan.
- Kebijakan
tools.execyang diminta dapat mempersempit atau memperluas maksud, tetapi hasil efektif diperoleh dari aturan host. --nodemenggabungkan file persetujuan host node dengan kebijakantools.execGateway (keduanya berlaku saat runtime).- Jika konfigurasi Gateway tidak tersedia, CLI kembali menggunakan snapshot persetujuan node dan mencatat bahwa kebijakan runtime akhir tidak dapat dihitung.
Persetujuan tertunda
Cantumkan persetujuan eksekusi, plugin, dan agen sistem OpenClaw yang tertunda dari Gateway:resolve yang sesuai untuk seluruh operator menggunakan operator.admin karena catatan persetujuan tanpa itu tetap menerapkan pemfilteran pemohon/peninjau. Penyelesaian juga meminta cakupan khusus operator.approvals. Pemberian akses operator CLI standar mencakup kedua cakupan; klien pihak ketiga dengan akses terbatas tidak boleh meminta akses admin hanya untuk meniru perintah ini.
Output yang dapat dibaca manusia menampilkan jenis persetujuan, atribusi agen/sesi, usia permintaan, waktu hingga kedaluwarsa, perintah atau ringkasan yang dipersingkat, serta token ID id64_<base64url> yang netral terhadap shell. Blok Full request text selalu mengikuti tabel ringkas dengan setiap token lengkap dan permintaan yang di-escape tanpa kehilangan informasi, sehingga pemendekan karena lebar terminal tidak dapat menyembunyikan sufiks atau token yang diperlukan untuk penyelesaian. Salin token lengkap ke resolve. Karakter terminal yang tidak aman dalam bidang lain ditampilkan sebagai escape Unicode yang terlihat. Output JSON mengembalikan entri yang dinormalisasi di bawah approvals, dengan mempertahankan id, summary, createdAtMs, dan expiresAtMs mentah asli untuk skrip; ID mentah tetap diterima oleh resolve kecuali menggunakan prefiks token tampilan id64_ yang dicadangkan.
Jika nilai id64_ yang diberikan cocok dengan ID mentah literal sekaligus token tampilan yang didekodekan untuk persetujuan lain, CLI menolaknya sebagai ambigu agar tidak berisiko menyelesaikan permintaan yang salah.
Selesaikan satu persetujuan berdasarkan ID lengkapnya:
0. Mengulangi keputusan yang tercatat juga keluar dengan 0 dan melaporkan already resolved (same decision). Keputusan yang bertentangan, persetujuan yang tidak ditemukan, persetujuan yang kedaluwarsa, atau keputusan yang tidak tersedia untuk jenis persetujuan tersebut akan menampilkan kesalahan yang jelas dan keluar dengan status bukan nol.
--reason menambahkan catatan lokal ke konfirmasi CLI. Catatan persetujuan Gateway saat ini tidak memiliki bidang alasan penyelesaian berupa teks bebas, sehingga catatan ini tidak disimpan atau dikirim ke permukaan persetujuan lainnya.
Mengganti persetujuan dari file
set menerima JSON5, bukan hanya JSON ketat. Gunakan --file atau --stdin, jangan keduanya.
Node Windows asli host menggunakan bentuk kebijakannya sendiri:
rules diperlukan karena operasi ini mengganti seluruh daftar aturan node; defaultAction bersifat opsional. Node yang melaporkan bahwa kebijakan aslinya dinonaktifkan tidak dapat dikonfigurasi dari jarak jauh; aktifkan atau konfigurasikan kebijakan pada host tersebut terlebih dahulu. Kebijakan asli host tidak mendukung pembantu allowlist add|remove.
Contoh “Jangan pernah meminta konfirmasi” / YOLO
Atur nilai default persetujuan host kefull + off untuk host yang tidak boleh berhenti karena persetujuan eksekusi:
openclaw approvals set --node <id|name|ip> --stdin. Node asli host memerlukan bentuk khusus pemiliknya seperti yang ditampilkan di atas.
Ini hanya mengubah file persetujuan host. Agar kebijakan OpenClaw yang diminta tetap selaras, atur juga:
tools.exec.host=gateway dinyatakan secara eksplisit di sini karena host=auto masih berarti “gunakan sandbox jika tersedia, jika tidak gunakan Gateway”: YOLO berkaitan dengan persetujuan, bukan perutean. Gunakan gateway (atau /exec host=gateway) jika Anda menginginkan eksekusi host meskipun sandbox dikonfigurasi.
askFallback yang dihilangkan secara default bernilai deny. Atur askFallback: "full" secara eksplisit saat meningkatkan versi host tanpa UI yang harus mempertahankan perilaku tanpa konfirmasi.
Pintasan lokal untuk maksud yang sama, hanya pada mesin lokal:
Pembantu daftar izin
Opsi umum
get, set, dan allowlist add|remove semuanya mendukung:
--node <id|name|ip>(menyelesaikan ID, nama, IP, atau prefiks ID; penyelesai yang sama denganopenclaw nodes)--gateway- opsi RPC node bersama:
--url,--token,--timeout,--json
allowlist add|remove juga mendukung --agent <id> (secara default bernilai "*", berlaku untuk semua agen).
pending dan resolve selalu menggunakan Gateway karena permintaan tertunda merupakan status Gateway langsung. Keduanya mendukung opsi koneksi Gateway bersama --url, --token, dan --timeout; pending juga mendukung --json.
Catatan
- Host node harus mengiklankan
system.execApprovals.get/set(aplikasi macOS, host node headless, atau pendamping Windows). - File persetujuan disimpan per host dalam direktori status OpenClaw:
$OPENCLAW_STATE_DIR/exec-approvals.json, atau~/.openclaw/exec-approvals.jsonsaat variabel tidak ditetapkan.