Fundamentals

موجّه النظام

يبني OpenClaw مطالبة نظام مخصصة لكل تشغيل وكيل. المطالبة مملوكة لـ OpenClaw ولا تستخدم مطالبة افتراضية في وقت التشغيل.

تُجمَّع المطالبة بواسطة OpenClaw وتُحقن في كل تشغيل وكيل.

يتكون تجميع المطالبة من ثلاث طبقات:

  • يعرض buildAgentSystemPrompt المطالبة من مُدخلات صريحة. ينبغي أن يبقى عارضًا نقيًا وألا يقرأ التكوين العام مباشرة.
  • يحل resolveAgentSystemPromptConfig مقابض المطالبة المدعومة بالتكوين مثل عرض المالك، وتلميحات TTS، والأسماء المستعارة للنماذج، ووضع اقتباس الذاكرة، ووضع تفويض الوكلاء الفرعيين لوكيل محدد.
  • تجمع مهايئات وقت التشغيل (المضمنة، وCLI، ومعاينات الأوامر/التصدير، وCompaction) الحقائق الحية مثل الأدوات، وحالة وضع الحماية، وقدرات القناة، وملفات السياق، ومساهمات مطالبة المزوّد، ثم تستدعي واجهة المطالبة المكوّنة.

يبقي هذا أسطح المطالبة المصدّرة/المستخدمة للتصحيح متوافقة مع التشغيلات الحية دون تحويل كل تفصيل خاص بوقت التشغيل إلى باني واحد ضخم.

يمكن لـ Pluginات المزوّد أن تساهم بإرشادات مطالبة واعية بالتخزين المؤقت دون استبدال المطالبة الكاملة المملوكة لـ OpenClaw. يستطيع وقت تشغيل المزوّد:

  • استبدال مجموعة صغيرة من أقسام النواة المسماة (interaction_style, tool_call_style, execution_bias)
  • حقن بادئة مستقرة فوق حد ذاكرة التخزين المؤقت للمطالبة
  • حقن لاحقة ديناميكية تحت حد ذاكرة التخزين المؤقت للمطالبة

استخدم المساهمات المملوكة للمزوّد للضبط الخاص بعائلة النموذج. أبقِ تعديل المطالبة القديم before_prompt_build للتوافق أو لتغييرات المطالبة العامة فعلًا، وليس لسلوك المزوّد العادي.

يحافظ تراكب عائلة OpenAI GPT-5 على قاعدة تنفيذ النواة صغيرة ويضيف إرشادات خاصة بالنموذج لتثبيت الشخصية، والإخراج الموجز، وانضباط الأدوات، والبحث المتوازي، وتغطية المخرجات، والتحقق، والسياق المفقود، ونظافة أداة الطرفية.

البنية

المطالبة مضغوطة عن قصد وتستخدم أقسامًا ثابتة:

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

يبقي OpenClaw المحتوى المستقر الكبير، بما في ذلك سياق المشروع، فوق حد ذاكرة التخزين المؤقت الداخلية للمطالبة. تُلحق أقسام القناة/الجلسة المتقلبة مثل إرشادات تضمين واجهة التحكم، والمراسلة، والصوت، وسياق الدردشة الجماعية، والتفاعلات، وHeartbeats، ووقت التشغيل تحت ذلك الحد كي تتمكن الواجهات الخلفية المحلية ذات ذاكرات بادئة التخزين المؤقت من إعادة استخدام بادئة مساحة العمل المستقرة عبر أدوار القنوات. وبالمثل ينبغي أن تتجنب أوصاف الأدوات تضمين أسماء القنوات الحالية عندما يحمل المخطط المقبول ذلك التفصيل الخاص بوقت التشغيل بالفعل.

يتضمن قسم الأدوات أيضًا إرشادات وقت التشغيل للعمل طويل الأمد:

  • استخدم Cron للمتابعة المستقبلية (check back later، والتذكيرات، والعمل المتكرر) بدلًا من حلقات سكون exec، أو حيل تأخير yieldMs، أو استطلاع process المتكرر
  • استخدم exec / process فقط للأوامر التي تبدأ الآن وتستمر في العمل في الخلفية
  • عند تمكين إيقاظ الإكمال التلقائي، ابدأ الأمر مرة واحدة واعتمد على مسار الإيقاظ القائم على الدفع عندما يصدر مخرجات أو يفشل
  • استخدم process للسجلات، أو الحالة، أو الإدخال، أو التدخل عندما تحتاج إلى فحص أمر قيد التشغيل
  • إذا كانت المهمة أكبر، ففضّل sessions_spawn؛ إكمال الوكيل الفرعي قائم على الدفع ويعلن تلقائيًا للطالب
  • لا تستطلع subagents list / sessions_list في حلقة لمجرد انتظار الإكمال

