Urutan perintah
- Node terhubung dan dipasangkan untuk peran
node. nodes describemencantumkan kapabilitas yang Anda panggil.- Persetujuan eksekusi menampilkan mode/daftar izin yang diharapkan.
Persyaratan latar depan
canvas.*, camera.*, dan screen.* hanya dapat digunakan di latar depan pada Node iOS/Android.
Pemeriksaan dan perbaikan cepat:
NODE_BACKGROUND_UNAVAILABLE, tampilkan aplikasi Node di latar depan dan coba lagi.
Matriks izin
Pemasangan versus persetujuan
Tiga gerbang terpisah menentukan keberhasilan perintah Node:- Pemasangan perangkat: dapatkah Node ini terhubung ke Gateway?
- Kebijakan perintah Node Gateway: apakah ID perintah RPC diizinkan oleh
gateway.nodes.allowCommands/denyCommandsdan pengaturan bawaan platform? - Persetujuan eksekusi: dapatkah Node ini menjalankan perintah shell tertentu secara lokal?
system.run, kebijakan per Node berada dalam berkas persetujuan eksekusi Node tersebut (openclaw approvals get --node ...), bukan dalam catatan pemasangan Gateway.
Pemeriksaan cepat:
- Pemasangan tidak ada: setujui perangkat Node terlebih dahulu.
nodes describetidak mencantumkan perintah: periksa kebijakan perintah Node Gateway dan apakah Node benar-benar mendeklarasikan perintah tersebut saat terhubung.- Pemasangan tidak bermasalah, tetapi
system.rungagal: perbaiki persetujuan eksekusi/daftar izin pada Node tersebut.
host=node yang memerlukan persetujuan, Gateway juga mengikat eksekusi ke systemRunPlan kanonis yang telah disiapkan. Jika pemanggil berikutnya mengubah perintah, direktori kerja, atau metadata sesi sebelum eksekusi yang disetujui diteruskan, Gateway akan menolak eksekusi karena ketidakcocokan persetujuan, alih-alih memercayai muatan yang telah diedit.
Kode kesalahan Node yang umum
Siklus pemulihan cepat
- Setujui ulang pemasangan perangkat.
- Buka kembali aplikasi Node (di latar depan).
- Berikan ulang izin sistem operasi.
- Buat ulang/sesuaikan kebijakan persetujuan eksekusi.
computer, screen.snapshot berhasil dengan izin Perekaman Layar, dan /phone status menampilkan otorisasi Gateway sementara atau permanen yang Anda inginkan. Entri gateway.nodes.denyCommands selalu mengesampingkan allowCommands.