Fundamentals
السياق
"السياق" هو كل ما يرسله OpenClaw إلى النموذج لتشغيل واحد. وهو مقيّد بـ نافذة السياق الخاصة بالنموذج (حد الرموز المميزة).
النموذج الذهني للمبتدئين:
- موجّه النظام (يبنيه OpenClaw): القواعد، الأدوات، قائمة Skills، الوقت/بيئة التشغيل، وملفات مساحة العمل المحقونة.
- سجل المحادثة: رسائلك + رسائل المساعد لهذه الجلسة.
- استدعاءات/نتائج الأدوات + المرفقات: مخرجات الأوامر، قراءات الملفات، الصور/الصوت، وغير ذلك.
السياق ليس هو نفسه "الذاكرة": يمكن تخزين الذاكرة على القرص وإعادة تحميلها لاحقا؛ أما السياق فهو ما يوجد داخل النافذة الحالية للنموذج.
البدء السريع (فحص السياق)
/status→ عرض سريع "ما مدى امتلاء نافذتي؟" + إعدادات الجلسة./context list→ ما الذي تم حقنه + أحجام تقريبية (لكل ملف + الإجماليات)./context detail→ تفصيل أعمق: أحجام كل ملف، وأحجام مخططات كل أداة، وأحجام إدخالات كل Skill، وحجم موجّه النظام./usage tokens→ إلحاق تذييل استخدام لكل رد مع الردود العادية./compact→ تلخيص السجل الأقدم في إدخال مضغوط لتفريغ مساحة في النافذة.
راجع أيضا: أوامر الشرطة المائلة، استخدام الرموز المميزة والتكاليف، Compaction.
مثال للمخرجات
تختلف القيم حسب النموذج، والمزوّد، وسياسة الأدوات، وما يوجد في مساحة عملك.
/context list
🧠 Context breakdown
Workspace: <workspaceDir>
Bootstrap max/file: 12,000 chars
Sandbox: mode=non-main sandboxed=false
System 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)
ما الذي يُحتسب ضمن نافذة السياق
كل ما يتلقاه النموذج يُحتسب، بما في ذلك:
- موجّه النظام (كل الأقسام).
- سجل المحادثة.
- استدعاءات الأدوات + نتائج الأدوات.
- المرفقات/النصوص المنسوخة (الصور/الصوت/الملفات).
- ملخصات Compaction وآثار التشذيب.
- "أغلفة" المزوّد أو الترويسات المخفية (غير مرئية، لكنها ما زالت تُحتسب).
كيف يبني OpenClaw موجّه النظام
موجّه النظام مملوك لـ OpenClaw ويُعاد بناؤه في كل تشغيل. ويتضمن:
- قائمة الأدوات + أوصافا قصيرة.
- قائمة Skills (بيانات وصفية فقط؛ انظر أدناه).
- موقع مساحة العمل.
- الوقت (UTC + وقت المستخدم المحوّل إذا كان مكوّنا).
- بيانات تعريف بيئة التشغيل (المضيف/نظام التشغيل/النموذج/التفكير).
- ملفات تمهيد مساحة العمل المحقونة ضمن سياق المشروع.
التفصيل الكامل: موجّه النظام.
ملفات مساحة العمل المحقونة (سياق المشروع)
افتراضيا، يحقن OpenClaw مجموعة ثابتة من ملفات مساحة العمل (إذا كانت موجودة):
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.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 عند الحاجة فقط.
الأدوات: هناك تكلفتان
تؤثر الأدوات في السياق بطريقتين:
- نص قائمة الأدوات في موجّه النظام (ما تراه باسم "الأدوات").
- مخططات الأدوات (JSON). تُرسل هذه إلى النموذج حتى يتمكن من استدعاء الأدوات. وهي تُحتسب ضمن السياق حتى لو لم ترها كنص عادي.
يفصل /context detail أكبر مخططات الأدوات حتى تتمكن من معرفة ما يهيمن على الحجم.
الأوامر، والتوجيهات، و"الاختصارات المضمنة"
تتعامل Gateway مع أوامر الشرطة المائلة. هناك عدة سلوكيات مختلفة:
- الأوامر المستقلة: رسالة تحتوي فقط على
/...تُشغّل كأمر. - التوجيهات: تُزال
/think، و/verbose، و/trace، و/reasoning، و/elevated، و/model، و/queueقبل أن يرى النموذج الرسالة.- رسائل التوجيه فقط تحتفظ بإعدادات الجلسة.
- التوجيهات المضمنة في رسالة عادية تعمل كتلميحات خاصة بالرسالة.
- الاختصارات المضمنة (للمرسلين المدرجين في قائمة السماح فقط): يمكن لبعض رموز
/...داخل رسالة عادية أن تعمل فورا (مثال: "مرحبا /status")، وتُزال قبل أن يرى النموذج النص المتبقي.
التفاصيل: أوامر الشرطة المائلة.
الجلسات، و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 لا تولّد التقرير).
في كلتا الحالتين، يبلّغ عن الأحجام وأهم المساهمين؛ ولا يفرغ موجّه النظام الكامل أو مخططات الأدوات.