Messages and delivery
صف هدایت
وقتی درحالیکه اجرای یک نشست از قبل در حال استریم است، یک پرامپت عادی میرسد و حالت صف steer است (حالت پیشفرض، بدون نیاز به پیکربندی)، OpenClaw تلاش میکند آن پرامپت را به محیط اجرای فعال بفرستد. OpenClaw و هارنس بومی app-server در Codex جزئیات تحویل را بهشکل متفاوتی پیادهسازی میکنند.
این صفحه هدایت حالت صف را برای پیامهای ورودی عادی در حالت steer پوشش میدهد. در حالت followup یا collect، پیامهای عادی از این مسیر عبور نمیکنند و تا پایان اجرای فعال منتظر میمانند. برای فرمان صریح /steer <message>، به هدایت مراجعه کنید.
مرز محیط اجرا
هدایت، فراخوانی ابزاری را که از قبل در حال اجرا است قطع نمیکند. OpenClaw در مرزهای مدل، پیامهای هدایت در صف را بررسی میکند:
- دستیار فراخوانی ابزارها را درخواست میکند.
- OpenClaw دستهٔ فراخوانی ابزارِ پیام فعلی دستیار را اجرا میکند.
- OpenClaw رویداد پایان نوبت را منتشر میکند.
- OpenClaw پیامهای هدایت در صف را تخلیه میکند.
- OpenClaw آن پیامها را پیش از فراخوانی بعدی LLM بهعنوان پیامهای کاربر اضافه میکند.
این کار نتایج ابزار را با پیام دستیاری که آنها را درخواست کرده است جفت نگه میدارد و سپس اجازه میدهد فراخوانی بعدی مدل جدیدترین ورودی کاربر را ببیند.
هارنس بومی app-server در Codex بهجای صف هدایت داخلی محیط اجرای OpenClaw، turn/steer را ارائه میکند. OpenClaw پرامپتهای در صف را در طول بازهٔ سکوت پیکربندیشده دستهبندی میکند و سپس یک درخواست turn/steer را همراه با تمام ورودیهای گردآوریشدهٔ کاربر، بهترتیب ورود، میفرستد.
نوبتهای بازبینی Codex و Compaction دستی، هدایت در همان نوبت را رد میکنند. وقتی یک محیط اجرا نتواند هدایت را در حالت steer بپذیرد، OpenClaw پیش از آغاز پرامپت منتظر میماند تا اجرای فعال پایان یابد.
حالتها
| حالت | رفتار اجرای فعال | رفتار بعدی |
|---|---|---|
steer |
در صورت امکان، پرامپت را به محیط اجرای فعال هدایت میکند. | اگر هدایت در دسترس نباشد، تا پایان اجرای فعال منتظر میماند. |
followup |
هدایت نمیکند. | پیامهای در صف را بعداً، پس از پایان اجرای فعال، اجرا میکند. |
collect |
هدایت نمیکند. | پس از بازهٔ حذف لرزش، پیامهای سازگار در صف را در یک نوبت بعدی ادغام میکند. |
interrupt |
بهجای هدایت اجرای فعال، آن را لغو میکند. | پس از لغو، جدیدترین پیام را آغاز میکند. |
نمونهٔ ارسال پیاپی
اگر هنگام اجرای یک فراخوانی ابزار توسط عامل، چهار کاربر پیام بفرستند:
- با رفتار پیشفرض، محیط اجرای فعال پیش از تصمیم بعدی مدل، هر چهار پیام را بهترتیب ورود دریافت میکند. OpenClaw آنها را در مرز بعدی مدل تخلیه میکند؛ Codex آنها را بهصورت یک
turn/steerدستهبندیشده دریافت میکند. - با
/queue collect، OpenClaw هدایت نمیکند. منتظر میماند تا اجرای فعال پایان یابد و سپس پس از بازهٔ حذف لرزش، نوبت پیگیریای با پیامهای سازگار در صف ایجاد میکند. - با
/queue interrupt، OpenClaw اجرای فعال را لغو میکند و بهجای هدایت، جدیدترین پیام را آغاز میکند.
دامنه
هدایت همیشه اجرای فعال فعلی نشست را هدف میگیرد. نشست جدیدی ایجاد نمیکند، خطمشی ابزار اجرای فعال را تغییر نمیدهد و پیامها را بر اساس فرستنده تفکیک نمیکند. در کانالهای چندکاربره، پرامپتهای ورودی از قبل شامل زمینهٔ فرستنده و مسیریابی هستند؛ بنابراین فراخوانی بعدی مدل میتواند ببیند هر پیام را چه کسی فرستاده است.
وقتی میخواهید پیامها بهطور پیشفرض بهجای هدایت اجرای فعال در صف قرار گیرند، از followup یا collect استفاده کنید. وقتی جدیدترین پرامپت باید جایگزین اجرای فعال شود، از interrupt استفاده کنید.
حذف لرزش
حذف لرزش داخلی صف برای تحویل followup و collect در صف اعمال میشود. در حالت steer با هارنس بومی Codex، این مقدار همچنین بازهٔ سکوت پیش از ارسال turn/steer دستهبندیشده را تعیین میکند. برای OpenClaw، خود هدایت فعال از زمانسنج حذف لرزش استفاده نمیکند، زیرا OpenClaw بهطور طبیعی پیامها را تا مرز بعدی مدل دستهبندی میکند.