يمكن لـ agents.defaults.subagents.delegationMode تقوية هذه الإرشادات. يحافظ وضع suggest الافتراضي على التنبيه الأساسي. يضيف prefer قسمًا مخصصًا تفويض الوكيل الفرعي يخبر الوكيل الرئيسي بالعمل كمنسق سريع الاستجابة ودفع أي شيء أكثر تعقيدًا من رد مباشر عبر sessions_spawn. هذا خاص بالمطالبة فقط؛ لا تزال سياسة الأدوات تتحكم فيما إذا كان sessions_spawn متاحًا.

عند تمكين أداة update_plan التجريبية، يخبر قسم الأدوات أيضًا النموذج باستخدامها فقط للعمل متعدد الخطوات غير التافه، والإبقاء على خطوة واحدة بالضبط in_progress، وتجنب تكرار الخطة كلها بعد كل تحديث.

حواجز السلامة في مطالبة النظام إرشادية. فهي توجه سلوك النموذج لكنها لا تفرض السياسة. استخدم سياسة الأدوات، وموافقات التنفيذ، ووضع الحماية، وقوائم السماح للقنوات للإنفاذ الصارم؛ ويمكن للمشغلين تعطيلها عمدًا.

في القنوات ذات بطاقات/أزرار الموافقة الأصلية، تخبر مطالبة وقت التشغيل الآن الوكيل بالاعتماد أولًا على واجهة الموافقة الأصلية تلك. ينبغي ألا يضمّن أمر /approve يدويًا إلا عندما تقول نتيجة الأداة إن موافقات الدردشة غير متاحة أو أن الموافقة اليدوية هي المسار الوحيد.

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

يمكن لـ OpenClaw عرض مطالبات نظام أصغر للوكلاء الفرعيين. يضبط وقت التشغيل promptMode لكل تشغيل (وليس تكوينًا مواجهًا للمستخدم):

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

عندما يكون promptMode=minimal، تُوسم المطالبات المحقونة الإضافية باسم سياق الوكيل الفرعي بدلًا من سياق الدردشة الجماعية.

بالنسبة إلى تشغيلات الرد التلقائي للقناة، يحذف OpenClaw قسم الردود الصامتة العام عندما يمتلك سياق مباشر، أو جماعي، أو خاص بأداة الرسائل فقط عقد الرد المرئي. ينبغي أن يعرض وضع القناة/المجموعة التلقائي القديم فقط NO_REPLY؛ لا تتلقى الدردشات المباشرة والردود الخاصة بأداة الرسائل فقط إرشادات الرمز الصامت.

لقطات المطالبة

يحتفظ OpenClaw بلقطات مطالبة ملتزم بها لمسار السعادة في وقت تشغيل Codex ضمن test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/. تعرض هذه اللقطات معلمات محددة لخيط/دور خادم التطبيق بالإضافة إلى مكدس طبقات مطالبة مرتبط بالنموذج مُعاد بناؤه لأدوار Telegram المباشرة، ومجموعة Discord، وHeartbeat. يتضمن ذلك المكدس مثبت مطالبة نموذج Codex gpt-5.5 المولّد من شكل كتالوج/ذاكرة تخزين مؤقت نماذج Codex، ونص مطور أذونات مسار السعادة في Codex، وتعليمات مطوري OpenClaw، وتعليمات وضع التعاون محددة الدور عندما يوفرها OpenClaw، ومدخلات دور المستخدم، وإشارات إلى مواصفات الأدوات الديناميكية.

حدّث مثبت مطالبة نموذج Codex باستخدام pnpm prompt:snapshots:sync-codex-model. افتراضيًا، يبحث السكربت عن ذاكرة تخزين وقت تشغيل Codex في $CODEX_HOME/models_cache.json، ثم ~/.codex/models_cache.json، وبعد ذلك فقط يرجع إلى اصطلاح نسخة Codex للمشرف في ~/code/codex/codex-rs/models-manager/models.json. إذا لم توجد أي من هذه المصادر، يخرج الأمر دون تغيير المثبت الملتزم. مرّر --catalog <path> للتحديث من ملف models_cache.json أو models.json محدد.

ما زالت هذه اللقطات ليست التقاطًا خامًا لطلب OpenAI مطابقًا بايتًا ببايت. يمكن لـ Codex إضافة سياق مساحة عمل مملوك لوقت التشغيل مثل AGENTS.md، وسياق البيئة، والذكريات، وتعليمات التطبيق/Plugin، وتعليمات وضع التعاون المضمنة Default داخل وقت تشغيل Codex بعد أن يرسل OpenClaw معلمات الخيط والدور.

أعد توليدها باستخدام pnpm prompt:snapshots:gen وتحقق من الانحراف باستخدام pnpm prompt:snapshots:check. يشغّل CI فحص الانحراف في شريحة الحدود الإضافية بحيث تبقى تغييرات المطالبة وتحديثات اللقطات مرتبطة بالـ PR نفسه.

