> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# مؤشرات الكتابة

تُرسل مؤشرات الكتابة إلى قناة الدردشة أثناء نشاط التشغيل. استخدم
`agents.defaults.typingMode` للتحكم في **متى** تبدأ الكتابة و`typingIntervalSeconds`
للتحكم في **مدى تكرار** تحديثها.

## الإعدادات الافتراضية

عندما يكون `agents.defaults.typingMode` **غير معيّن**، يحافظ OpenClaw على السلوك القديم:

* **الدردشات المباشرة**: تبدأ الكتابة فورًا بمجرد بدء حلقة النموذج.
* **دردشات المجموعات مع إشارة**: تبدأ الكتابة فورًا.
* **دردشات المجموعات دون إشارة**: تبدأ الكتابة عندما يكون للتشغيل المقبول
  نشاط مرئي للمستخدم، مثل نشاط تنفيذ بيئة التشغيل أو نص رسالة.
* **تشغيلات Heartbeat**: تبدأ الكتابة عندما يبدأ تشغيل Heartbeat إذا كان
  هدف Heartbeat الذي تم حله دردشة تدعم الكتابة ولم تكن الكتابة معطّلة.

## الأوضاع

عيّن `agents.defaults.typingMode` إلى أحد الخيارات التالية:

* `never` - لا يوجد مؤشر كتابة أبدًا.
* `instant` - ابدأ الكتابة **بمجرد بدء حلقة النموذج**، حتى إذا أعاد التشغيل
  لاحقًا رمز الرد الصامت فقط.
* `thinking` - ابدأ الكتابة عند **أول دلتا استدلال** أو عند تنفيذ نشط
  لبيئة التشغيل بعد قبول الدور.
* `message` - ابدأ الكتابة عند **أول نشاط رد مرئي للمستخدم**، مثل
  تنفيذ نشط لبيئة التشغيل أو دلتا نصية غير صامتة. لا تُحتسب رموز الرد الصامت
  مثل `NO_REPLY` كنشاط نصي.

ترتيب "مدى التبكير في تفعيله":
`never` → `message`/`thinking` → `instant`

## التكوين

عيّن الإعداد الافتراضي على مستوى الوكيل:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agents: {
    defaults: {
      typingMode: "thinking",
      typingIntervalSeconds: 6,
    },
  },
}
```

تجاوز الوضع أو الإيقاع لكل جلسة:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  session: {
    typingMode: "message",
    typingIntervalSeconds: 4,
  },
}
```

## ملاحظات

* لا يبدأ وضع `message` من رموز الرد الصامت، لكن يمكن للتنفيذ النشط
  أن يُظهر الكتابة قبل توفر أي نص من المساعد.
* يظل `thinking` يستجيب للاستدلال المتدفق (`reasoningLevel: "stream"`)،
  ويمكنه أيضًا البدء من التنفيذ النشط قبل وصول دلتات الاستدلال.
* كتابة Heartbeat هي إشارة حيوية لهدف التسليم الذي تم حله. وهي
  تبدأ عند بدء تشغيل Heartbeat بدلًا من اتباع توقيت تدفق `message` أو `thinking`.
  عيّن `typingMode: "never"` لتعطيلها.
* لا تُظهر Heartbeats الكتابة عندما يكون `target: "none"`، أو عندما لا يمكن
  حل الهدف، أو عندما يكون تسليم الدردشة معطّلًا لـ Heartbeat، أو عندما لا
  تدعم القناة الكتابة.
* يتحكم `typingIntervalSeconds` في **إيقاع التحديث**، وليس وقت البدء.
  القيمة الافتراضية هي 6 ثوانٍ.

## ذات صلة

<CardGroup cols={2}>
  <Card title="الحضور" href="/ar/concepts/presence" icon="signal">
    كيف يتتبع Gateway العملاء المتصلين ويعرضهم في تبويب المثيلات في macOS.
  </Card>

  <Card title="البث والتقسيم إلى أجزاء" href="/ar/concepts/streaming" icon="bars-staggered">
    سلوك البث الصادر، وحدود الأجزاء، والتسليم الخاص بكل قناة.
  </Card>
</CardGroup>
