---
read_when:
    - تغییر رفتار یا پیش‌فرض‌های نشانگر تایپ
summary: چه زمانی OpenClaw نشانگرهای تایپ را نشان می‌دهد و چگونه آن‌ها را تنظیم کنید
title: نشانگرهای تایپ
x-i18n:
    generated_at: "2026-06-27T17:38:41Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: fa76889d0f6262f1092abefee02aee8fe944651dc89d3a697ccc86e16558ed60
    source_path: concepts/typing-indicators.md
    workflow: 16
---

نشانگرهای در حال تایپ هنگام فعال بودن یک اجرا به کانال چت ارسال می‌شوند. از
`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`

## پیکربندی

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

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

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

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

## نکته‌ها

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

## مرتبط

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