بناء مساعد شخصي باستخدام OpenClaw
OpenClaw هو Gateway مستضاف ذاتيًا يربط Discord وGoogle Chat وiMessage وMatrix وMicrosoft Teams وSignal وSlack وTelegram وWhatsApp وZalo وغير ذلك بعوامل AI. يغطي هذا الدليل إعداد “المساعد الشخصي”: رقم WhatsApp مخصص يتصرف كمساعد AI دائم التشغيل.⚠️ السلامة أولًا
أنت تضع عاملًا في موضع يمكّنه من:- تشغيل أوامر على جهازك (بحسب سياسة الأدوات لديك)
- قراءة/كتابة الملفات في مساحة العمل الخاصة بك
- إرسال الرسائل مرة أخرى عبر WhatsApp/Telegram/Discord/Mattermost والقنوات المجمّعة الأخرى
- اضبط دائمًا
channels.whatsapp.allowFrom(ولا تشغّل أبدًا إعدادًا مفتوحًا للعالم على جهاز Mac الشخصي لديك). - استخدم رقم WhatsApp مخصصًا للمساعد.
- أصبحت Heartbeats افتراضيًا تعمل كل 30 دقيقة. عطّلها إلى أن تثق في الإعداد عبر تعيين
agents.defaults.heartbeat.every: "0m".
المتطلبات الأساسية
- تثبيت OpenClaw وإكمال الإعداد الأولي — راجع البدء إذا لم تكن قد فعلت ذلك بعد
- رقم هاتف ثانٍ (SIM/eSIM/مدفوع مسبقًا) للمساعد
إعداد الهاتفين (موصى به)
أنت تريد هذا: إذا ربطت WhatsApp الشخصي الخاص بك بـ OpenClaw، فستصبح كل رسالة تصلك “إدخالًا للعامل”. وهذا نادرًا ما يكون ما تريده.بدء سريع خلال 5 دقائق
- اربط WhatsApp Web (سيعرض رمز QR؛ امسحه بواسطة هاتف المساعد):
- شغّل Gateway (واتركه قيد التشغيل):
- ضع إعدادًا أدنى في
~/.openclaw/openclaw.json:
gateway.auth.token)، لكن مصادقة كلمة المرور تعمل أيضًا إذا بدّلت gateway.auth.mode إلى password. لإعادة الفتح لاحقًا: openclaw dashboard.
امنح العامل مساحة عمل (AGENTS)
يقرأ OpenClaw تعليمات التشغيل و”الذاكرة” من دليل مساحة العمل الخاص به. افتراضيًا، يستخدم OpenClaw~/.openclaw/workspace كمساحة عمل للعامل، وسيُنشئها (إضافة إلى ملفات البداية AGENTS.md وSOUL.md وTOOLS.md وIDENTITY.md وUSER.md وHEARTBEAT.md) تلقائيًا عند الإعداد/أول تشغيل للعامل. لا يتم إنشاء BOOTSTRAP.md إلا عندما تكون مساحة العمل جديدة تمامًا (ولا ينبغي أن يعود بعد حذفه). الملف MEMORY.md اختياري (ولا يُنشأ تلقائيًا)؛ وعند وجوده، يتم تحميله للجلسات العادية. جلسات العوامل الفرعية تحقن فقط AGENTS.md وTOOLS.md.
نصيحة: تعامل مع هذا المجلد على أنه “ذاكرة” OpenClaw واجعله مستودع git (ويُفضّل أن يكون خاصًا) حتى يتم نسخ ملفات AGENTS.md + الذاكرة احتياطيًا. إذا كان git مثبتًا، تُهيَّأ مساحات العمل الجديدة تمامًا تلقائيًا.
agents.defaults.workspace (يدعم ~).
الإعداد الذي يحوله إلى “مساعد”
يوفر OpenClaw افتراضيًا إعداد مساعد جيدًا، لكنك ستحتاج عادةً إلى ضبط:- الشخصية/التعليمات في
SOUL.md - إعدادات التفكير الافتراضية (إذا رغبت)
- Heartbeats (بعد أن تثق به)
الجلسات والذاكرة
- ملفات الجلسة:
~/.openclaw/agents/<agentId>/sessions/{{SessionId}}.jsonl - بيانات الجلسة الوصفية (استخدام الرموز، وآخر مسار، وما إلى ذلك):
~/.openclaw/agents/<agentId>/sessions/sessions.json(قديم:~/.openclaw/sessions/sessions.json) - يؤدي
/newأو/resetإلى بدء جلسة جديدة لتلك الدردشة (قابل للضبط عبرresetTriggers). إذا أُرسل وحده، يرد العامل بتحية قصيرة لتأكيد إعادة التعيين. - يقوم
/compact [instructions]بضغط سياق الجلسة ويعرض ميزانية السياق المتبقية.
Heartbeats (الوضع الاستباقي)
افتراضيًا، يشغّل OpenClaw heartbeat كل 30 دقيقة باستخدام الموجه:Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.
عيّن agents.defaults.heartbeat.every: "0m" للتعطيل.
- إذا كان
HEARTBEAT.mdموجودًا لكنه فارغ فعليًا (يحتوي فقط على أسطر فارغة وعناوين Markdown مثل# Heading)، يتجاوز OpenClaw تشغيل heartbeat لتوفير استدعاءات API. - إذا كان الملف مفقودًا، يستمر تشغيل heartbeat ويقرر النموذج ما يجب فعله.
- إذا رد العامل بـ
HEARTBEAT_OK(اختياريًا مع حشو قصير؛ راجعagents.defaults.heartbeat.ackMaxChars)، فإن OpenClaw يمنع الإرسال الخارجي لذلك heartbeat. - افتراضيًا، يُسمح بتسليم heartbeat إلى أهداف بنمط الرسائل المباشرة
user:<id>. عيّنagents.defaults.heartbeat.directPolicy: "block"لمنع التسليم إلى الأهداف المباشرة مع إبقاء تشغيل heartbeat نشطًا. - تشغّل Heartbeats دورات عامل كاملة — وكلما قصرت الفواصل، زاد استهلاك الرموز.
الوسائط الواردة والصادرة
يمكن تمرير المرفقات الواردة (الصور/الصوت/المستندات) إلى أمرك عبر قوالب:{{MediaPath}}(مسار ملف مؤقت محلي){{MediaUrl}}(عنوان pseudo-URL){{Transcript}}(إذا كان نسخ الصوت ممكّنًا)
MEDIA:<path-or-url> في سطر مستقل (من دون مسافات). مثال:
- إذا كانت
tools.fs.workspaceOnlyتساويtrue، تظل المسارات المحلية الصادرة لـMEDIA:مقيدة بجذر الملفات المؤقتة الخاص بـ OpenClaw، وذاكرة الوسائط المؤقتة، ومسارات مساحة عمل العامل، والملفات التي أنشأتها sandbox. - إذا كانت
tools.fs.workspaceOnlyتساويfalse، يمكن للمسارات المحلية الصادرة لـMEDIA:استخدام الملفات المحلية على المضيف التي يُسمح للعامل أصلًا بقراءتها. - لا تزال الإرسالات المحلية من المضيف تسمح فقط بالوسائط وأنواع المستندات الآمنة (الصور، والصوت، والفيديو، وPDF، ومستندات Office). لا تُعامل النصوص العادية والملفات الشبيهة بالأسرار كوسائط قابلة للإرسال.
قائمة التحقق التشغيلية
/tmp/openclaw/ (الافتراضي: openclaw-YYYY-MM-DD.log).
الخطوات التالية
- WebChat: WebChat
- عمليات Gateway: دليل تشغيل Gateway
- Cron + التنبيهات: مهام Cron
- رفيق شريط قوائم macOS: تطبيق OpenClaw لنظام macOS
- تطبيق عقدة iOS: تطبيق iOS
- تطبيق عقدة Android: تطبيق Android
- حالة Windows: Windows (WSL2)
- حالة Linux: تطبيق Linux
- الأمان: الأمان