الانتقال إلى المحتوى الرئيسي

السياق

«السياق» هو كل ما يرسله OpenClaw إلى النموذج أثناء التشغيل. وهو مقيّد بـ نافذة السياق الخاصة بالنموذج (حد الرموز). نموذج ذهني مبسّط للمبتدئين:
  • توجيه النظام (يبنيه OpenClaw): القواعد، والأدوات، وقائمة Skills، والوقت/بيئة التشغيل، وملفات مساحة العمل المُدرجة.
  • سجل المحادثة: رسائلك + رسائل المساعد في هذه الجلسة.
  • استدعاءات الأدوات/نتائجها + المرفقات: مخرجات الأوامر، وقراءات الملفات، والصور/الصوت، وغير ذلك.
السياق ليس الشيء نفسه الذي تعنيه «الذاكرة»: يمكن تخزين الذاكرة على القرص وإعادة تحميلها لاحقًا؛ أما السياق فهو ما يوجد داخل نافذة النموذج الحالية.

بداية سريعة (فحص السياق)

  • /status ← عرض سريع يجيب عن سؤال: «إلى أي مدى امتلأت نافذتي؟» + إعدادات الجلسة.
  • /context list ← ما الذي تم إدراجه + أحجام تقريبية (لكل ملف + الإجماليات).
  • /context detail ← تفصيل أعمق: أحجام كل ملف، وأحجام مخططات كل أداة، وأحجام إدخالات كل Skill، وحجم توجيه النظام.
  • /usage tokens ← يضيف تذييلًا لاستهلاك الرموز لكل رد إلى الردود العادية.
  • /compact ← يلخّص السجل الأقدم في إدخال مضغوط لتفريغ مساحة في النافذة.
انظر أيضًا: أوامر الشرطة المائلة، استخدام الرموز والتكاليف، Compaction.

مثال على المخرجات

تختلف القيم حسب النموذج، والمزوّد، وسياسة الأدوات، وما يوجد في مساحة عملك.

/context list

🧠 تفصيل السياق
مساحة العمل: <workspaceDir>
الحد الأقصى للتمهيد/لكل ملف: 12,000 حرف
Sandbox: mode=non-main sandboxed=false
توجيه النظام (التشغيل): 38,412 حرفًا (~9,603 رموز) (سياق المشروع 23,901 حرفًا (~5,976 رموز))

ملفات مساحة العمل المُدرجة:
- AGENTS.md: OK | الخام 1,742 حرفًا (~436 رموز) | المُدرج 1,742 حرفًا (~436 رموز)
- SOUL.md: OK | الخام 912 حرفًا (~228 رموز) | المُدرج 912 حرفًا (~228 رموز)
- TOOLS.md: TRUNCATED | الخام 54,210 حرفًا (~13,553 رموز) | المُدرج 20,962 حرفًا (~5,241 رموز)
- IDENTITY.md: OK | الخام 211 حرفًا (~53 رموز) | المُدرج 211 حرفًا (~53 رموز)
- USER.md: OK | الخام 388 حرفًا (~97 رموز) | المُدرج 388 حرفًا (~97 رموز)
- HEARTBEAT.md: MISSING | الخام 0 | المُدرج 0
- BOOTSTRAP.md: OK | الخام 0 حرفًا (~0 رموز) | المُدرج 0 حرفًا (~0 رموز)

قائمة Skills (نص توجيه النظام): 2,184 حرفًا (~546 رموز) (12 Skills)
الأدوات: read, edit, write, exec, process, browser, message, sessions_send, …
قائمة الأدوات (نص توجيه النظام): 1,032 حرفًا (~258 رموز)
مخططات الأدوات (JSON): 31,988 حرفًا (~7,997 رموز) (تُحتسب ضمن السياق؛ لا تُعرض كنص)
الأدوات: (كما سبق)

رموز الجلسة (مخزنة مؤقتًا): 14,250 إجمالًا / ctx=32,000

/context detail

🧠 تفصيل السياق (مفصل)

أكبر Skills (حجم إدخال التوجيه):
- frontend-design: 412 حرفًا (~103 رموز)
- oracle: 401 حرفًا (~101 رموز)
… (+10 أخرى من Skills)

أكبر الأدوات (حجم المخطط):
- browser: 9,812 حرفًا (~2,453 رموز)
- exec: 6,240 حرفًا (~1,560 رموز)
… (+N أدوات أخرى)

ما الذي يُحتسب ضمن نافذة السياق

كل ما يتلقاه النموذج يُحتسب، بما في ذلك:
  • توجيه النظام (كل الأقسام).
  • سجل المحادثة.
  • استدعاءات الأدوات + نتائج الأدوات.
  • المرفقات/النصوص المفرّغة (صور/صوت/ملفات).
  • ملخصات Compaction وعناصر التقليم.
  • «الأغلفة» الخاصة بالمزوّد أو الرؤوس المخفية (غير مرئية، لكنها لا تزال محتسبة).

كيف يبني OpenClaw توجيه النظام

توجيه النظام مملوك لـ OpenClaw ويُعاد بناؤه في كل تشغيل. وهو يتضمن:
  • قائمة الأدوات + أوصافًا مختصرة.
  • قائمة Skills (بيانات وصفية فقط؛ انظر أدناه).
  • موقع مساحة العمل.
  • الوقت (UTC + وقت المستخدم بعد التحويل إذا كان مضبوطًا).
  • بيانات وقت التشغيل الوصفية (المضيف/نظام التشغيل/النموذج/التفكير).
  • ملفات تمهيد مساحة العمل المُدرجة ضمن سياق المشروع.
