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

مطالبة النظام

ينشئ OpenClaw مطالبة نظام مخصصة لكل تشغيل وكيل. تكون المطالبة مملوكة لـ OpenClaw ولا تستخدم المطالبة الافتراضية الخاصة بـ pi-coding-agent. يتم تجميع المطالبة بواسطة OpenClaw وحقنها في كل تشغيل وكيل. يمكن لإضافات الموفر المساهمة بإرشادات مطالبة تراعي التخزين المؤقت دون استبدال مطالبة OpenClaw الكاملة المملوكة له. يمكن لوقت تشغيل الموفر أن:
  • يستبدل مجموعة صغيرة من الأقسام الأساسية المسمّاة (interaction_style, tool_call_style, execution_bias)
  • يحقن بادئة مستقرة فوق حد التخزين المؤقت للمطالبة
  • يحقن لاحقة ديناميكية تحت حد التخزين المؤقت للمطالبة
استخدم المساهمات المملوكة للموفر من أجل الضبط الخاص بعائلة النماذج. أبقِ تعديل المطالبة القديم before_prompt_build من أجل التوافق أو تغييرات المطالبة العالمية فعلًا، وليس لسلوك الموفر المعتاد.

البنية

المطالبة مضغوطة عمدًا وتستخدم أقسامًا ثابتة:
  • الأدوات: تذكير منظَّم بمصدر الحقيقة للأدوات المهيكلة مع إرشادات استخدام الأدوات أثناء وقت التشغيل.
  • السلامة: تذكير مختصر بالضوابط الوقائية لتجنب السلوك الساعي إلى السلطة أو تجاوز الإشراف.
  • Skills (عند توفرها): يوضح للنموذج كيفية تحميل تعليمات المهارة عند الطلب.
  • التحديث الذاتي لـ OpenClaw: كيفية فحص الإعدادات بأمان باستخدام config.schema.lookup، وتعديل الإعدادات باستخدام config.patch، واستبدال الإعدادات كاملة باستخدام config.apply، وتشغيل update.run فقط عند طلب المستخدم الصريح. كما أن أداة gateway المخصَّصة للمالك فقط ترفض أيضًا إعادة كتابة tools.exec.ask / tools.exec.security، بما في ذلك الأسماء المستعارة القديمة tools.bash.* التي تُطبَّع إلى مسارات exec المحمية تلك.
  • مساحة العمل: دليل العمل (agents.defaults.workspace).
  • التوثيق: المسار المحلي إلى وثائق OpenClaw (المستودع أو حزمة npm) ومتى يجب قراءتها.
  • ملفات مساحة العمل (محقونة): تشير إلى أن ملفات التهيئة الأولية مضمنة أدناه.
  • Sandbox (عند التمكين): يوضح بيئة التشغيل المعزولة، ومسارات Sandbox، وما إذا كان التنفيذ المرفوع الصلاحيات متاحًا.
  • التاريخ والوقت الحاليان: الوقت المحلي للمستخدم، والمنطقة الزمنية، وتنسيق الوقت.
  • وسوم الرد: صياغة وسوم الرد الاختيارية للموفرين المدعومين.
  • Heartbeats: مطالبة Heartbeat وسلوك الإقرار، عندما تكون Heartbeats مفعلة للوكيل الافتراضي.
  • وقت التشغيل: المضيف، ونظام التشغيل، وNode، والنموذج، وجذر المستودع (عند اكتشافه)، ومستوى التفكير (سطر واحد).
  • الاستدلال: مستوى الرؤية الحالي + تلميح تبديل /reasoning.
يتضمن قسم الأدوات أيضًا إرشادات أثناء وقت التشغيل للعمل طويل الأمد:
  • استخدم Cron للمتابعة المستقبلية (check back later، والتذكيرات، والعمل المتكرر) بدلًا من حلقات السكون عبر exec، أو حيل التأخير yieldMs، أو الاستطلاع المتكرر لـ process
  • استخدم exec / process فقط للأوامر التي تبدأ الآن وتستمر في العمل في الخلفية
  • عند تمكين التنبيه التلقائي عند الاكتمال، ابدأ الأمر مرة واحدة واعتمد على مسار التنبيه القائم على الدفع عندما يُخرج مخرجات أو يفشل
  • استخدم process للسجلات، أو الحالة، أو الإدخال، أو التدخل عندما تحتاج إلى فحص أمر قيد التشغيل
  • إذا كانت المهمة أكبر، ففضّل sessions_spawn؛ إذ إن اكتمال الوكيل الفرعي قائم على الدفع ويُعلَن عنه تلقائيًا لصاحب الطلب
  • لا تستطلع subagents list / sessions_list ضمن حلقة لمجرد انتظار الاكتمال
