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

بيئة تشغيل الوكيل 🤖

يشغّل OpenClaw بيئة تشغيل وكيل واحدة مضمّنة مشتقّة من pi-mono.

مساحة العمل (مطلوبة)

يستخدم OpenClaw دليلاً واحدًا لمساحة عمل الوكيل (agents.defaults.workspace) بوصفه دليل العمل الوحيد للوكيل (cwd) للأدوات والسياق. مُوصى به: استخدم openclaw setup لإنشاء ~/.openclaw/openclaw.json إذا كان مفقودًا وتهيئة ملفات مساحة العمل. مخطط مساحة العمل الكامل + دليل النسخ الاحتياطي: مساحة عمل الوكيل إذا كان agents.defaults.sandbox مفعّلًا، يمكن للجلسات غير الرئيسية تجاوز ذلك عبر مساحات عمل لكل جلسة ضمن agents.defaults.sandbox.workspaceRoot (انظر تهيئة Gateway).

ملفات Bootstrap (حقن)

داخل agents.defaults.workspace، يتوقع OpenClaw هذه الملفات القابلة للتحرير من قِبل المستخدم:
  • AGENTS.md — تعليمات التشغيل + «الذاكرة»
  • SOUL.md — الشخصية، الحدود، النبرة
  • TOOLS.md — ملاحظات أدوات يديرها المستخدم (مثل imsg، sag، الاصطلاحات)
  • BOOTSTRAP.md — طقس تشغيل لمرة واحدة عند التشغيل الأول (يُحذف بعد الإكمال)
  • IDENTITY.md — اسم الوكيل/الطابع/الإيموجي
  • USER.md — ملف المستخدم + أسلوب المخاطبة المفضّل
في أول دورة من جلسة جديدة، يحقن OpenClaw محتويات هذه الملفات مباشرة في سياق الوكيل. يتم تخطي الملفات الفارغة. تُقصّ الملفات الكبيرة وتُقتطع مع وسم حتى تبقى المطالبات خفيفة (اقرأ الملف للاطلاع على المحتوى الكامل). إذا كان ملف ما مفقودًا، يحقن OpenClaw سطر وسم واحد «ملف مفقود» (وسيقوم openclaw setup بإنشاء قالب افتراضي آمن). يُنشأ BOOTSTRAP.md فقط لمساحة عمل جديدة تمامًا (لا توجد ملفات تمهيد أخرى). إذا حذفته بعد إكمال الطقس، فلا ينبغي إعادة إنشائه عند عمليات إعادة التشغيل اللاحقة. لتعطيل إنشاء ملفات التمهيد بالكامل (لمساحات عمل مُهيّأة مسبقًا)، اضبط:
{ agent: { skipBootstrap: true } }

الأدوات المضمّنة

الأدوات الأساسية (القراءة/التنفيذ/التحرير/الكتابة وأدوات النظام ذات الصلة) متاحة دائمًا، وفق سياسة الأدوات. apply_patch اختياري ومقيّد بواسطة tools.exec.applyPatch. لا يتحكم TOOLS.md في الأدوات الموجودة؛ بل يقدّم إرشادات لكيفية رغبتك أنت في استخدامها.

المهارات

يحمّل OpenClaw Skills من ثلاثة مواقع (تفوز مساحة العمل عند تعارض الأسماء):
  • مُضمّنة (مرفقة مع التثبيت)
  • مُدارة/محلية: ~/.openclaw/skills
  • مساحة العمل: <workspace>/skills
يمكن تقييد Skills عبر التهيئة/متغيرات البيئة (انظر skills في تهيئة Gateway).

تكامل pi-mono

يعيد OpenClaw استخدام أجزاء من قاعدة شيفرة pi-mono (النماذج/الأدوات)، لكن إدارة الجلسات، والاكتشاف، وربط الأدوات مملوكة لـ OpenClaw.
  • لا توجد بيئة تشغيل وكيل pi-coding.
  • لا يتم الرجوع إلى إعدادات ~/.pi/agent أو <workspace>/.pi.

الجلسات

تُخزَّن نُسخ الجلسات كنصوص JSONL في:
  • ~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
معرّف الجلسة ثابت ويختاره OpenClaw. لا تتم قراءة مجلدات جلسات Pi/Tau القديمة.

التوجيه أثناء البثّ

عندما يكون وضع الصف steer، تُحقن الرسائل الواردة في التشغيل الحالي. يتم فحص الصف بعد كل استدعاء أداة؛ إذا وُجدت رسالة مُصطفّة، تُتخطّى استدعاءات الأدوات المتبقية من رسالة المساعد الحالية (تُرجع نتائج أداة خطأ مع «تم التخطي بسبب رسالة مستخدم مُصطفّة.»)، ثم تُحقن رسالة المستخدم المُصطفّة قبل استجابة المساعد التالية. عندما يكون وضع الصف followup أو collect، تُحتجز الرسائل الواردة حتى تنتهي الدورة الحالية، ثم تبدأ دورة وكيل جديدة بالحمولات المُصطفّة. راجع Queue لأوضاع الصف وسلوك إزالة الارتداد/الحدّ. يبعث بثّ الكتل كتل المساعد المكتملة فور انتهائها؛ وهو متوقف افتراضيًا (agents.defaults.blockStreamingDefault: "off"). اضبط الحدّ عبر agents.defaults.blockStreamingBreak (text_end مقابل message_end؛ الافتراضي text_end). تحكّم في تجزئة الكتل الناعمة باستخدام agents.defaults.blockStreamingChunk (الافتراضي 800–1200 حرفًا؛ يفضّل فواصل الفقرات، ثم الأسطر الجديدة؛ والجُمل أخيرًا). ادمج الأجزاء المُرسلة عبر agents.defaults.blockStreamingCoalesce لتقليل الرسائل أحادية السطر (دمج قائم على الخمول قبل الإرسال). تتطلب القنوات غير Telegram تفعيل *.blockStreaming: true صراحةً لتمكين ردود الكتل. تُصدِر ملخصات الأدوات المفصّلة عند بدء الأداة (دون إزالة ارتداد)؛ وتبث واجهة التحكم مخرجات الأدوات عبر أحداث الوكيل عند توفرها. مزيد من التفاصيل: البثّ + التجزئة.

مراجع النماذج

تُحلَّل مراجع النماذج في التهيئة (على سبيل المثال agents.defaults.model وagents.defaults.models) عبر التقسيم عند أول /.
  • استخدم provider/model عند تهيئة النماذج.
  • إذا كان معرّف النموذج نفسه يحتوي على / (بنمط OpenRouter)، فأدرج بادئة الموفّر (مثال: openrouter/moonshotai/kimi-k2).
  • إذا حذفت الموفّر، يعامل OpenClaw الإدخال على أنه اسم مستعار أو نموذج لـ الموفّر الافتراضي (يعمل فقط عندما لا يوجد / في معرّف النموذج).

التهيئة (الحد الأدنى)

على الأقل، اضبط:
  • agents.defaults.workspace
  • channels.whatsapp.allowFrom (موصى به بشدة)

التالي: الدردشات الجماعية 🦞