للاطلاع على التفصيل الكامل: توجيه النظام.

ملفات مساحة العمل المُدرجة (سياق المشروع)

بشكل افتراضي، يدرج OpenClaw مجموعة ثابتة من ملفات مساحة العمل (إذا كانت موجودة):
  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md (في التشغيل الأول فقط)
تُقتطع الملفات الكبيرة لكل ملف على حدة باستخدام agents.defaults.bootstrapMaxChars (القيمة الافتراضية 12000 حرف). كما يفرض OpenClaw حدًا إجماليًا لحقن التمهيد عبر جميع الملفات باستخدام agents.defaults.bootstrapTotalMaxChars (القيمة الافتراضية 60000 حرف). يعرض /context الأحجام الخام مقابل المُدرج وما إذا كان قد حدث اقتطاع. عند حدوث اقتطاع، يمكن لوقت التشغيل إدراج كتلة تحذير داخل التوجيه ضمن سياق المشروع. اضبط ذلك عبر agents.defaults.bootstrapPromptTruncationWarning (off أو once أو always؛ والقيمة الافتراضية once).

Skills: المُدرج مقابل المُحمّل عند الطلب

يتضمن توجيه النظام قائمة Skills مضغوطة (الاسم + الوصف + الموقع). لهذه القائمة حمل فعلي. لا تُدرج تعليمات Skill بشكل افتراضي. من المتوقع أن يستخدم النموذج read لقراءة ملف SKILL.md الخاص بالـ Skill عند الحاجة فقط.

الأدوات: هناك تكلفتان

تؤثر الأدوات في السياق بطريقتين:
  1. نص قائمة الأدوات في توجيه النظام (ما تراه تحت اسم «Tooling»).
  2. مخططات الأدوات (JSON). تُرسل هذه إلى النموذج حتى يتمكن من استدعاء الأدوات. وهي تُحتسب ضمن السياق حتى لو لم ترها كنص عادي.
يقسم /context detail أكبر مخططات الأدوات حتى تتمكن من معرفة ما الذي يهيمن على الحجم.

الأوامر، والتوجيهات، و”الاختصارات المضمّنة”

تتعامل Gateway مع أوامر الشرطة المائلة. وهناك عدة سلوكيات مختلفة:
  • أوامر مستقلة: إذا كانت الرسالة تحتوي فقط على /...، تُنفّذ كأمر.
  • توجيهات: /think و/verbose و/trace و/reasoning و/elevated و/model و/queue تُزال قبل أن يرى النموذج الرسالة.
    • الرسائل التي تحتوي على توجيهات فقط تحفظ إعدادات الجلسة.
    • التوجيهات المضمّنة داخل رسالة عادية تعمل كتلميحات خاصة بتلك الرسالة.
  • اختصارات مضمّنة (للمرسلين المسموح لهم فقط): يمكن لبعض رموز /... داخل رسالة عادية أن تُنفّذ فورًا (مثال: “hey /status”)، وتُزال قبل أن يرى النموذج النص المتبقي.
للتفاصيل: أوامر الشرطة المائلة.

الجلسات، وCompaction، والتقليم (ما الذي يستمر)

يعتمد ما يستمر عبر الرسائل على الآلية:
  • السجل العادي يستمر في نص الجلسة حتى يُضغط/يُقلَّم حسب السياسة.
  • Compaction يحفظ ملخصًا داخل النص ويُبقي الرسائل الحديثة كما هي.
  • التقليم يزيل نتائج الأدوات القديمة من التوجيه الموجود في الذاكرة أثناء التشغيل، لكنه لا يعيد كتابة النص.
الوثائق: الجلسة، Compaction، تقليم الجلسة. بشكل افتراضي، يستخدم OpenClaw محرك السياق المدمج legacy للتجميع و Compaction. إذا ثبّتَّ Plugin يوفّر kind: "context-engine" و اخترته باستخدام plugins.slots.contextEngine، فسيفوّض OpenClaw تجميع السياق، و/compact، وخطافات دورة حياة سياق الوكيل الفرعي ذات الصلة إلى ذلك المحرك بدلًا من ذلك. إن ownsCompaction: false لا يؤدي إلى رجوع تلقائي إلى المحرك legacy؛ بل يجب على المحرك النشط أن يطبّق compact() بشكل صحيح. راجع Context Engine للاطلاع على الواجهة الكاملة القابلة للتوصيل، وخطافات دورة الحياة، والإعدادات.

ماذا يعرض /context فعليًا

يفضّل /context أحدث تقرير لتوجيه النظام المبني أثناء التشغيل عندما يكون متاحًا:
  • System prompt (run) = مُلتقط من آخر تشغيل مضمن (قادر على استخدام الأدوات) ومحفوظ في مخزن الجلسة.
  • System prompt (estimate) = يُحتسب أثناء التنفيذ عند عدم وجود تقرير تشغيل (أو عند التشغيل عبر خلفية CLI لا تُنشئ التقرير).
في كلتا الحالتين، يعرض الأحجام وأكبر المساهمين؛ لكنه لا يفرّغ توجيه النظام الكامل أو مخططات الأدوات.

ذو صلة