CLI commands
Agen
openclaw agent
Jalankan satu giliran agen melalui Gateway. Flag eksplisit --local adalah satu-satunya jalur eksekusi tertanam.
Berikan setidaknya satu pemilih sesi: --to, --session-key, --session-id, atau --agent.
Terkait: Alat pengiriman agen
Opsi
-m, --message <text>: isi pesan--message-file <path>: baca isi pesan dari file UTF-8-t, --to <dest>: penerima yang digunakan untuk memperoleh kunci sesi--session-key <key>: kunci sesi eksplisit yang akan digunakan untuk perutean--session-id <id>: id sesi eksplisit--agent <id>: id agen; mengesampingkan pengikatan perutean--model <id>: penggantian model untuk proses ini (provider/modelatau id model)--thinking <level>: tingkat pemikiran agen (off,minimal,low,medium,high, ditambah tingkat khusus yang didukung penyedia sepertixhigh,adaptive, ataumax)--verbose <on|off>: pertahankan tingkat verbositas untuk sesi--channel <channel>: saluran pengiriman; hilangkan untuk menggunakan saluran sesi utama--reply-to <target>: penggantian target pengiriman--reply-channel <channel>: penggantian saluran pengiriman--reply-account <id>: penggantian akun pengiriman--local: jalankan agen tertanam secara langsung (setelah pramuat registri plugin)--deliver: kirim balasan kembali ke saluran/target yang dipilih--timeout <seconds>: ganti tenggat giliran agen perintah ini (nilai default 600, atauagents.defaults.timeoutSeconds);0menonaktifkan tenggat keseluruhan. Nilai cadangan 600 detik berlaku untuk perintah CLI ini, bukan giliran Gateway biasa, yang nilai defaultnya adalah 48 jam.--json: keluarkan JSON
Contoh
openclaw agent --to +15555550123 --message "pembaruan status" --deliveropenclaw agent --agent ops --message "Ringkas log"openclaw agent --agent ops --message-file ./task.mdopenclaw agent --agent ops --model openai/gpt-5.4 --message "Ringkas log"openclaw agent --session-key agent:ops:incident-42 --message "Ringkas status"openclaw agent --agent ops --session-key incident-42 --message "Ringkas status"openclaw agent --session-id 1234 --message "Ringkas kotak masuk" --thinking mediumopenclaw agent --to +15555550123 --message "Lacak log" --verbose on --jsonopenclaw agent --agent ops --message "Buat laporan" --deliver --reply-channel slack --reply-to "#reports"openclaw agent --agent ops --message "Jalankan secara lokal" --localCatatan
- Berikan tepat salah satu dari
--messageatau--message-file.--message-filemenghapus BOM UTF-8 di awal dan mempertahankan konten multibaris; opsi ini menolak file yang bukan UTF-8 valid. File yang lebih besar dari 4 MiB ditolak sebelum pengiriman. - Perintah garis miring (misalnya
/compact) tidak dapat dijalankan melalui--message. CLI menolaknya dan mengarahkan Anda ke perintah khusus sebagai gantinya (openclaw sessions compact <key>untuk Compaction). - Proses
--localbersifat sekali jalan: sumber daya loopback MCP bawaan dan sesi stdio Claude siap pakai yang dibuka untuk proses tersebut dihentikan setelah balasan, sehingga pemanggilan berskrip tidak membiarkan proses anak lokal tetap berjalan. Sebaliknya, proses yang didukung Gateway mempertahankan sumber daya loopback MCP milik Gateway di bawah proses Gateway yang sedang berjalan. - Eksekusi tertanam mandiri dengan
--localmenolak menggunakan kembali sesi utama yang ada saat pemulihan mulai ulang masih tertunda. Jalankan giliran melalui Gateway yang sehat, atau atur ulang di sana dengan/newatau/reset; proses tertanam independen tidak dapat mengoordinasikan pemilik pemulihan tersebut dengan pemindai Gateway secara aman. - Dengan
--agent,--channel, dan--tosecara bersamaan, perutean sesi mengikuti penerima kanonis saluran dansession.dmScope. Saluran dengan identitas penerima khusus keluar yang stabil menggunakan sesi milik penyedia yang terisolasi dari sesi utama agen.--reply-channeldan--reply-accounthanya memengaruhi pengiriman. --session-keymemilih kunci sesi eksplisit. Kunci dengan awalan agen harus menggunakanagent:<agent-id>:<session-key>, dan--agentharus cocok dengan id agen pada kunci ketika keduanya diberikan. Kunci biasa non-sentinel dicakup ke--agentjika diberikan, atau ke agen default yang dikonfigurasi jika tidak; misalnya,--agent ops --session-key incident-42dirutekan keagent:ops:incident-42. Kunci literalglobaldanunknowntetap tanpa cakupan hanya jika tidak ada--agentyang diberikan.--jsonmencadangkan stdout untuk respons JSON; diagnostik Gateway, plugin, dan--localdikirim ke stderr agar skrip dapat mengurai stdout secara langsung.- Setelah percobaan ulang handshake sementara habis, waktu tunggu Gateway atau koneksi tertutup akan menggagalkan perintah; CLI tidak pernah secara diam-diam menjalankan ulang giliran secara tertanam. Kehilangan transportasi bersifat ambigu — Gateway mungkin telah menerima dan mungkin masih menyelesaikan giliran — sehingga petunjuk stderr menyarankan untuk memeriksa
openclaw gateway statusdan transkrip sesi sebelum mencoba lagi atau menjalankan ulang dengan--local, guna menghindari eksekusi giliran dua kali. SIGTERM/SIGINTmenginterupsi permintaan yang didukung Gateway dan sedang menunggu; jika Gateway telah menerima proses tersebut, CLI juga mengirimchat.abortuntuk id proses itu sebelum keluar. Proses--localmenerima sinyal yang sama tetapi tidak mengirimchat.abort. Proses anak peluncur yang dihentikan olehSIGINTatauSIGTERMpertama yang diteruskan akan keluar masing-masing dengan status 130 atau 143. Jika kunci deduplikasi proses internal sudah memiliki proses aktif untuk sesi ini, respons melaporkanstatus: "in_flight"dan CLI non-JSON mencetak diagnostik stderr alih-alih balasan kosong. Untuk pembungkus cron/systemd eksternal, pertahankan mekanisme penghentian paksa cadangan sepertitimeout -k 60 600 openclaw agent ...agar supervisor dapat membersihkan proses jika penghentian tidak dapat dituntaskan.- Saat perintah ini memicu regenerasi
models.json, kredensial penyedia yang dikelola SecretRef dipertahankan sebagai penanda non-rahasia (misalnya nama variabel lingkungan,secretref-env:ENV_VAR_NAME, atausecretref-managed), tidak pernah sebagai teks polos rahasia yang telah diresolusi. Penulisan penanda berasal dari snapshot konfigurasi sumber aktif, bukan dari nilai rahasia runtime yang telah diresolusi.
Status pengiriman JSON
Dengan --json --deliver, respons JSON CLI menyertakan deliveryStatus tingkat atas agar skrip dapat membedakan pengiriman yang berhasil, dibatalkan, sebagian, dan gagal:
{ "payloads": [{ "text": "Laporan siap", "mediaUrl": null }], "meta": { "durationMs": 1200 }, "deliveryStatus": { "requested": true, "attempted": true, "status": "sent", "succeeded": true, "resultCount": 1 }}Respons CLI yang didukung Gateway juga mempertahankan bentuk hasil mentah Gateway di result.deliveryStatus.
deliveryStatus.status adalah salah satu dari:
| Status | Arti |
|---|---|
sent |
Pengiriman selesai. |
suppressed |
Pengiriman sengaja tidak dilakukan (misalnya hook pengiriman pesan membatalkannya, atau tidak ada hasil yang terlihat). Terminal, tanpa percobaan ulang. |
partial_failed |
Setidaknya satu payload terkirim sebelum payload berikutnya gagal. |
failed |
Tidak ada pengiriman persisten yang selesai, atau pemeriksaan awal pengiriman gagal. |
Kolom umum:
requested: selalutrueketika objek tersedia.attempted:truesetelah jalur pengiriman persisten dijalankan;falseuntuk kegagalan pemeriksaan awal atau tidak adanya payload yang terlihat.succeeded:true,false, atau"partial";"partial"berpasangan denganstatus: "partial_failed".reason: alasan dalam format snake-case huruf kecil dari pengiriman persisten atau validasi awal. Nilai yang diketahui mencakupcancelled_by_message_sending_hook,no_visible_payload,no_visible_result,channel_resolved_to_internal,unknown_channel,invalid_delivery_target, danno_delivery_target; pengiriman persisten yang gagal juga dapat melaporkan tahap yang gagal. Perlakukan nilai yang tidak dikenal sebagai opak karena himpunannya dapat bertambah.resultCount: jumlah hasil pengiriman saluran, jika tersedia.sentBeforeError:trueketika kegagalan sebagian telah mengirim setidaknya satu payload sebelum mengalami galat.error:trueuntuk pengiriman yang gagal atau gagal sebagian.errorMessage: hanya tersedia ketika pesan galat pengiriman yang mendasarinya berhasil ditangkap. Kegagalan pemeriksaan awal membawaerror/reason, tetapi tanpaerrorMessage.payloadOutcomes: hasil opsional per payload denganindex,status,reason,resultCount,error,stage,sentBeforeError, atau metadata hook jika tersedia.
Terkait
Was this useful?