عند تمكين أداة update_plan التجريبية، يوجّه قسم الأدوات النموذج أيضًا إلى استخدامها فقط للأعمال غير البسيطة متعددة الخطوات، والحفاظ على خطوة واحدة فقط بحالة in_progress، وتجنب تكرار الخطة كاملة بعد كل تحديث. ضوابط السلامة في مطالبة النظام إرشادية. فهي توجه سلوك النموذج لكنها لا تفرض السياسة. استخدم سياسة الأدوات، وموافقات exec، وSandbox، وقوائم السماح الخاصة بالقنوات لفرض التنفيذ الصارم؛ ويمكن للمشغلين تعطيل هذه الأمور عمدًا. في القنوات التي تحتوي على بطاقات/أزرار موافقة أصلية، توضح مطالبة وقت التشغيل الآن للوكيل أن يعتمد أولًا على واجهة الموافقة الأصلية تلك. ولا ينبغي له تضمين أمر /approve يدوي إلا عندما تشير نتيجة الأداة إلى أن موافقات الدردشة غير متاحة أو أن الموافقة اليدوية هي المسار الوحيد.

أوضاع المطالبة

يمكن لـ OpenClaw عرض مطالبات نظام أصغر للوكلاء الفرعيين. يضبط وقت التشغيل promptMode لكل تشغيل (وليس إعدادًا مرئيًا للمستخدم):
  • full (الافتراضي): يتضمن جميع الأقسام المذكورة أعلاه.
  • minimal: يُستخدم للوكلاء الفرعيين؛ ويحذف Skills واستدعاء الذاكرة والتحديث الذاتي لـ OpenClaw والأسماء المستعارة للنماذج وهوية المستخدم ووسوم الرد والمراسلة والردود الصامتة وHeartbeats. وتبقى الأدوات، والسلامة، ومساحة العمل، وSandbox، والتاريخ والوقت الحاليان (عند معرفتهما)، ووقت التشغيل، والسياق المحقون متاحة.
  • none: يعيد فقط سطر الهوية الأساسي.
عندما يكون promptMode=minimal، تُوسم المطالبات الإضافية المحقونة باسم سياق الوكيل الفرعي بدلًا من سياق الدردشة الجماعية.

حقن التهيئة الأولية لمساحة العمل

تُقص ملفات التهيئة الأولية وتُلحق تحت سياق المشروع بحيث يرى النموذج الهوية وسياق الملف الشخصي دون الحاجة إلى قراءات صريحة:
  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md (فقط في مساحات العمل الجديدة تمامًا)
  • MEMORY.md عند وجوده، وإلا memory.md كبديل بأحرف صغيرة
