Concept internals
نشانگرهای تایپ
نشانگرهای در حال تایپ هنگام فعال بودن یک اجرا به کانال چت ارسال میشوند. از
agents.defaults.typingMode برای کنترل اینکه تایپ چه زمانی شروع شود و از typingIntervalSeconds
برای کنترل اینکه هر چند وقت یکبار تازهسازی شود استفاده کنید.
پیشفرضها
وقتی agents.defaults.typingMode تنظیم نشده باشد، OpenClaw رفتار قدیمی را حفظ میکند:
- چتهای مستقیم: تایپ بهمحض شروع حلقه مدل آغاز میشود.
- چتهای گروهی با اشاره: تایپ بلافاصله شروع میشود.
- چتهای گروهی بدون اشاره: تایپ وقتی شروع میشود که اجرای پذیرفتهشده فعالیت قابل مشاهده برای کاربر داشته باشد، مانند فعالیت اجرای harness یا متن پیام.
- اجراهای Heartbeat: اگر هدف Heartbeat حلشده یک چت با قابلیت تایپ باشد و تایپ غیرفعال نشده باشد، تایپ هنگام شروع اجرای Heartbeat آغاز میشود.
حالتها
agents.defaults.typingMode را روی یکی از موارد زیر تنظیم کنید:
never- هیچ نشانگر تایپی، هرگز.instant- تایپ را بهمحض شروع حلقه مدل آغاز کن، حتی اگر اجرا بعدا فقط توکن پاسخ بیصدا را برگرداند.thinking- تایپ را با اولین دلتای استدلال یا با اجرای فعال harness پس از پذیرفته شدن نوبت آغاز کن.message- تایپ را با اولین فعالیت پاسخ قابل مشاهده برای کاربر آغاز کن، مانند اجرای فعال harness یا یک دلتای متن غیربیصدا. توکنهای پاسخ بیصدا مانندNO_REPLYبهعنوان فعالیت متنی شمرده نمیشوند.
ترتیب «اینکه چقدر زود فعال میشود»:
never → message/thinking → instant
پیکربندی
پیشفرض سطح عامل را تنظیم کنید:
{ agents: { defaults: { typingMode: "thinking", typingIntervalSeconds: 6, }, },}حالت یا آهنگ تکرار را برای هر نشست بازنویسی کنید:
{ session: { typingMode: "message", typingIntervalSeconds: 4, },}نکتهها
- حالت
messageاز توکنهای پاسخ بیصدا شروع نمیشود، اما اجرای فعال همچنان میتواند پیش از در دسترس بودن هر متن دستیار، تایپ را نشان دهد. thinkingهمچنان به استدلال جریانی (reasoningLevel: "stream") واکنش نشان میدهد، و همچنین میتواند پیش از رسیدن دلتاهای استدلال از اجرای فعال شروع شود.- تایپ Heartbeat یک سیگنال زندهبودن برای هدف تحویل حلشده است. این تایپ
بهجای پیروی از زمانبندی جریان
messageیاthinking، هنگام شروع اجرای Heartbeat آغاز میشود. برای غیرفعال کردن آن،typingMode: "never"را تنظیم کنید. - Heartbeatها وقتی
target: "none"باشد، وقتی هدف قابل حل نباشد، وقتی تحویل چت برای Heartbeat غیرفعال باشد، یا وقتی کانال از تایپ پشتیبانی نکند، تایپ را نشان نمیدهند. typingIntervalSecondsآهنگ تازهسازی را کنترل میکند، نه زمان شروع را. مقدار پیشفرض ۶ ثانیه است.
مرتبط
Was this useful?