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