يبني OpenClaw موجه نظام مخصصًا لكل تشغيل وكيل. الموجه مملوك لـ OpenClaw ولا يستخدم موجه pi-coding-agent الافتراضي. يجمع OpenClaw الموجه ويحقنه في كل تشغيل وكيل. يتكون تجميع الموجه من ثلاث طبقات:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- يعرض
buildAgentSystemPromptالموجه من مدخلات صريحة. ينبغي أن يبقى عارضًا نقيًا وألا يقرأ الإعدادات العامة مباشرة. - يحل
resolveAgentSystemPromptConfigمقابض الموجه المدعومة بالإعدادات، مثل عرض المالك، وتلميحات TTS، والأسماء المستعارة للنماذج، ووضع اقتباس الذاكرة، ووضع تفويض الوكيل الفرعي لوكيل محدد. - تجمع مهايئات وقت التشغيل (المضمنة، وCLI، ومعاينات الأمر/التصدير، وCompaction) الحقائق الحية مثل الأدوات، وحالة العزل، وإمكانات القنوات، وملفات السياق، ومساهمات موجه الموفر، ثم تستدعي واجهة الموجه المهيأة.
- يستبدل مجموعة صغيرة من أقسام النواة المسماة (
interaction_style,tool_call_style,execution_bias) - يحقن بادئة مستقرة فوق حد ذاكرة الموجه المؤقتة
- يحقن لاحقة ديناميكية تحت حد ذاكرة الموجه المؤقتة
before_prompt_build للتوافق أو لتغييرات الموجه العامة فعلًا، لا لسلوك الموفر المعتاد.
يبقي تراكب عائلة OpenAI GPT-5 قاعدة التنفيذ الأساسية صغيرة ويضيف
إرشادات خاصة بالنموذج لتثبيت الشخصية، والإخراج الموجز، وانضباط الأدوات،
والبحث المتوازي، وتغطية المخرجات، والتحقق، والسياق المفقود، ونظافة أدوات الطرفية.
البنية
الموجه مضغوط عن قصد ويستخدم أقسامًا ثابتة:- الأدوات: تذكير بأن مصدر الحقيقة هو الأداة المهيكلة، إضافة إلى إرشادات استخدام الأدوات في وقت التشغيل.
- تحيز التنفيذ: إرشادات متابعة مضغوطة: التصرف داخل الدور عند الطلبات القابلة للتنفيذ، والاستمرار حتى الإنجاز أو الحظر، والتعافي من نتائج الأدوات الضعيفة، والتحقق من الحالة القابلة للتغير مباشرة، والتحقق قبل الإنهاء.
- السلامة: تذكير موجز بالحواجز لتجنب السلوك الساعي إلى السلطة أو تجاوز الإشراف.
- Skills (عند توفرها): تخبر النموذج كيفية تحميل تعليمات المهارة عند الطلب.
- تحكم OpenClaw: تخبر النموذج بتفضيل أداة
gatewayلأعمال الإعداد/إعادة التشغيل وتجنب اختراع أوامر CLI. - التحديث الذاتي لـ OpenClaw: كيفية فحص الإعداد بأمان باستخدام
config.schema.lookup، وترقيع الإعداد باستخدامconfig.patch، واستبدال الإعداد الكامل باستخدامconfig.apply، وتشغيلupdate.runفقط بناءً على طلب صريح من المستخدم. كما ترفض أداةgatewayالخاصة بالمالك فقط إعادة كتابةtools.exec.ask/tools.exec.security، بما في ذلك الأسماء المستعارة القديمةtools.bash.*التي تُطبَّع إلى مسارات exec المحمية هذه. - مساحة العمل: دليل العمل (
agents.defaults.workspace). - التوثيق: المسار المحلي إلى docs/source الخاصة بـ OpenClaw ومتى تجب قراءتها.
- ملفات مساحة العمل (المحقونة): تشير إلى أن ملفات التمهيد مضمنة أدناه.
- العزل (عند تفعيله): يشير إلى وقت تشغيل معزول، ومسارات العزل، وما إذا كان exec بصلاحيات مرتفعة متاحًا.
- التاريخ والوقت الحاليان: المنطقة الزمنية فقط (مستقرة للتخزين المؤقت؛ تأتي الساعة الحية من
session_status). - توجيهات إخراج المساعد: صياغة مضغوطة للمرفقات، والملاحظات الصوتية، ووسوم الرد.
- Heartbeats: موجه Heartbeat وسلوك الإقرار، عندما تكون Heartbeats مفعلة للوكيل الافتراضي.
- وقت التشغيل: المضيف، ونظام التشغيل، وnode، والنموذج، وجذر المستودع (عند اكتشافه)، ومستوى التفكير (سطر واحد).
- الاستدلال: مستوى الرؤية الحالي + تلميح تبديل /reasoning.
- استخدم 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، وتجنب تكرار الخطة كلها بعد كل تحديث.
حواجز السلامة في موجه النظام إرشادية. إنها توجه سلوك النموذج لكنها لا تفرض السياسة. استخدم سياسة الأدوات، وموافقات exec، والعزل، وقوائم السماح للقنوات للفرض الصارم؛ ويمكن للمشغلين تعطيل هذه الأشياء حسب التصميم.
في القنوات التي تملك بطاقات/أزرار موافقة أصلية، يخبر موجه وقت التشغيل الآن
الوكيل بالاعتماد أولًا على واجهة الموافقة الأصلية هذه. ينبغي أن يضمّن أمر
/approve يدويًا فقط عندما تقول نتيجة الأداة إن موافقات الدردشة غير متاحة أو
إن الموافقة اليدوية هي المسار الوحيد.
أوضاع الموجه
يمكن لـ OpenClaw عرض موجهات نظام أصغر للوكلاء الفرعيين. يحدد وقت التشغيلpromptMode لكل تشغيل (وليس إعدادًا مواجهًا للمستخدم):
full(افتراضي): يتضمن كل الأقسام أعلاه.minimal: يُستخدم للوكلاء الفرعيين؛ يحذف استدعاء الذاكرة، والتحديث الذاتي لـ OpenClaw، والأسماء المستعارة للنماذج، وهوية المستخدم، وتوجيهات إخراج المساعد، والمراسلة، والردود الصامتة، وHeartbeats. تبقى الأدوات، والسلامة، وSkills عند توفيرها، ومساحة العمل، والعزل، والتاريخ والوقت الحاليان (عند معرفتهما)، ووقت التشغيل، والسياق المحقون متاحة.none: يعيد سطر الهوية الأساسي فقط.
promptMode=minimal، تُوسم الموجهات المحقونة الإضافية باسم سياق الوكيل الفرعي
بدلًا من سياق المحادثة الجماعية.
بالنسبة إلى تشغيلات الرد التلقائي في القنوات، يمكن لـ OpenClaw حذف قسم الردود الصامتة
العام عندما يتضمن سياق المحادثة المباشرة/الجماعية أصلًا سلوك NO_REPLY
الخاص بالمحادثة والذي تم حله. يتجنب ذلك تكرار آليات الرموز في كل من موجه
النظام العام وسياق القناة.
لقطات الموجه
يبقي OpenClaw لقطات موجه ملتزمًا بها لمسار Codex runtime السعيد تحت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. صُمم MEMORY.md
ليبقى ملخصًا طويل الأمد منسقًا؛ أما الملاحظات اليومية التفصيلية فمكانها
memory/*.md حيث يمكن لـ memory_search وmemory_get استرجاعها عند الطلب.
تزيد ملفات MEMORY.md الكبيرة استخدام الموجه ويمكن أن تُحقن جزئيًا بسبب
حدود ملفات التمهيد أدناه.
عندما تعمل جلسة على حزمة Codex الأصلية، يحمّل Codex AGENTS.md
من خلال اكتشاف وثائق المشروع الخاص به. لا يزال OpenClaw يحل ملفات التمهيد
المتبقية ويمررها كتعليمات إعداد Codex، لذلك تحافظ SOUL.md،
وTOOLS.md، وIDENTITY.md، وUSER.md، وHEARTBEAT.md، وBOOTSTRAP.md، و
MEMORY.md على دور سياق مساحة العمل نفسه دون تكرار AGENTS.md.
ملفات
memory/*.md اليومية ليست جزءًا من سياق المشروع التمهيدي العادي. في الأدوار المعتادة، تُستخدم عند الطلب عبر أداتي memory_search وmemory_get، لذلك لا تُحتسب ضمن نافذة السياق ما لم يقرأها النموذج صراحة. أدوار /new و/reset المجردة هي الاستثناء: يمكن لوقت التشغيل إلحاق ذاكرة يومية حديثة في البداية ككتلة سياق بدء لمرة واحدة لذلك الدور الأول.agents.defaults.bootstrapMaxChars
في الحد الأقصى لحجم كل ملف (الافتراضي: 12000). يُحدد إجمالي محتوى التمهيد
المحقون عبر الملفات بواسطة agents.defaults.bootstrapTotalMaxChars
(الافتراضي: 60000). تحقن الملفات المفقودة علامة قصيرة للملف المفقود. عند حدوث الاقتطاع،
يمكن لـ OpenClaw حقن إشعار تحذير موجز في موجه النظام؛ تحكم في ذلك باستخدام
agents.defaults.bootstrapPromptTruncationWarning (off، once، always؛
الافتراضي: once). تبقى العدادات الخام/المحقونة التفصيلية في التشخيصات مثل
/context، و/status، وdoctor، والسجلات.
بالنسبة إلى ملفات الذاكرة، لا يعني الاقتطاع فقدان بيانات: يبقى الملف سليمًا على القرص،
لكن النموذج لا يرى إلا النسخة المحقونة المختصرة حتى يقرأ الذاكرة أو يبحث فيها
مباشرة. إذا كان MEMORY.md يُقتطع مرارًا، فاختصره إلى ملخص دائم أقصر وانقل
السجل التفصيلي إلى memory/*.md، أو ارفع حدود التمهيد عمدًا.
تحقن جلسات الوكلاء الفرعيين 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 الأدوات عرض أدلة تشغيل أعمق من دون تضمين كل
تلك الإرشادات مباشرةً في كل وصف أداة.
- الافتراضي العام:
skills.limits.maxSkillsPromptChars - تجاوز لكل وكيل:
agents.list[].skillsLimits.maxSkillsPromptChars
agents.defaults.contextLimits.*agents.list[].contextLimits.*
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 status بنفسه عندما يكون ذلك ممكناً (ولا يسأل المستخدم إلا عندما لا يملك صلاحية الوصول).
وبالنسبة للإعدادات تحديداً، يوجّه الوكلاء إلى إجراء أداة gateway
config.schema.lookup للحصول على وثائق وقيود دقيقة على مستوى الحقول، ثم إلى
docs/gateway/configuration.md وdocs/gateway/configuration-reference.md
للحصول على إرشادات أوسع.