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

# تشذيب الجلسات

# تشذيب الجلسات

يقوم تشذيب الجلسات بتقليم **نتائج الأدوات القديمة** من السياق الموجود في الذاكرة مباشرة قبل كل استدعاء لـ LLM. وهو **لا** يعيد كتابة سجل الجلسة المحفوظ على القرص (`*.jsonl`).

## متى يعمل

* عندما يكون `mode: "cache-ttl"` مفعّلًا وكان آخر استدعاء لـ Anthropic للجلسة أقدم من `ttl`.
* يؤثّر فقط على الرسائل المُرسلة إلى النموذج لذلك الطلب.
* نشِط فقط لاستدعاءات واجهة Anthropic البرمجية (ونماذج Anthropic عبر OpenRouter).
* للحصول على أفضل النتائج، طابِق `ttl` مع `cacheControlTtl` الخاص بنموذجك.
* بعد تنفيذ التشذيب، تُعاد تهيئة نافذة TTL بحيث تحتفظ الطلبات اللاحقة بالتخزين المؤقت إلى أن تنتهي صلاحية `ttl` مرة أخرى.

## الإعدادات الافتراضية الذكية (Anthropic)

* ملفات **OAuth أو setup-token**: تفعيل تشذيب `cache-ttl` وضبط نبض القلب على `1h`.
* ملفات **API key**: تفعيل تشذيب `cache-ttl`، ضبط نبض القلب على `30m`، وتعيين `cacheControlTtl` افتراضيًا إلى `1h` على نماذج Anthropic.
* إذا قمت بتعيين أي من هذه القيم صراحةً، فلن يقوم OpenClaw **بتجاوزها**.

## ما الذي يُحسِّنه هذا (التكلفة + سلوك التخزين المؤقت)

* **لماذا التشذيب:** ينطبق التخزين المؤقت لمطالبة Anthropic فقط ضمن فترة TTL. إذا ظلت الجلسة خاملة بعد TTL، فسيُعاد تخزين المطالبة كاملة في الطلب التالي ما لم تُقلِّمها أولًا.
* **ما الذي يصبح أقل تكلفة:** يقلّل التشذيب حجم **cacheWrite** لذلك الطلب الأول بعد انتهاء TTL.
* **أهمية إعادة ضبط TTL:** بمجرد تنفيذ التشذيب، تُعاد نافذة التخزين المؤقت، بحيث يمكن للطلبات اللاحقة إعادة استخدام المطالبة المُخزّنة حديثًا بدلًا من إعادة تخزين السجل الكامل مرة أخرى.
* **ما الذي لا يفعله:** لا يضيف التشذيب رموزًا (tokens) ولا «يُضاعف» التكاليف؛ بل يغيّر فقط ما يتم تخزينه مؤقتًا في ذلك الطلب الأول بعد TTL.

## ما الذي يمكن تشذيبه

* فقط رسائل `toolResult`.
* رسائل المستخدم والمساعد **لا** يتم تعديلها أبدًا.
* آخر `keepLastAssistants` رسائل للمساعد محمية؛ ولا يتم تشذيب نتائج الأدوات بعد حدّ القطع هذا.
* إذا لم يكن هناك عدد كافٍ من رسائل المساعد لتحديد حدّ القطع، يتم تجاوز التشذيب.
* نتائج الأدوات التي تحتوي على **كتل صور** يتم تجاوزها (لا تُقلَّم/تُزال أبدًا).

## تقدير نافذة السياق

يستخدم التشذيب تقديرًا لنافذة السياق (الأحرف ≈ الرموز × 4). ويتم حلّ النافذة الأساسية بهذا الترتيب:

1. تجاوز `models.providers.*.models[].contextWindow`.
2. تعريف النموذج `contextWindow` (من سجل النماذج).
3. القيمة الافتراضية `200000` من الرموز.

إذا تم تعيين `agents.defaults.contextTokens`، فسيُعامل كسقف (الحد الأدنى) على النافذة المُحَلّة.

## النمط

### cache-ttl

* لا يعمل التشذيب إلا إذا كان آخر استدعاء لـ Anthropic أقدم من `ttl` (الافتراضي `5m`).
* عند التنفيذ: نفس سلوك التقليم اللطيف + الإزالة الصارمة كما في السابق.

## ناعمة ضد تشويش قاس

* **التقليم اللطيف**: فقط لنتائج الأدوات كبيرة الحجم.
  * يحتفظ بالمقدمة + الخاتمة، ويدرِج `...`، ويُلحق ملاحظة بالحجم الأصلي.
  * يتجاوز النتائج التي تحتوي على كتل صور.
* **الإزالة الصارمة**: تستبدل نتيجة الأداة بالكامل بـ `hardClear.placeholder`.

## اختيار الأدوات

* يدعم `tools.allow` / `tools.deny` محارف `*` الشاملة.
* إنكار الفوز.
* المطابقة غير حسّاسة لحالة الأحرف.
* قائمة السماح الفارغة => جميع الأدوات مسموح بها.

## التفاعل مع حدود أخرى

* تقوم الأدوات المدمجة أصلًا باقتطاع مخرجاتها؛ ويُعدّ تشذيب الجلسات طبقة إضافية تمنع الدردشات طويلة الأمد من تراكم قدر كبير من مخرجات الأدوات في سياق النموذج.
* الضغط (Compaction) منفصل: الضغط يُلخِّص ويُثبّت، بينما التشذيب مؤقّت لكل طلب. انظر [/concepts/compaction](/concepts/compaction).

## القيم الافتراضية (عند التفعيل)

* `ttl`: `"5m"`
* `keepLastAssistants`: `3`
* `softTrimRatio`: `0.3`
* `hardClearRatio`: `0.5`
* `minPrunableToolChars`: `50000`
* `softTrim`: `{ maxChars: 4000, headChars: 1500, tailChars: 1500 }`
* `hardClear`: `{ enabled: true, placeholder: "[Old tool result content cleared]" }`

## أمثلة

الافتراضي (متوقف):

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agent: {
    contextPruning: { mode: "off" },
  },
}
```

تمكين تشذيب واعٍ بـ TTL:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agent: {
    contextPruning: { mode: "cache-ttl", ttl: "5m" },
  },
}
```

تقييد التشذيب على أدوات محددة:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agent: {
    contextPruning: {
      mode: "cache-ttl",
      tools: { allow: ["exec", "read"], deny: ["*image*"] },
    },
  },
}
```

انظر مرجع التهيئة: [Gateway Configuration](/gateway/configuration)