حقن تمهيد مساحة العمل

تُحل ملفات التمهيد من مساحة العمل النشطة، ثم تُوجَّه إلى سطح المطالبة الذي يطابق عمرها:

  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md (فقط في مساحات العمل الجديدة تمامًا)
  • MEMORY.md عند وجوده

في مشغّل Codex الأصلي، يتجنب OpenClaw تكرار ملفات مساحة العمل المستقرة في كل دور مستخدم. يحمّل Codex AGENTS.md من خلال اكتشاف توثيق المشروع الخاص به. تُمرَّر SOUL.md، وIDENTITY.md، وTOOLS.md، وUSER.md بوصفها تعليمات مطور Codex. كما تُمرَّر قائمة Skills المضغوطة في OpenClaw بوصفها تعليمات مطور تعاون محددة الدور. لا يُحقن محتوى HEARTBEAT.md؛ تحصل أدوار Heartbeat على ملاحظة وضع تعاون تشير إلى الملف عندما يكون موجودًا وغير فارغ. لا يُلصق محتوى MEMORY.md من مساحة عمل الوكيل المكوّنة في كل دور Codex أصلي؛ عندما تكون أدوات الذاكرة متاحة لتلك المساحة، تحصل أدوار Codex على ملاحظة صغيرة لذاكرة مساحة العمل في تعليمات مطور التعاون محددة الدور وينبغي أن تستخدم memory_search أو memory_get عندما تكون الذاكرة الدائمة ذات صلة. إذا كانت الأدوات معطلة، أو كان بحث الذاكرة غير متاح، أو اختلفت مساحة العمل النشطة عن مساحة عمل ذاكرة الوكيل، يرجع MEMORY.md إلى مسار سياق الدور المحدود العادي. يحافظ محتوى BOOTSTRAP.md النشط على دور سياق الدور العادي في الوقت الحالي.

