OpenClaw على iMessage
جسر imsg، وجهاز Mac الذي يجب أن يعمل عليه، والأذونات، ومقايضة API الخاصة
يتحدث OpenClaw مع iMessage عبر imsg، وهو جسر يعمل من سطر الأوامر يطلقه Gateway ويتواصل معه عبر JSON-RPC على الإدخال والإخراج القياسيين: لا عملية خلفية (daemon)، ولا منفذ. ويجب أن يعمل على جهاز Mac مسجّل الدخول إلى Messages، وإذا كان Gateway موجودًا في مكان آخر فإنه يصل إلى ذلك الجهاز عبر غلاف SSH. أُزيل دعم BlueBubbles؛ وimsg هو المسار الوحيد الآن. إليك الإعداد، والأذونات، والوضعين، وأنماط النشر التي توصي بها الوثائق.
الإعداد على جهاز Mac
- ثبّت المكوّن الإضافي الرسمي لـ iMessage على مضيف Gateway، ثم imsg عبر Homebrew من المستودع الخاص به (tap)؛ ويمكن لمعالج الإعداد أن يعرض هذا التثبيت، أو تحديثًا، عندما يجد imsg مفقودًا أو مدارًا عبر Homebrew.
- وجّه القناة إلى الملف التنفيذي imsg وإلى قاعدة بيانات Messages ضمن مجلد Library الخاص بالمستخدم، وابدأ Gateway، ووافق على أول إقران لرسالة مباشرة: تنتهي صلاحية الطلبات بعد ساعة.
- امنح إذني الوصول الكامل إلى القرص (Full Disk Access) والأتمتة (Automation) للسياق الذي يشغّل imsg؛ فمطالبات الأذونات الفائتة بند مدرج في استكشاف الأخطاء، وكذلك الرسائل التي تُرسل بينما لا يصل أي شيء.
الوضع الأساسي ووضع API الخاص
الوضع الأساسي هو ما يمنحه التثبيت الجديد: إرسال النصوص والوسائط، ومراقبة الوارد والسجل، وقائمة الدردشات، ولا تغييرات على النظام. أما وضع API الخاص فيحقن أداة مساعدة في Messages للوصول إلى وظائفه الداخلية، ما يتيح التفاعلات، والتعديلات، وإلغاء الإرسال، والردود ضمن سلاسل، والمؤثرات، والاستطلاعات الأصيلة، وإدارة المجموعات، ومؤشرات الكتابة، وإيصالات القراءة. ويتطلب إيقاف حماية سلامة النظام (System Integrity Protection) وتخفيف التحقق من المكتبات، ويرفض الحقن العمل ما دام SIP مفعّلًا.
إيقاف SIP مقايضة أمنية حقيقية.
الوثائق صريحة بشأن هذه المقايضة: SIP واحدة من الحمايات الأساسية في macOS، وإيقافها على Apple Silicon يزيل أيضًا القدرة على تشغيل تطبيقات iOS على Mac، والتوصية هي جهاز Mac مخصص أو مستخدم مخصص للبوت من أجل الجسر. وإذا كان نموذج التهديد لديك لا يحتمل إيقاف SIP في أي مكان، فالقناة تقتصر على الوضع الأساسي. وصفحة أفضل ممارسات الأمان في OpenClaw هي قائمة التحقق الأشمل.
أين يوجد Gateway
- جهاز Mac نفسه: النشر المعتاد، Gateway وimsg معًا على مضيف Messages المسجّل الدخول.
- جهاز Mac بعيد عبر SSH أو Tailscale: Gateway على Linux أو جهاز افتراضي، وimsg على جهاز Mac ضمن tailnet، وغلاف SSH شفاف كمسار CLI، وإعداد للمضيف البعيد من أجل المرفقات. ويجب أن يمرر الغلاف البايتات فور وصولها؛ فالغلاف الذي يخزّنها مؤقتًا يبدو تمامًا كانقطاع في iMessage.
- مستخدم macOS مخصص للبوت: Apple ID ومستخدم منفصلان حتى لا تمس حركة البوت ملف Messages الشخصي الخاص بك أبدًا؛ ويتطلب التشغيل الأول موافقتَي الأتمتة والوصول الكامل إلى القرص ضمن جلسة ذلك المستخدم.
التعافي من الرسائل الواردة تلقائي: بعد إعادة تشغيل الجسر أو Gateway، تعيد القناة تشغيل ما فات وتكتم التراكم الذي قد تفرغه Apple بعد استعادة الدفع (push)، دون إرسال أي شيء مرتين. وتغطي مقالة OpenClaw لا يستجيب السلّم العام للقناة الصامتة.
ماذا يعني ذلك عمليًا
تُعد iMessage القناة الوحيدة التي لا يمكن فصلها عن أجهزة Apple. يمكن لـ Gateway في أي مكان أن يخدمها، لكن فقط مع جهاز Mac في طرفك يشغّل imsg، ويكون مسجّل الدخول ومستيقظًا وقابلًا للوصول، ويصبح هذا الجهاز جزءًا من مهمة التشغيل: تحديثاته، وأذوناته، وقرار SIP الخاص به.
على Diali
على Diali، تندرج iMessage في خارطة الطريق لا في قائمة القنوات القابلة للربط، لأن جهاز Mac الخاص بـ Messages يجب أن يكون ملكك، والإقران بينه وبين Gateway مستضاف يستحق صفحة خاصة به. وحتى ذلك الحين، القناة التي يبدأ بها معظم الناس هي OpenClaw على Telegram؛ والمساعد هو OpenClaw المستضاف على Diali.
- تشغيل imsg على جهاز Mac مسجّل الدخول، والوصول الكامل إلى القرص والأتمتة، والإقران للرسائل المباشرة.
- الوضع الأساسي يبقي SIP مفعّلًا؛ وAPI الخاص يتطلب إيقافه، ويُفضّل أن يكون ذلك على جهاز Mac أو مستخدم مخصص.
- يمكن أن يوجد Gateway في أي مكان؛ أما جهاز Mac فلا.
كفاك قراءة، ابنِ وكيلك الخاص
جهز وكيلًا، واختر قناة، واجعله يعمل داخل التطبيق المفتوح لديك دائمًا.
