Fundamentals

السياق

"السياق" هو كل ما يرسله OpenClaw إلى النموذج للتشغيل. وهو مقيّد بـ نافذة السياق الخاصة بالنموذج (حدّ الرموز).

النموذج الذهني للمبتدئين:

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

السياق ليس الشيء نفسه مثل "الذاكرة": يمكن تخزين الذاكرة على القرص وإعادة تحميلها لاحقًا؛ أما السياق فهو ما يوجد داخل نافذة النموذج الحالية.

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

  • /status → عرض سريع لـ "ما مدى امتلاء نافذتي؟" + إعدادات الجلسة.
  • /context list → ما تم حقنه + الأحجام التقريبية (لكل ملف + الإجماليات).
  • /context detail → تفصيل أعمق: لكل ملف، وأحجام مخططات كل أداة، وأحجام إدخالات كل Skill، وحجم موجّه النظام، وعدّ رسائل النص القابلة للـ Compaction.
  • /context map → صورة خريطة شجرية بأسلوب WinDirStat لمساهمي السياق المتتبّعين في الجلسة الحالية.
  • /usage tokens → إلحاق تذييل استخدام لكل رد بالردود العادية.
  • /compact → تلخيص السجل الأقدم في إدخال مدمج لتحرير مساحة النافذة.

انظر أيضًا: أوامر الشرطة المائلة، استخدام الرموز والتكاليف، Compaction.

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

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

/context list

Code
🧠 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

Code
🧠 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 رسالة تفيد بعدم التوفر بدلًا من عرض تقدير. مساحة المستطيل تتناسب مع أحرف الموجّه المتتبّعة:

  • ملفات مساحة العمل المحقونة
  • نص موجّه النظام الأساسي
  • إدخالات موجّه Skill
  • مخططات JSON للأدوات

لا تزال /context list و/context detail و/context json قادرة على فحص تقدير عند الطلب عندما لا يكون هناك تقرير تشغيل مخزّن مؤقتًا.

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

يُحتسب كل ما يستلمه النموذج، بما في ذلك:

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

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

موجّه النظام مملوك لـ OpenClaw ويُعاد بناؤه في كل تشغيل. يتضمن:

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

التفصيل الكامل: موجّه النظام.

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

افتراضيًا، يحقن OpenClaw مجموعة ثابتة من ملفات مساحة العمل (إذا كانت موجودة):

  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md (التشغيل الأول فقط)

تُقتطع الملفات الكبيرة لكل ملف باستخدام agents.defaults.bootstrapMaxChars (الافتراضي 20000 حرف). يفرض OpenClaw أيضًا حدًا إجماليًا لحقن التمهيد عبر الملفات باستخدام agents.defaults.bootstrapTotalMaxChars (الافتراضي 60000 حرف). يعرض /context الأحجام الخام مقابل المحقونة وما إذا حدث الاقتطاع.

عند حدوث الاقتطاع، يمكن لبيئة التشغيل حقن كتلة تحذير داخل الموجّه ضمن سياق المشروع. كوّن هذا باستخدام agents.defaults.bootstrapPromptTruncationWarning (off، once، always؛ الافتراضي always).

Skills: محقونة مقابل محمّلة عند الطلب

يتضمن موجّه النظام قائمة Skills مضغوطة (الاسم + الوصف + الموقع). لهذه القائمة عبء حقيقي.

لا تُضمّن تعليمات Skill افتراضيًا. يُتوقع من النموذج أن يستخدم read لقراءة SKILL.md الخاصة بالـ Skill عند الحاجة فقط.

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

تؤثر الأدوات في السياق بطريقتين:

  1. نص قائمة الأدوات في موجّه النظام (ما تراه باسم "الأدوات").
  2. مخططات الأدوات (JSON). تُرسل هذه إلى النموذج لكي يتمكن من استدعاء الأدوات. وهي تُحتسب ضمن السياق رغم أنك لا تراها كنص عادي.

يفصل /context detail أكبر مخططات الأدوات حتى تتمكن من معرفة ما يهيمن.

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

يتعامل Gateway مع أوامر الشرطة المائلة. هناك بضعة سلوكيات مختلفة:

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

التفاصيل: أوامر الشرطة المائلة.

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

يعتمد ما يستمر عبر الرسائل على الآلية:

  • السجل العادي يستمر في نص الجلسة حتى يجري عليه Compaction/تقليمه حسب السياسة.
  • Compaction يحفظ ملخصًا في النص ويحافظ على الرسائل الحديثة كما هي.
  • التقليم يسقط نتائج الأدوات القديمة من موجّه الذاكرة لتحرير مساحة نافذة السياق، لكنه لا يعيد كتابة نص الجلسة - يظل السجل الكامل قابلًا للفحص على القرص.

المستندات: الجلسة، Compaction، تقليم الجلسة.

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

ما الذي يبلّغ عنه /context فعليًا

يفضّل /context أحدث تقرير موجّه نظام مبني أثناء التشغيل عند توفره:

  • System prompt (run) = مُلتقط من آخر تشغيل مضمن (قادر على الأدوات) ومحفوظ في مخزن الجلسة.
  • System prompt (estimate) = يُحسب في الحال عندما لا يوجد تقرير تشغيل (أو عند التشغيل عبر خلفية CLI لا تولّد التقرير).

في كلتا الحالتين، يبلّغ عن الأحجام وأهم المساهمين؛ ولا يفرغ موجّه النظام الكامل أو مخططات الأدوات. في الوضع التفصيلي، يقارن أيضًا نص الجلسة بنفس معيار رسائل المحادثة الحقيقية المستخدم في Compaction، بحيث يصبح من الأسهل تمييز الاستخدام العالي للموجّه/التخزين المؤقت عن سجل المحادثة القابل للـ Compaction.

ذات صلة

Was this useful?
On this page

On this page