Fundamentals
موجّه النظام
يبني OpenClaw موجّه نظام مخصصًا لكل تشغيل وكيل. الموجّه مملوك لـ OpenClaw ولا يستخدم موجّه pi-coding-agent الافتراضي.
يُجمّع الموجّه بواسطة OpenClaw ويُحقن في كل تشغيل وكيل.
يمكن لـ Plugins المزوّدين المساهمة بإرشادات موجّه واعية بالتخزين المؤقت دون استبدال الموجّه الكامل المملوك لـ OpenClaw. يمكن لوقت تشغيل المزوّد أن:
- يستبدل مجموعة صغيرة من أقسام النواة المسماة (
interaction_style،tool_call_style،execution_bias) - يحقن بادئة مستقرة أعلى حد تخزين الموجّه المؤقت
- يحقن لاحقة ديناميكية أسفل حد تخزين الموجّه المؤقت
استخدم مساهمات مملوكة للمزوّد للضبط الخاص بعائلة النماذج. أبقِ تعديل الموجّه القديم
before_prompt_build للتوافق أو لتغييرات الموجّه العامة حقًا، وليس لسلوك المزوّد العادي.
يحافظ تراكب عائلة OpenAI GPT-5 على قاعدة التنفيذ الأساسية صغيرة ويضيف إرشادات خاصة بالنموذج لتثبيت الشخصية، والإخراج الموجز، والانضباط في استخدام الأدوات، والبحث المتوازي، وتغطية المخرجات المطلوبة، والتحقق، والسياق الناقص، ونظافة أداة الطرفية.
البنية
الموجّه مدمج عمدًا ويستخدم أقسامًا ثابتة:
- الأدوات: تذكير بأن الأدوات المنظمة هي مصدر الحقيقة، إضافة إلى إرشادات استخدام الأدوات في وقت التشغيل.
- تحيز التنفيذ: إرشادات متابعة مدمجة: التصرّف ضمن الدور على الطلبات القابلة للتنفيذ، والمتابعة حتى الاكتمال أو التعطّل، والتعافي من نتائج الأدوات الضعيفة، والتحقق من الحالة المتغيرة مباشرة، والتحقق قبل الإنهاء.
- السلامة: تذكير موجز بضوابط الحماية لتجنب سلوك السعي إلى السلطة أو تجاوز الرقابة.
- 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، وما إذا كان exec بامتيازات مرتفعة متاحًا.
- التاريخ والوقت الحاليان: المنطقة الزمنية فقط (مستقرة للتخزين المؤقت؛ تأتي الساعة الحية من
session_status). - وسوم الرد: صيغة اختيارية لوسوم الرد للمزوّدين المدعومين.
- Heartbeats: موجّه Heartbeat وسلوك الإقرار، عند تفعيل Heartbeats للوكيل الافتراضي.
- وقت التشغيل: المضيف، نظام التشغيل، node، النموذج، جذر المستودع (عند اكتشافه)، مستوى التفكير (سطر واحد).
- الاستدلال: مستوى الرؤية الحالي + تلميح تبديل /reasoning.
يبقي OpenClaw المحتوى الكبير المستقر، بما في ذلك سياق المشروع، أعلى حد تخزين الموجّه المؤقت الداخلي. وتُلحق أقسام القناة/الجلسة المتقلبة مثل إرشادات تضمين Control UI، والمراسلة، والصوت، وسياق دردشة المجموعة، والتفاعلات، وHeartbeats، ووقت التشغيل أسفل ذلك الحد حتى تتمكن الخلفيات المحلية ذات التخزين المؤقت للبادئة من إعادة استخدام بادئة مساحة العمل المستقرة عبر أدوار القنوات. ويجب على أوصاف الأدوات بالمثل تجنب تضمين أسماء القنوات الحالية عندما يحمل المخطط المقبول تفاصيل وقت التشغيل تلك بالفعل.
يتضمن قسم الأدوات أيضًا إرشادات وقت التشغيل للعمل طويل الأمد:
- استخدم 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، تُوسم الموجّهات المحقونة الإضافية باسم سياق الوكيل الفرعي
بدلًا من سياق دردشة المجموعة.
لتشغيلات الرد التلقائي في القنوات، يمكن لـ 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.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(فقط في مساحات العمل الجديدة تمامًا)MEMORY.mdعند وجوده
كل هذه الملفات تُحقن في نافذة السياق في كل دور ما لم
ينطبق قيد خاص بملف. يُحذف HEARTBEAT.md في التشغيلات العادية عندما
تكون Heartbeats معطلة للوكيل الافتراضي أو عندما تكون
agents.defaults.heartbeat.includeSystemPromptSection مساوية لـ false. أبقِ الملفات المحقونة
موجزة، وخاصة MEMORY.md، الذي يمكن أن ينمو بمرور الوقت ويؤدي إلى
استخدام سياق مرتفع على نحو غير متوقع وCompaction أكثر تكرارًا.
عندما تعمل جلسة على حاضنة Codex الأصلية، يحمّل Codex ملف AGENTS.md
من خلال اكتشاف وثائق المشروع الخاص به. لا يزال OpenClaw يحل ملفات
التمهيد المتبقية ويمررها كتعليمات تكوين Codex، لذلك يحتفظ كل من SOUL.md،
وTOOLS.md، وIDENTITY.md، وUSER.md، وHEARTBEAT.md، وBOOTSTRAP.md،
وMEMORY.md بدور سياق مساحة العمل نفسه دون تكرار
AGENTS.md.
تُقتطع الملفات الكبيرة مع علامة. يتحكم
agents.defaults.bootstrapMaxChars في الحد الأقصى لحجم كل ملف (الافتراضي: 12000). ويُحدَّد إجمالي محتوى التمهيد
المحقون عبر الملفات بواسطة agents.defaults.bootstrapTotalMaxChars
(الافتراضي: 60000). تحقن الملفات المفقودة علامة قصيرة لملف مفقود. عند حدوث الاقتطاع،
يمكن لـ OpenClaw حقن إشعار تحذير موجز في موجّه النظام؛ تحكم في ذلك باستخدام
agents.defaults.bootstrapPromptTruncationWarning (off، once، always؛
الافتراضي: once). تبقى العدّادات الخام/المحقونة التفصيلية في التشخيصات مثل
/context، و/status، وdoctor، والسجلات.
تحقن جلسات الوكلاء الفرعيين AGENTS.md وTOOLS.md فقط (تُرشَّح ملفات التمهيد الأخرى
لإبقاء سياق الوكيل الفرعي صغيرًا).
يمكن للخطافات الداخلية اعتراض هذه الخطوة عبر agent:bootstrap لتعديل أو استبدال
ملفات التمهيد المحقونة (مثل استبدال SOUL.md بشخصية بديلة).
إذا أردت جعل الوكيل يبدو أقل عمومية، فابدأ بـ دليل شخصية SOUL.md.
لفحص مقدار مساهمة كل ملف محقون (الخام مقابل المحقون، والاقتطاع، إضافة إلى عبء مخطط الأداة)، استخدم /context list أو /context detail. راجع السياق.
التعامل مع الوقت
يتضمن موجّه النظام قسمًا مخصصًا باسم التاريخ والوقت الحاليان عندما تكون المنطقة الزمنية للمستخدم معروفة. للحفاظ على استقرار ذاكرة الموجّه المؤقتة، يتضمن الآن فقط المنطقة الزمنية (دون ساعة ديناميكية أو تنسيق وقت).
استخدم session_status عندما يحتاج الوكيل إلى الوقت الحالي؛ تتضمن بطاقة الحالة
سطر طابع زمني. يمكن للأداة نفسها اختياريًا ضبط تجاوز نموذج لكل جلسة
(model=default يمسحه).
اضبط باستخدام:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
راجع التاريخ والوقت للحصول على تفاصيل السلوك الكاملة.
Skills
عندما توجد Skills مؤهلة، يحقن OpenClaw قائمة Skills المتاحة مدمجة
(formatSkillsForPrompt) تتضمن مسار الملف لكل Skill. يوجه
الموجّه النموذج إلى استخدام read لتحميل SKILL.md في الموقع المدرج
(مساحة العمل، المُدار، أو المضمّن). إذا لم تكن هناك Skills مؤهلة، يُحذف
قسم Skills.
تشمل الأهلية قيود بيانات تعريف Skill، وفحوص بيئة/تكوين وقت التشغيل،
وقائمة السماح الفعالة لـ Skills الخاصة بالوكيل عند تكوين agents.defaults.skills أو
agents.list[].skills.
تكون Skills المضمّنة في Plugin مؤهلة فقط عندما يكون Plugin المالك لها مفعّلًا. يتيح ذلك لـ Plugins الأدوات كشف أدلة تشغيل أعمق دون تضمين كل تلك الإرشادات مباشرة في كل وصف أداة.
<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/ في نسخة Git checkout أو وثائق حزمة npm
المضمنة). إذا لم تكن الوثائق المحلية متاحة، فإنه يعود إلى
https://docs.openclaw.ai.
يتضمن القسم نفسه أيضًا موقع مصدر OpenClaw. تعرض نسخ Git checkout جذر المصدر المحلي
حتى يتمكن الوكيل من فحص الشيفرة مباشرة. تتضمن تثبيتات الحزم عنوان URL لمصدر GitHub
وتطلب من الوكيل مراجعة المصدر هناك كلما كانت الوثائق غير مكتملة أو
قديمة. تذكر الموجهة أيضًا مرآة الوثائق العامة، وDiscord المجتمع، وClawHub
(https://clawhub.ai) لاكتشاف Skills. وتطلب من النموذج
الرجوع إلى الوثائق أولًا بشأن سلوك OpenClaw أو أوامره أو تكوينه أو بنيته، وتشغيل
openclaw status بنفسه عند الإمكان (مع سؤال المستخدم فقط عندما لا يملك إمكانية الوصول).
وبالنسبة إلى التكوين تحديدًا، فهي توجه الوكلاء إلى إجراء أداة gateway
config.schema.lookup للحصول على وثائق وقيود دقيقة على مستوى الحقول، ثم إلى
docs/gateway/configuration.md وdocs/gateway/configuration-reference.md
للحصول على إرشادات أوسع.