الأساسيات

وقت تشغيل الوكيل

يعمل OpenClaw على وقت تشغيل وكيل واحد مدمج مشتق من pi-mono.

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

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

ملفات التمهيد (يتم حقنها)

داخل 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 بتحميل المهارات من ثلاثة مواقع (تفوز مساحة العمل في حالة تعارض الأسماء):

  • المضمنة (مرفقة مع التثبيت)
  • المدارة/المحلية: ~/.openclaw/skills
  • مساحة العمل: <workspace>/skills

يمكن التحكم في المهارات بواسطة التكوين/البيئة (انظر skills في تكوين البوابة).

تكامل 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، يتم الاحتفاظ بالرسائل الواردة حتى ينتهي المنعطف الحالي، ثم يبدأ منعطف وكيل جديد مع حمولات قائمة الانتظار. انظر قائمة الانتظار للوضع + سلوك إزالة الارتداد/الحد. يرسل البث الكتلي كتل المساعد المكتملة بمجرد انتهائها؛ وهو معطل افتراضيًا (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 (موصى به بشدة)

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

هندسة البوابةحلقة الوكيل