---
read_when:
    - تغییر رفتار یا پیش‌فرض‌های نشانگر تایپ کردن
summary: چه زمانی OpenClaw نشانگرهای تایپ را نمایش می‌دهد و چگونه می‌توان آن‌ها را تنظیم کرد
title: نشانگرهای تایپ
x-i18n:
    generated_at: "2026-07-16T16:48:09Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 55e5ec38f47e0612b25b5561790e9b8a17ea4e215c4038bb89af83f861089e03
    source_path: concepts/typing-indicators.md
    workflow: 16
---

نشانگرهای تایپ هنگام فعال‌بودن یک اجرا به کانال چت ارسال می‌شوند. از `agents.defaults.typingMode` برای کنترل **زمان** شروع تایپ و از `typingIntervalSeconds` برای کنترل **دفعات** تازه‌سازی آن استفاده کنید (تناوب زنده‌نگه‌داشتن، پیش‌فرض 6 ثانیه).

## پیش‌فرض‌ها

وقتی `agents.defaults.typingMode` **تنظیم نشده است**:

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

## حالت‌ها

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

- `never` - هرگز نشانگر تایپ نمایش داده نشود.
- `instant` - تایپ **به‌محض آغاز حلقه مدل** شروع شود، حتی اگر اجرا بعداً فقط توکن پاسخ بی‌صدا را برگرداند.
- `thinking` - تایپ با **نخستین دلتای استدلال** یا پس از پذیرفته‌شدن نوبت، با اجرای فعال هارنس شروع شود.
- `message` - تایپ با **نخستین فعالیت پاسخ قابل‌مشاهده برای کاربر**، مانند اجرای فعال هارنس یا یک دلتای متنی غیربی‌صدا، شروع شود. توکن‌های پاسخ بی‌صدا مانند `NO_REPLY` فعالیت متنی محسوب نمی‌شوند.

ترتیب «هرچه زودتر فعال‌شدن»: `never` -> `message`/`thinking` -> `instant`.

## پیکربندی

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

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

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

```json5
{
  session: {
    typingMode: "message",
    typingIntervalSeconds: 4,
  },
}
```

## نکات

- حالت `message` با توکن‌های پاسخ بی‌صدا شروع نمی‌شود، اما اجرای فعال همچنان می‌تواند پیش از در دسترس بودن هرگونه متن دستیار، نشانگر تایپ را نمایش دهد.
- `thinking` همچنان به استدلال جریانی (`reasoningLevel: "stream"`) واکنش نشان می‌دهد و همچنین می‌تواند پیش از رسیدن دلتاهای استدلال، با اجرای فعال شروع شود.
- تایپ Heartbeat یک سیگنال زنده‌بودن برای مقصد تحویل حل‌شده است. این تایپ به‌جای پیروی از زمان‌بندی جریان `message` یا `thinking`، با آغاز اجرای Heartbeat شروع می‌شود. برای غیرفعال‌کردن آن، `typingMode: "never"` را تنظیم کنید.
- وقتی مقصد Heartbeat برابر `"none"` باشد، مقصد قابل حل نباشد، تحویل چت برای Heartbeat غیرفعال باشد یا کانال از تایپ پشتیبانی نکند، Heartbeatها نشانگر تایپ نمایش نمی‌دهند.
- `typingIntervalSeconds` **تناوب تازه‌سازی** را کنترل می‌کند، نه زمان شروع را. پیش‌فرض: 6 ثانیه.

## مرتبط

<CardGroup cols={2}>
  <Card title="حضور" href="/fa/concepts/presence" icon="signal">
    نحوه ردیابی کلاینت‌های متصل توسط Gateway برای صفحه دستگاه‌های رابط کاربری کنترل و زبانه نمونه‌های macOS.
  </Card>
  <Card title="جریان و قطعه‌بندی" href="/fa/concepts/streaming" icon="bars-staggered">
    رفتار جریان خروجی، مرزهای قطعه‌ها و تحویل مختص هر کانال.
  </Card>
</CardGroup>
