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
پیکربندی
پیشفرض سطح عامل را تنظیم کنید:
{ agents: { defaults: { typingMode: "thinking", typingIntervalSeconds: 6, }, },}حالت یا آهنگ ارسال را برای هر نشست بازنویسی کنید:
{ session: { typingMode: "message", typingIntervalSeconds: 4, },}نکات
- حالت
messageبرای پاسخهای فقط بیصدا، وقتی کل payload دقیقاً همان توکن بیصدا باشد (برای مثالNO_REPLY/no_reply، با تطبیق غیرحساس به بزرگی و کوچکی حروف)، تایپ را نشان نمیدهد. thinkingفقط زمانی فعال میشود که اجرا استدلال را استریم کند (reasoningLevel: "stream"). اگر مدل دلتای استدلال منتشر نکند، تایپ آغاز نمیشود.- تایپ Heartbeat یک سیگنال زندهبودن برای هدف تحویل حلشده است. این تایپ
در شروع اجرای Heartbeat آغاز میشود، بهجای اینکه از زمانبندی استریم
messageیاthinkingپیروی کند. برای غیرفعال کردن آن،typingMode: "never"را تنظیم کنید. - Heartbeatها وقتی
target: "none"باشد، وقتی هدف قابل حل نباشد، وقتی تحویل گفتگو برای Heartbeat غیرفعال باشد، یا وقتی کانال از تایپ پشتیبانی نکند، تایپ را نشان نمیدهند. typingIntervalSecondsآهنگ بازخوانی را کنترل میکند، نه زمان شروع را. مقدار پیشفرض ۶ ثانیه است.