Fundamentals
السياق
"السياق" هو كل ما يرسله OpenClaw إلى النموذج لتنفيذ عملية. وهو مقيّد بـ نافذة سياق النموذج (حد الرموز المميّزة).
النموذج الذهني للمبتدئين:
- موجّه النظام (ينشئه OpenClaw): القواعد، والأدوات، وقائمة Skills، والوقت/بيئة التشغيل، وملفات مساحة العمل المُدرجة.
- سجل المحادثة: رسائلك + رسائل المساعد في هذه الجلسة.
- استدعاءات الأدوات/نتائجها + المرفقات: مخرجات الأوامر، وقراءات الملفات، والصور/الصوت، وما إلى ذلك.
السياق ليس هو "الذاكرة" نفسها: يمكن تخزين الذاكرة على القرص وإعادة تحميلها لاحقًا؛ أما السياق فهو ما يوجد داخل نافذة النموذج الحالية.
البدء السريع (فحص السياق)
/status← عرض سريع يجيب عن سؤال "ما مدى امتلاء نافذتي؟" + إعدادات الجلسة./context list← ما تم إدراجه + أحجام تقريبية (لكل ملف + الإجماليات)./context detail← تحليل أكثر تفصيلًا: أحجام كل ملف، ومخططات كل أداة، ومدخلات كل Skill، وحجم موجّه النظام، وعدد رسائل نص المحادثة القابلة للاختصار./context map← صورة خريطة شجرية بأسلوب WinDirStat لمساهمات السياق المتتبعة في الجلسة الحالية./usage tokens← إلحاق تذييل استخدام لكل رد بالردود العادية./compact← تلخيص السجل الأقدم في مدخل مختصر لتوفير مساحة في النافذة.
راجع أيضًا: أوامر الشرطة المائلة، واستخدام الرموز المميّزة والتكاليف، وCompaction.
مثال على المخرجات
تختلف القيم حسب النموذج، والمزوّد، وسياسة الأدوات، ومحتويات مساحة عملك.
/context list
🧠 Context breakdownWorkspace: <workspaceDir>Bootstrap max/file: 12,000 charsSandbox: mode=non-main sandboxed=falseSystem prompt (run): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok)) Injected workspace files:- AGENTS.md: OK | raw 1,742 chars (~436 tok) | injected 1,742 chars (~436 tok)- SOUL.md: OK | raw 912 chars (~228 tok) | injected 912 chars (~228 tok)- TOOLS.md: TRUNCATED | raw 54,210 chars (~13,553 tok) | injected 20,962 chars (~5,241 tok)- IDENTITY.md: OK | raw 211 chars (~53 tok) | injected 211 chars (~53 tok)- USER.md: OK | raw 388 chars (~97 tok) | injected 388 chars (~97 tok)- HEARTBEAT.md: MISSING | raw 0 | injected 0- BOOTSTRAP.md: OK | raw 0 chars (~0 tok) | injected 0 chars (~0 tok) Skills list (system prompt text): 2,184 chars (~546 tok) (12 skills)Tools: read, edit, write, exec, process, browser, message, sessions_send, …Tool list (system prompt text): 1,032 chars (~258 tok)Tool schemas (JSON): 31,988 chars (~7,997 tok) (counts toward context; not shown as text)Tools: (same as above) Session tokens (cached): 14,250 total / ctx=32,000/context detail
🧠 Context breakdown (detailed)…Top skills (prompt entry size):- frontend-design: 412 chars (~103 tok)- oracle: 401 chars (~101 tok)… (+10 more skills) Top tools (schema size):- browser: 9,812 chars (~2,453 tok)- exec: 6,240 chars (~1,560 tok)… (+N more tools)/context map
يرسل صورة مولّدة من أحدث تقرير تشغيل مخزّن مؤقتًا إضافةً إلى نص الجلسة. قبل أن تنتج رسالة عادية تقرير تشغيل في الجلسة، يعيد /context map رسالة تفيد بعدم التوفر بدلًا من عرض تقدير. تتناسب مساحة المستطيل مع عدد محارف الموجّه المتتبعة:
- نص المحادثة (رسائل المستخدم، وردود المساعد، ونتائج الأدوات، وملخصات Compaction)، إضافةً إلى سياق وقت التشغيل لكل دور وإضافات موجّهات الخطافات التي تصل إلى النموذج فقط
- ملفات مساحة العمل المُدرجة
- النص الأساسي لموجّه النظام
- مدخلات موجّهات Skills
- مخططات JSON للأدوات
تنمو مجموعة المحادثة مع نمو الجلسة، لذلك تتغير الخريطة من دور إلى آخر؛ وبعد Compaction تنكمش إلى مربع ملخصات.
لا يزال بإمكان /context list و/context detail و/context json فحص تقدير عند الطلب في حال عدم وجود تقرير تشغيل مخزّن مؤقتًا.
ما الذي يُحتسب ضمن نافذة السياق
يُحتسب كل ما يتلقاه النموذج، بما في ذلك:
- موجّه النظام (جميع الأقسام).
- سجل المحادثة.
- استدعاءات الأدوات + نتائج الأدوات.
- المرفقات/النصوص المفرغة (الصور/الصوت/الملفات).
- ملخصات Compaction وآثار التشذيب.
- "أغلفة" المزوّد أو الترويسات المخفية (غير مرئية، لكنها تُحتسب).
كيفية إنشاء OpenClaw لموجّه النظام
موجّه النظام مملوك لـ OpenClaw ويُعاد إنشاؤه مع كل تشغيل. ويتضمن:
- قائمة الأدوات + أوصاف مختصرة.
- قائمة Skills (البيانات الوصفية فقط؛ انظر أدناه).
- موقع مساحة العمل.
- الوقت (UTC + وقت المستخدم المحوّل إذا كان مضبوطًا).
- البيانات الوصفية لبيئة التشغيل (المضيف/نظام التشغيل/النموذج/التفكير).
- ملفات تمهيد مساحة العمل المُدرجة ضمن سياق المشروع.
التحليل الكامل: موجّه النظام.
ملفات مساحة العمل المُدرجة (سياق المشروع)
بشكل افتراضي، يُدرج OpenClaw مجموعة ثابتة من ملفات مساحة العمل (إن كانت موجودة):
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(عند التشغيل الأول فقط)
تُقتطع الملفات الكبيرة لكل ملف باستخدام agents.defaults.bootstrapMaxChars (القيمة الافتراضية 20000 محرف). ويفرض OpenClaw أيضًا حدًا إجماليًا لإدراج ملفات التمهيد عبر جميع الملفات باستخدام agents.defaults.bootstrapTotalMaxChars (القيمة الافتراضية 60000 محرف). يعرض /context الأحجام الأصلية مقابل المُدرجة وما إذا حدث اقتطاع.
عند حدوث الاقتطاع، يمكن لبيئة التشغيل إدراج كتلة تحذير داخل الموجّه ضمن سياق المشروع. اضبط ذلك باستخدام agents.defaults.bootstrapPromptTruncationWarning (off أو once أو always؛ القيمة الافتراضية always).
Skills: المُدرجة مقابل المحمّلة عند الطلب
يتضمن موجّه النظام قائمة Skills موجزة (الاسم + الوصف + الموقع). ولهذه القائمة تكلفة فعلية.
لا تُضمّن تعليمات Skill بشكل افتراضي. ومن المتوقع أن يستخدم النموذج read لقراءة ملف SKILL.md الخاص بها عند الحاجة فقط.
الأدوات: هناك تكلفتان
تؤثر الأدوات في السياق بطريقتين:
- نص قائمة الأدوات في موجّه النظام (ما تراه باسم "الأدوات").
- مخططات الأدوات (JSON). تُرسل هذه إلى النموذج حتى يتمكن من استدعاء الأدوات. وتُحتسب ضمن السياق رغم أنك لا تراها كنص عادي.
يحلل /context detail أكبر مخططات الأدوات حتى تتمكن من معرفة العناصر المهيمنة.
الأوامر والتوجيهات و"الاختصارات المضمنة"
يتولى Gateway معالجة أوامر الشرطة المائلة. وهناك عدة سلوكيات مختلفة:
- الأوامر المستقلة: تُنفّذ الرسالة التي لا تحتوي إلا على
/...كأمر. - التوجيهات: تُزال
/thinkو/fastو/verboseو/traceو/reasoningو/elevatedو/execو/modelو/queueقبل أن يرى النموذج الرسالة.- تحتفظ الرسائل التي تتضمن توجيهات فقط بإعدادات الجلسة.
- تعمل التوجيهات المضمنة في رسالة عادية كتلميحات خاصة بتلك الرسالة.
- الاختصارات المضمنة (للمرسلين المدرجين في قائمة السماح فقط): يمكن تشغيل رموز
/...معينة داخل رسالة عادية فورًا (مثال: "مرحبًا /status")، وتُزال قبل أن يرى النموذج النص المتبقي.
التفاصيل: أوامر الشرطة المائلة.
الجلسات وCompaction والتشذيب (ما يستمر)
يعتمد ما يستمر عبر الرسائل على الآلية:
- يستمر السجل العادي في نص الجلسة إلى أن يخضع لـ Compaction أو التشذيب وفقًا للسياسة.
- يحتفظ Compaction بملخص داخل النص ويُبقي الرسائل الحديثة سليمة.
- يزيل التشذيب نتائج الأدوات القديمة من الموجّه الموجود في الذاكرة لتوفير مساحة في نافذة السياق، لكنه لا يعيد كتابة نص الجلسة — يظل السجل الكامل قابلًا للفحص على القرص.
الوثائق: الجلسة، وCompaction، وتشذيب الجلسة.
بشكل افتراضي، يستخدم OpenClaw محرك السياق المضمّن legacy للتجميع وCompaction. إذا ثبّتت Plugin توفر kind: "context-engine" واخترتها باستخدام plugins.slots.contextEngine، يفوّض OpenClaw تجميع السياق و/compact وخطافات دورة حياة سياق الوكلاء الفرعيين ذات الصلة إلى ذلك المحرك بدلًا منه. لا يؤدي ownsCompaction: false إلى الرجوع التلقائي إلى المحرك legacy؛ إذ يجب على المحرك النشط مع ذلك تنفيذ compact() تنفيذًا صحيحًا. راجع محرك السياق للاطلاع على الواجهة الكاملة القابلة للتوسعة، وخطافات دورة الحياة، والإعدادات.
ما الذي يعرضه /context فعليًا
يفضّل /context أحدث تقرير لموجّه النظام تم إنشاؤه أثناء التشغيل عند توفره:
System prompt (run)= تم التقاطه من آخر تشغيل مضمن (قادر على استخدام الأدوات) وحفظه في مخزن الجلسة.System prompt (estimate)= يُحسب فورًا عند عدم وجود تقرير تشغيل (أو عند التشغيل عبر واجهة CLI خلفية لا تنشئ التقرير).
في كلتا الحالتين، يعرض الأحجام وأبرز المساهمين؛ ولا يعرض النص الكامل لموجّه النظام أو مخططات الأدوات. وفي الوضع التفصيلي، يقارن أيضًا نص الجلسة باستخدام معيار رسائل المحادثة الحقيقية نفسه الذي يستخدمه Compaction، بحيث يسهل تمييز الاستهلاك المرتفع للموجّه/ذاكرة التخزين المؤقت عن سجل المحادثة القابل للاختصار.