iMessage (قديم: imsg)
الحالة: تكامل CLI خارجي قديم. يقوم Gateway بتشغيلimsg rpc والتواصل عبر JSON-RPC على stdio (من دون daemon/port منفصل).
BlueBubbles (موصى به)
مسار iMessage المفضل للإعدادات الجديدة.
الاقتران
تستخدم الرسائل المباشرة في iMessage وضع الاقتران افتراضيًا.
مرجع الإعدادات
مرجع كامل لحقول iMessage.
إعداد سريع
- Mac محلي (المسار السريع)
- Mac بعيد عبر SSH
المتطلبات والأذونات (macOS)
- يجب أن يكون Messages مسجّل الدخول على Mac الذي يشغّل
imsg. - يلزم Full Disk Access لسياق العملية التي تشغّل OpenClaw/
imsg(للوصول إلى قاعدة بيانات Messages). - يلزم إذن Automation لإرسال الرسائل عبر Messages.app.
التحكم في الوصول والتوجيه
- سياسة الرسائل المباشرة
- سياسة المجموعات + الإشارات
- الجلسات والردود الحتمية
يتحكم
channels.imessage.dmPolicy في الرسائل المباشرة:pairing(الافتراضي)allowlistopen(يتطلب أن تتضمنallowFromالقيمة"*")disabled
channels.imessage.allowFrom.يمكن أن تكون إدخالات قائمة السماح handles أو أهداف دردشة (chat_id:* أو chat_guid:* أو chat_identifier:*).ارتباطات محادثات ACP
يمكن أيضًا ربط محادثات iMessage القديمة بجلسات ACP. تدفق المشغل السريع:- شغّل
/acp spawn codex --bind hereداخل الرسالة المباشرة أو دردشة المجموعة المسموح بها. - تُوجَّه الرسائل المستقبلية في محادثة iMessage نفسها إلى جلسة ACP التي تم إنشاؤها.
- يعيد
/newو/resetتعيين جلسة ACP المرتبطة نفسها في مكانها. - يغلق
/acp closeجلسة ACP ويزيل الارتباط.
bindings[] من المستوى الأعلى مع type: "acp" وmatch.channel: "imessage".
يمكن أن يستخدم match.peer.id:
- handle رسالة مباشرة مطبّعًا مثل
+15555550123أوuser@example.com chat_id:<id>(موصى به للارتباطات المستقرة للمجموعات)chat_guid:<guid>chat_identifier:<identifier>
أنماط النشر
مستخدم macOS مخصص للبوت (هوية iMessage منفصلة)
مستخدم macOS مخصص للبوت (هوية iMessage منفصلة)
استخدم Apple ID ومستخدم macOS مخصصين بحيث تكون حركة مرور البوت معزولة عن ملف Messages الشخصي الخاص بك.التدفق المعتاد:
- أنشئ/سجّل الدخول إلى مستخدم macOS مخصص.
- سجّل الدخول إلى Messages باستخدام Apple ID الخاص بالبوت في ذلك المستخدم.
- ثبّت
imsgلذلك المستخدم. - أنشئ wrapper لـ SSH حتى يتمكن OpenClaw من تشغيل
imsgفي سياق ذلك المستخدم. - وجّه
channels.imessage.accounts.<id>.cliPathو.dbPathإلى ملف ذلك المستخدم.
Mac بعيد عبر Tailscale (مثال)
Mac بعيد عبر Tailscale (مثال)
بنية شائعة:استخدم مفاتيح SSH بحيث يكون كل من SSH وSCP غير تفاعليين.
تأكد أولًا من الوثوق بمفتاح المضيف (على سبيل المثال
- يعمل gateway على Linux/VM
- يعمل iMessage و
imsgعلى Mac داخل tailnet لديك - يستخدم wrapper الخاص بـ
cliPathSSH لتشغيلimsg - يتيح
remoteHostجلب المرفقات عبر SCP
ssh bot@mac-mini.tailnet-1234.ts.net) حتى تتم تعبئة known_hosts.نمط الحسابات المتعددة
نمط الحسابات المتعددة
يدعم iMessage إعدادات لكل حساب ضمن
channels.imessage.accounts.يمكن لكل حساب تجاوز حقول مثل cliPath وdbPath وallowFrom وgroupPolicy وmediaMaxMb وإعدادات السجل وقوائم السماح لجذور المرفقات.الوسائط والتقسيم وأهداف التسليم
المرفقات والوسائط
المرفقات والوسائط
- إدخال المرفقات الواردة اختياري:
channels.imessage.includeAttachments - يمكن جلب مسارات المرفقات البعيدة عبر SCP عند ضبط
remoteHost - يجب أن تطابق مسارات المرفقات الجذور المسموح بها:
channels.imessage.attachmentRoots(محلي)channels.imessage.remoteAttachmentRoots(وضع SCP البعيد)- نمط الجذر الافتراضي:
/Users/*/Library/Messages/Attachments
- يستخدم SCP تحققًا صارمًا من مفتاح المضيف (
StrictHostKeyChecking=yes) - يستخدم حجم الوسائط الصادرة
channels.imessage.mediaMaxMb(الافتراضي 16 MB)
تقسيم الرسائل الصادرة
تقسيم الرسائل الصادرة
- حد تقسيم النص:
channels.imessage.textChunkLimit(الافتراضي 4000) - وضع التقسيم:
channels.imessage.chunkModelength(الافتراضي)newline(التقسيم حسب الفقرة أولًا)
تنسيقات العنونة
تنسيقات العنونة
الأهداف الصريحة المفضلة:
chat_id:123(موصى به للتوجيه المستقر)chat_guid:...chat_identifier:...
imessage:+1555...sms:+1555...user@example.com
عمليات كتابة الإعدادات
يسمح iMessage افتراضيًا بعمليات كتابة الإعدادات التي تبدأها القناة (لأوامر/config set|unset عندما تكون commands.config: true).
للتعطيل:
استكشاف الأخطاء وإصلاحها
لم يتم العثور على imsg أو أن RPC غير مدعوم
لم يتم العثور على imsg أو أن RPC غير مدعوم
تحقّق من الملف التنفيذي ودعم RPC:إذا أبلغ الفحص أن RPC غير مدعوم، فقم بتحديث
imsg.يتم تجاهل الرسائل المباشرة
يتم تجاهل الرسائل المباشرة
تحقّق من:
channels.imessage.dmPolicychannels.imessage.allowFrom- موافقات الاقتران (
openclaw pairing list imessage)
يتم تجاهل رسائل المجموعات
يتم تجاهل رسائل المجموعات
تحقّق من:
channels.imessage.groupPolicychannels.imessage.groupAllowFrom- سلوك قائمة السماح لـ
channels.imessage.groups - إعداد أنماط الإشارة (
agents.list[].groupChat.mentionPatterns)
فشل المرفقات البعيدة
فشل المرفقات البعيدة
تحقّق من:
channels.imessage.remoteHostchannels.imessage.remoteAttachmentRoots- مصادقة مفاتيح SSH/SCP من مضيف gateway
- وجود مفتاح المضيف في
~/.ssh/known_hostsعلى مضيف gateway - قابلية قراءة المسار البعيد على Mac الذي يشغّل Messages
تم تفويت مطالبات أذونات macOS
تم تفويت مطالبات أذونات macOS
أعد التشغيل في طرفية GUI تفاعلية ضمن سياق المستخدم/الجلسة نفسه ووافق على المطالبات:أكّد منح Full Disk Access وAutomation لسياق العملية الذي يشغّل OpenClaw/
imsg.مؤشرات إلى مرجع الإعدادات
ذو صلة
- نظرة عامة على القنوات — جميع القنوات المدعومة
- الاقتران — مصادقة الرسائل المباشرة وتدفق الاقتران
- المجموعات — سلوك دردشات المجموعات وبوابة الإشارات
- توجيه القنوات — توجيه الجلسات للرسائل
- الأمان — نموذج الوصول والتقوية