Messages and delivery
Antrean pengarahan
Saat pesan tiba ketika proses sesi sudah melakukan streaming, OpenClaw dapat mengirim pesan itu ke runtime aktif alih-alih memulai proses lain untuk sesi yang sama. Mode publik bersifat netral terhadap runtime; Pi dan harness app-server Codex native menerapkan detail pengirimannya secara berbeda.
Batas runtime
Steering tidak menghentikan panggilan alat yang sudah berjalan. Pi memeriksa pesan steering yang mengantre pada batas model:
- Asisten meminta panggilan alat.
- Pi menjalankan batch panggilan alat dari pesan asisten saat ini.
- Pi memancarkan peristiwa akhir giliran.
- Pi menguras pesan steering yang mengantre.
- Pi menambahkan pesan tersebut sebagai pesan pengguna sebelum panggilan LLM berikutnya.
Ini menjaga hasil alat tetap berpasangan dengan pesan asisten yang memintanya, lalu memungkinkan panggilan model berikutnya melihat masukan pengguna terbaru.
Harness app-server Codex native mengekspos turn/steer alih-alih antrean
steering internal Pi. OpenClaw mengadaptasi mode yang sama di sana:
steermengelompokkan pesan yang mengantre selama jendela hening yang dikonfigurasi, lalu mengirim satu permintaanturn/steerdengan semua masukan pengguna yang terkumpul sesuai urutan kedatangan.queuemempertahankan bentuk serialisasi lama dengan mengirim permintaanturn/steerterpisah.followup,collect,steer-backlog, daninterrupttetap menjadi perilaku antrean milik OpenClaw di sekitar giliran Codex yang aktif.
Giliran peninjauan Codex dan compaction manual menolak steering dalam giliran yang sama. Ketika runtime tidak dapat menerima steering, OpenClaw kembali ke antrean tindak lanjut jika mode tersebut mengizinkannya.
Halaman ini menjelaskan steering mode antrean untuk pesan masuk normal. Untuk
perintah eksplisit /steer <message>, lihat Steer.
Mode
| Mode | Perilaku proses aktif | Perilaku tindak lanjut berikutnya |
|---|---|---|
steer |
Menyisipkan semua pesan steering yang mengantre secara bersama-sama pada batas runtime berikutnya. Ini adalah default. | Kembali ke tindak lanjut hanya ketika steering tidak tersedia. |
queue |
Steering lama satu per satu. Pi menyisipkan satu pesan antrean per batas model; Codex mengirim permintaan turn/steer terpisah. |
Kembali ke tindak lanjut hanya ketika steering tidak tersedia. |
steer-backlog |
Perilaku steering proses aktif yang sama seperti steer. |
Juga mempertahankan pesan yang sama untuk giliran tindak lanjut berikutnya. |
followup |
Tidak melakukan steering pada proses saat ini. | Menjalankan pesan yang mengantre nanti. |
collect |
Tidak melakukan steering pada proses saat ini. | Menggabungkan pesan antrean yang kompatibel ke satu giliran berikutnya setelah jendela debounce. |
interrupt |
Membatalkan proses aktif, lalu memulai pesan terbaru. | Tidak ada. |
Contoh lonjakan
Jika empat pengguna mengirim pesan saat agen sedang menjalankan panggilan alat:
steer: runtime aktif menerima keempat pesan sesuai urutan kedatangan sebelum keputusan model berikutnya. Pi mengurasnya pada batas model berikutnya; Codex menerimanya sebagai satuturn/steeryang dibatch.queue: steering serialisasi lama. Pi menyisipkan satu pesan antrean dalam satu waktu; Codex menerima permintaanturn/steerterpisah.collect: OpenClaw menunggu sampai proses aktif berakhir, lalu membuat giliran tindak lanjut dengan pesan antrean yang kompatibel setelah jendela debounce.
Cakupan
Steering selalu menargetkan proses sesi aktif saat ini. Ini tidak membuat sesi baru, mengubah kebijakan alat proses aktif, atau memisahkan pesan berdasarkan pengirim. Di kanal multipengguna, prompt masuk sudah menyertakan konteks pengirim dan rute, sehingga panggilan model berikutnya dapat melihat siapa yang mengirim setiap pesan.
Gunakan collect saat Anda ingin OpenClaw membuat giliran tindak lanjut nanti
yang dapat menggabungkan pesan yang kompatibel dan mempertahankan kebijakan
penghapusan antrean tindak lanjut. Gunakan queue hanya saat Anda memerlukan
perilaku steering lama satu per satu.
Debounce
messages.queue.debounceMs berlaku untuk pengiriman tindak lanjut, termasuk
collect, followup, steer-backlog, dan fallback steer ketika steering
proses aktif tidak tersedia. Untuk Pi, steer aktif itu sendiri tidak menggunakan
timer debounce karena Pi secara alami membatch pesan sampai batas model
berikutnya. Untuk harness Codex native, OpenClaw menggunakan nilai debounce yang
sama sebagai jendela hening sebelum mengirim turn/steer yang dibatch.