في المشغلات غير Codex، تستمر ملفات التمهيد في التركيب داخل مطالبة OpenClaw وفقًا لبواباتها الحالية. يُحذف HEARTBEAT.md في التشغيلات العادية عندما تكون Heartbeats معطلة للوكيل الافتراضي أو عندما تكون agents.defaults.heartbeat.includeSystemPromptSection false. أبقِ الملفات المحقونة موجزة، وخصوصًا MEMORY.md غير Codex. يُقصد من MEMORY.md أن يبقى ملخصًا منسقًا طويل الأمد؛ تنتمي الملاحظات اليومية المفصلة إلى memory/*.md حيث يمكن لـ memory_search وmemory_get استرجاعها عند الطلب. تزيد ملفات MEMORY.md غير Codex الضخمة من استخدام المطالبة وقد تُحقن جزئيًا بسبب حدود ملفات التمهيد أدناه.

يتم اقتطاع الملفات الكبيرة مع علامة. يتم التحكم في الحد الأقصى لحجم كل ملف عبر agents.defaults.bootstrapMaxChars (الافتراضي: 20000). ويُقيَّد إجمالي محتوى التمهيد المحقون عبر الملفات بواسطة agents.defaults.bootstrapTotalMaxChars (الافتراضي: 60000). تحقن الملفات المفقودة علامة قصيرة تفيد بأن الملف مفقود. عند حدوث الاقتطاع، يمكن لـ OpenClaw حقن إشعار تحذيري موجز في موجه النظام؛ تحكّم في ذلك عبر agents.defaults.bootstrapPromptTruncationWarning (off، once، always؛ الافتراضي: always). تبقى أعداد الخام/المحقون التفصيلية في التشخيصات مثل /context و/status وdoctor والسجلات.

بالنسبة إلى ملفات الذاكرة، لا يعني الاقتطاع فقدان البيانات: يبقى الملف سليمًا على القرص. في Codex الأصلي، يُقرأ MEMORY.md عند الطلب عبر أدوات الذاكرة عندما تكون متاحة، مع رجوع محدود إلى الموجه عندما لا يمكن تشغيل الأدوات. في الحواضن الأخرى، لا يرى النموذج إلا النسخة المحقونة المختصرة إلى أن يقرأ الذاكرة أو يبحث فيها مباشرة. إذا كان MEMORY.md يُقتطع هناك بشكل متكرر، فاختصره إلى ملخص دائم أقصر وانقل السجل التفصيلي إلى memory/*.md، أو ارفع حدود التمهيد عمدًا.

تحقن جلسات الوكلاء الفرعيين 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) تتضمن مسار الملف وعلامة <version> المشتقة من المحتوى لكل Skill. يوجّه الموجه النموذج إلى استخدام read لتحميل SKILL.md في الموقع المدرج (مساحة العمل أو المُدار أو المضمّن)، وإلى إعادة قراءة Skill عندما يختلف <version> الخاص بها عن دورة سابقة. إذا لم تكن أي Skills مؤهلة، يُحذف قسم Skills.

تتلقى دورات Codex الأصلية هذه القائمة كتعليمات مطور تعاون مقيّدة بالدورة بدلًا من إدخال المستخدم لكل دورة، باستثناء دورات cron الخفيفة التي تحافظ على الموجه المجدول كما هو تمامًا. وتحتفظ الحواضن الأخرى بقسم الموجه العادي.

يمكن أن يشير الموقع إلى Skill متداخلة، مثل skills/personal/foo/SKILL.md. التداخل تنظيمي فقط؛ لا يزال الموجه يستخدم اسم Skill المسطح من frontmatter في SKILL.md.

تشمل الأهلية بوابات بيانات Skill الوصفية، وفحوص بيئة التشغيل/الإعدادات، وقائمة السماح الفعالة لـ Skill الخاصة بالوكيل عند ضبط agents.defaults.skills أو agents.list[].skills.

تكون Skills المضمّنة في Plugin مؤهلة فقط عندما يكون Plugin المالك لها مفعّلًا. يتيح هذا لـ Plugins الأدوات عرض أدلة تشغيل أعمق دون تضمين كل ذلك التوجيه مباشرة في كل وصف أداة.

Code
<available_skills>  <skill>    <name>...</name>    <description>...</description>    <location>...</location>    <version>sha256:...</version>  </skill></available_skills>

يحافظ هذا على صغر الموجه الأساسي مع الاستمرار في تمكين الاستخدام الموجّه لـ Skill.

ميزانية قائمة Skills مملوكة للنظام الفرعي لـ Skills:

  • الافتراضي العام: skills.limits.maxSkillsPromptChars
  • تجاوز لكل وكيل: agents.list[].skillsLimits.maxSkillsPromptChars

تستخدم المقتطفات العامة المحدودة في وقت التشغيل سطحًا مختلفًا:

  • agents.defaults.contextLimits.*
  • agents.list[].contextLimits.*

يبقي هذا الفصل تحجيم Skills منفصلًا عن تحجيم القراءة/الحقن في وقت التشغيل مثل memory_get، ونتائج الأدوات المباشرة، وتحديثات AGENTS.md بعد Compaction.

التوثيق

يتضمن موجه النظام قسم التوثيق. عندما تكون الوثائق المحلية متاحة، فإنه يشير إلى دليل وثائق OpenClaw المحلي (docs/ في نسخة Git أو وثائق حزمة npm المضمّنة). وإذا لم تكن الوثائق المحلية متاحة، يرجع إلى https://docs.openclaw.ai.

يتضمن القسم نفسه أيضًا موقع مصدر OpenClaw. تعرض نسخ Git جذر المصدر المحلي حتى يتمكن الوكيل من فحص الكود مباشرة. وتتضمن تثبيتات الحزم عنوان URL لمصدر GitHub وتطلب من الوكيل مراجعة المصدر هناك كلما كانت الوثائق غير مكتملة أو قديمة. يشير الموجه أيضًا إلى مرآة الوثائق العامة، وDiscord المجتمعي، وClawHub (https://clawhub.ai) لاكتشاف Skills. ويعرض الوثائق بوصفها المرجع المعتمد لمعرفة OpenClaw الذاتية قبل أن يفهم النموذج كيفية عمل OpenClaw، بما في ذلك الذاكرة/الملاحظات اليومية، والجلسات، والأدوات، وGateway، والإعدادات، والأوامر، أو سياق المشروع. يطلب الموجه من النموذج استخدام الوثائق المحلية (أو مرآة الوثائق عندما تكون الوثائق المحلية غير متاحة) أولًا، والتعامل مع AGENTS.md، وسياق المشروع، وملاحظات مساحة العمل/الملف الشخصي/الذاكرة، وmemory_search كسياق تعليمات أو ذاكرة مستخدم بدلًا من معرفة تصميم OpenClaw أو تنفيذه. إذا كانت الوثائق صامتة أو قديمة، فينبغي للنموذج قول ذلك وفحص المصدر. كما يطلب الموجه من النموذج تشغيل openclaw status بنفسه عندما يكون ذلك ممكنًا، وألا يسأل المستخدم إلا عندما لا يملك وصولًا. وبالنسبة إلى الإعدادات تحديدًا، يوجّه الوكلاء إلى إجراء أداة gateway config.schema.lookup للحصول على وثائق وقيود دقيقة على مستوى الحقول، ثم إلى docs/gateway/configuration.md وdocs/gateway/configuration-reference.md للحصول على إرشاد أوسع.

ذات صلة

Was this useful?
On this page

On this page