تُحقن كل هذه الملفات في نافذة السياق عند كل دورة ما لم ينطبق حاجز خاص بملف معين. يُحذف HEARTBEAT.md في التشغيلات العادية عندما تكون Heartbeats معطلة للوكيل الافتراضي أو عندما تكون agents.defaults.heartbeat.includeSystemPromptSection مساوية لـ false. أبقِ الملفات المحقونة موجزة — وخصوصًا MEMORY.md الذي قد يكبر بمرور الوقت ويؤدي إلى استخدام مرتفع غير متوقع للسياق وCompaction أكثر تكرارًا.
ملاحظة: ملفات memory/*.md اليومية ليست جزءًا من سياق المشروع العادي الخاص بالتهيئة الأولية. في الدورات العادية، يُصل إليها عند الطلب عبر أداتي memory_search وmemory_get، لذلك لا تُحتسب ضمن نافذة السياق إلا إذا قرأها النموذج صراحة. أما دورات /new و/reset المجردة فهي الاستثناء: إذ يمكن لوقت التشغيل أن يضيف مقدمًا ذاكرة يومية حديثة ككتلة سياق بدء لمرة واحدة لتلك الدورة الأولى.
تُقتطع الملفات الكبيرة مع علامة. يتحكم agents.defaults.bootstrapMaxChars في الحد الأقصى لحجم كل ملف (الافتراضي: 12000). ويُحدد سقف إجمالي محتوى التهيئة الأولية المحقون عبر الملفات بواسطة agents.defaults.bootstrapTotalMaxChars (الافتراضي: 60000). وتحقن الملفات المفقودة علامة قصيرة تفيد بفقدان الملف. عند حدوث الاقتطاع، يمكن لـ OpenClaw حقن كتلة تحذير في سياق المشروع؛ تحكم في ذلك باستخدام agents.defaults.bootstrapPromptTruncationWarning (off أو once أو always؛ والافتراضي: once). لا تحقن جلسات الوكيل الفرعي سوى AGENTS.md وTOOLS.md (تُرشَّح بقية ملفات التهيئة الأولية للحفاظ على صغر سياق الوكيل الفرعي). يمكن للخطافات الداخلية اعتراض هذه الخطوة عبر agent:bootstrap لتعديل أو استبدال ملفات التهيئة الأولية المحقونة (مثل تبديل SOUL.md بشخصية بديلة). إذا أردت أن تجعل الوكيل يبدو أقل عمومية، فابدأ بـ دليل شخصية SOUL.md. لفحص مقدار مساهمة كل ملف محقون (الخام مقابل المحقون، والاقتطاع، إضافة إلى الحمل الزائد لمخطط الأداة)، استخدم /context list أو /context detail. انظر السياق.

التعامل مع الوقت

تتضمن مطالبة النظام قسمًا مخصصًا بعنوان التاريخ والوقت الحاليان عندما تكون المنطقة الزمنية للمستخدم معروفة. وللحفاظ على استقرار التخزين المؤقت للمطالبة، فهي تتضمن الآن فقط المنطقة الزمنية (من دون ساعة ديناميكية أو تنسيق وقت). استخدم session_status عندما يحتاج الوكيل إلى الوقت الحالي؛ تتضمن بطاقة الحالة سطرًا للطابع الزمني. ويمكن للأداة نفسها اختياريًا ضبط تجاوز نموذج خاص بكل جلسة (model=default يمسحه). اضبط ذلك باستخدام:
  • agents.defaults.userTimezone
  • agents.defaults.timeFormat (auto | 12 | 24)
انظر التاريخ والوقت للحصول على التفاصيل الكاملة للسلوك.

Skills

عندما توجد Skills مؤهلة، يحقن OpenClaw قائمة Skills متاحة مضغوطة (formatSkillsForPrompt) تتضمن مسار الملف لكل Skill. وتوجّه المطالبة النموذج إلى استخدام read لتحميل SKILL.md من الموقع المدرج (مساحة العمل، أو المدار، أو المضمَّن). وإذا لم توجد Skills مؤهلة، يُحذف قسم Skills. تشمل الأهلية بوابات بيانات Skill الوصفية، وفحوصات بيئة/إعدادات وقت التشغيل، وقائمة السماح الفعلية لـ Skills الخاصة بالوكيل عندما تكون agents.defaults.skills أو agents.list[].skills مضبوطة.
<available_skills>
  <skill>
    <name>...</name>
    <description>...</description>
    <location>...</location>
  </skill>
</available_skills>
يحافظ ذلك على صغر المطالبة الأساسية مع الاستمرار في تمكين استخدام Skills بشكل مستهدف. تملك المنظومة الفرعية لـ Skills ميزانية قائمة Skills:
  • الافتراضي العام: skills.limits.maxSkillsPromptChars
  • التجاوز لكل وكيل: agents.list[].skillsLimits.maxSkillsPromptChars
أما المقاطع العامة المقيّدة في وقت التشغيل فتستخدم سطحًا مختلفًا:
  • agents.defaults.contextLimits.*
  • agents.list[].contextLimits.*
يبقي هذا الفصل حجم Skills منفصلًا عن حجم القراءة/الحقن في وقت التشغيل مثل memory_get، ونتائج الأدوات الحية، وتحديثات AGENTS.md بعد Compaction.

التوثيق

عند توفره، تتضمن مطالبة النظام قسم التوثيق الذي يشير إلى دليل وثائق OpenClaw المحلي (إما docs/ في مساحة عمل المستودع أو وثائق حزمة npm المضمَّنة)، ويذكر أيضًا المرآة العامة، ومستودع المصدر، وDiscord الخاص بالمجتمع، وClawHub (https://clawhub.ai) لاكتشاف Skills. وتوجّه المطالبة النموذج إلى الرجوع إلى الوثائق المحلية أولًا لسلوك OpenClaw أو الأوامر أو الإعدادات أو البنية، وإلى تشغيل openclaw status بنفسه متى أمكن (وسؤال المستخدم فقط عندما يفتقر إلى إمكانية الوصول).