Concept internals

نشانگرهای تایپ

Edit source

نشانگرهای تایپ هنگام فعال بودن یک اجرا به کانال گفتگو ارسال می‌شوند. برای کنترل اینکه تایپ چه زمانی آغاز شود از agents.defaults.typingMode و برای کنترل اینکه هر چند وقت یک‌بار بازخوانی شود از typingIntervalSeconds استفاده کنید.

پیش‌فرض‌ها

وقتی agents.defaults.typingMode تنظیم نشده باشد، OpenClaw رفتار قدیمی را حفظ می‌کند:

  • گفتگوهای مستقیم: به‌محض شروع حلقه مدل، تایپ بلافاصله آغاز می‌شود.
  • گفتگوهای گروهی با اشاره: تایپ بلافاصله آغاز می‌شود.
  • گفتگوهای گروهی بدون اشاره: تایپ فقط زمانی آغاز می‌شود که متن پیام شروع به استریم شدن کند.
  • اجراهای Heartbeat: اگر هدف Heartbeat حل‌شده یک گفتگوی دارای قابلیت تایپ باشد و تایپ غیرفعال نشده باشد، تایپ هنگام آغاز اجرای Heartbeat شروع می‌شود.

حالت‌ها

agents.defaults.typingMode را روی یکی از موارد زیر تنظیم کنید:

  • never - هرگز نشانگر تایپ وجود ندارد.
  • instant - تایپ را به‌محض آغاز حلقه مدل شروع می‌کند، حتی اگر اجرا بعداً فقط توکن پاسخ بی‌صدا را برگرداند.
  • thinking - تایپ را با اولین دلتای استدلال شروع می‌کند (برای اجرا به reasoningLevel: "stream" نیاز دارد).
  • message - تایپ را با اولین دلتای متن غیر بی‌صدا شروع می‌کند (توکن بی‌صدای NO_REPLY را نادیده می‌گیرد).

ترتیب «میزان زود فعال شدن»: nevermessagethinkinginstant

پیکربندی

پیش‌فرض سطح عامل را تنظیم کنید:

json5
{  agents: {    defaults: {      typingMode: "thinking",      typingIntervalSeconds: 6,    },  },}

حالت یا آهنگ ارسال را برای هر نشست بازنویسی کنید:

json5
{  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 آهنگ بازخوانی را کنترل می‌کند، نه زمان شروع را. مقدار پیش‌فرض ۶ ثانیه است.

مرتبط

Was this useful?