System Prompt
يبني OpenClaw system prompt مخصصًا لكل تشغيل وكيل. ويكون prompt مملوكًا لـ OpenClaw ولا يستخدم prompt الافتراضي الخاص بـ pi-coding-agent. يتم تجميع prompt بواسطة OpenClaw وحقنه في كل تشغيل وكيل.البنية
تم تصميم prompt ليكون مضغوطًا عمدًا ويستخدم أقسامًا ثابتة:- Tooling: قائمة الأدوات الحالية + أوصاف قصيرة.
- Safety: تذكير قصير بالضوابط لتجنب السلوك الساعي إلى القوة أو تجاوز الإشراف.
- Skills (عند توفرها): يوضح للنموذج كيفية تحميل تعليمات Skills عند الطلب.
- التحديث الذاتي لـ OpenClaw: كيفية فحص التكوين بأمان باستخدام
config.schema.lookup، وتصحيح التكوين باستخدامconfig.patch، واستبدال التكوين بالكامل باستخدامconfig.apply، وتشغيلupdate.runفقط عند طلب صريح من المستخدم. كما ترفض أداةgatewayالمخصصة للمالك فقط أيضًا إعادة كتابةtools.exec.ask/tools.exec.security، بما في ذلك الأسماء المستعارة القديمةtools.bash.*التي تُوحَّد إلى مسارات exec المحمية تلك. - Workspace: دليل العمل (
agents.defaults.workspace). - Documentation: المسار المحلي إلى مستندات OpenClaw (في المستودع أو حزمة npm) ومتى يجب قراءتها.
- Workspace Files (injected): يشير إلى أن ملفات bootstrap مضمنة أدناه.
- Sandbox (عند التمكين): يشير إلى بيئة runtime المعزولة، ومسارات sandbox، وما إذا كان exec المرتفع الصلاحيات متاحًا.
- Current Date & Time: الوقت المحلي للمستخدم، والمنطقة الزمنية، وتنسيق الوقت.
- Reply Tags: صيغة reply tag الاختيارية للمزوّدين المدعومين.
- Heartbeats: prompt الخاص بالـ heartbeat وسلوك ack.
- Runtime: المضيف، ونظام التشغيل، وnode، والنموذج، وجذر المستودع (عند اكتشافه)، ومستوى التفكير (سطر واحد).
- Reasoning: مستوى الرؤية الحالي + تلميح تبديل
/reasoning.
- استخدم cron للمتابعة المستقبلية (
check back later، والتذكيرات، والأعمال المتكررة) بدلًا من حلقات sleep فيexec، أو حيل تأخيرyieldMs، أو polling المتكرر لـprocess - استخدم
exec/processفقط للأوامر التي تبدأ الآن وتستمر في العمل في الخلفية - عند تمكين تنبيه الإكمال التلقائي، ابدأ الأمر مرة واحدة واعتمد على مسار التنبيه القائم على الدفع عندما يُصدر مخرجات أو يفشل
- استخدم
processللسجلات، أو الحالة، أو الإدخال، أو التدخل عندما تحتاج إلى فحص أمر قيد التشغيل - إذا كانت المهمة أكبر، ففضّل
sessions_spawn؛ إذ إن إكمال الوكيل الفرعي يعتمد على الدفع ويتم الإعلان عنه تلقائيًا للطالب - لا تقم بعمل polling لـ
subagents list/sessions_listفي حلقة لمجرد انتظار الإكمال
/approve فقط عندما تقول نتيجة الأداة إن موافقات الدردشة غير متاحة أو أن
الموافقة اليدوية هي المسار الوحيد.
أوضاع prompt
يمكن لـ OpenClaw عرض system prompts أصغر للوكلاء الفرعيين. يضبط runtimepromptMode لكل تشغيل (وليس إعدادًا موجّهًا للمستخدم):
full(الافتراضي): يتضمن جميع الأقسام أعلاه.minimal: يُستخدم للوكلاء الفرعيين؛ ويحذف Skills، وMemory Recall، والتحديث الذاتي لـ OpenClaw، وأسماء النماذج المستعارة، وهوية المستخدم، وReply Tags، وMessaging، والردود الصامتة، وHeartbeats. وتظل Tooling وSafety، وWorkspace، وSandbox، وCurrent Date & Time (عند المعرفة)، وRuntime، والسياق المحقون متاحة.none: يعيد فقط سطر الهوية الأساسي.
promptMode=minimal، تُوسم prompts المحقونة الإضافية باسم Subagent
Context بدلًا من Group Chat Context.
حقن bootstrap الخاص بمساحة العمل
يتم اقتطاع ملفات bootstrap وإلحاقها ضمن Project Context بحيث يرى النموذج سياق الهوية والملف الشخصي من دون الحاجة إلى قراءات صريحة:AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(فقط في مساحات العمل الجديدة تمامًا)MEMORY.mdعند وجوده، وإلاmemory.mdكبديل بالأحرف الصغيرة
MEMORY.md، الذي يمكن
أن ينمو مع الوقت ويؤدي إلى استخدام سياق أعلى من المتوقع وإلى
compaction أكثر تكرارًا.
ملاحظة: لا يتم حقن الملفات اليوميةتُقتطع الملفات الكبيرة مع علامة. ويتم التحكم في الحد الأقصى لحجم كل ملف عبرmemory/*.mdتلقائيًا. بل يتم الوصول إليها عند الطلب عبر الأداتينmemory_searchوmemory_get، ولذلك لا تُحتسب ضمن نافذة السياق ما لم يقرأها النموذج صراحةً.
agents.defaults.bootstrapMaxChars (الافتراضي: 20000). كما يُقيَّد إجمالي
محتوى bootstrap المحقون عبر الملفات بواسطة agents.defaults.bootstrapTotalMaxChars
(الافتراضي: 150000). وتؤدي الملفات المفقودة إلى حقن علامة قصيرة لملف مفقود. وعندما يحدث الاقتطاع،
يمكن لـ OpenClaw حقن كتلة تحذير في Project Context؛ ويمكن التحكم في ذلك بواسطة
agents.defaults.bootstrapPromptTruncationWarning (off أو once أو always؛
الافتراضي: once).
لا تقوم جلسات الوكيل الفرعي إلا بحقن AGENTS.md وTOOLS.md (أما ملفات bootstrap الأخرى
فيتم استبعادها للحفاظ على صغر سياق الوكيل الفرعي).
يمكن للـ hooks الداخلية اعتراض هذه الخطوة عبر agent:bootstrap لتعديل
ملفات bootstrap المحقونة أو استبدالها (مثل تبديل SOUL.md بشخصية بديلة).
إذا كنت تريد أن يبدو الوكيل أقل عمومية، فابدأ بـ
دليل شخصية SOUL.md.
لفحص مقدار مساهمة كل ملف محقون (الخام مقابل المحقون، والاقتطاع، بالإضافة إلى حمل مخطط الأداة)، استخدم /context list أو /context detail. راجع السياق.
التعامل مع الوقت
يتضمن system prompt قسم Current Date & Time مخصصًا عندما تكون المنطقة الزمنية للمستخدم معروفة. وللحفاظ على ثبات cache الخاص بالـ prompt، لم يعد يتضمن الآن سوى المنطقة الزمنية فقط (من دون ساعة ديناميكية أو تنسيق وقت). استخدمsession_status عندما يحتاج الوكيل إلى الوقت الحالي؛ إذ تتضمن
بطاقة الحالة سطرًا للطابع الزمني. ويمكن للأداة نفسها اختياريًا أيضًا ضبط
تجاوز نموذج لكل جلسة (model=default يمسح هذا التجاوز).
قم بالتكوين باستخدام:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
Skills
عندما توجد Skills مؤهلة، يحقن OpenClaw قائمة Skills متاحة مختصرة (formatSkillsForPrompt) تتضمن مسار الملف لكل Skill. ويوجه
prompt النموذج إلى استخدام read لتحميل SKILL.md من الموقع المدرج
(مساحة العمل، أو المُدار، أو المضمن). وإذا لم توجد Skills مؤهلة، فسيتم حذف
قسم Skills.
تشمل الأهلية بوابات بيانات Skills الوصفية، وفحوصات بيئة/تكوين runtime،
وقائمة السماح الفعالة لـ Skills الخاصة بالوكيل عندما يكون agents.defaults.skills أو
agents.list[].skills مكوّنًا.
Documentation
عند توفرها، يتضمن system prompt قسم Documentation يشير إلى دليل مستندات OpenClaw المحلي (إماdocs/ في مساحة عمل المستودع أو مستندات
حزمة npm المضمنة) ويشير أيضًا إلى المرآة العامة، والمستودع المصدر، وDiscord المجتمع، و
ClawHub (https://clawhub.ai) لاكتشاف Skills. ويوجه prompt النموذج إلى الرجوع إلى المستندات المحلية أولًا
لسلوك OpenClaw، أو الأوامر، أو التكوين، أو البنية، وإلى تشغيل
openclaw status بنفسه عندما يكون ذلك ممكنًا (وسؤال المستخدم فقط عندما يفتقر إلى الوصول).