Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
بالنسبة إلى عمليات نشر OpenClaw iMessage، استخدم
imsg على مضيف macOS Messages مسجّل الدخول. إذا كان Gateway يعمل على Linux أو Windows، فوجّه channels.imessage.cliPath إلى مغلّف SSH يشغّل imsg على Mac.اللحاق بعد توقف Gateway اختياري. عند تفعيله (channels.imessage.catchup.enabled: true)، يعيد Gateway تشغيل الرسائل الواردة التي وصلت إلى chat.db أثناء توقفه عن الاتصال (تعطل، إعادة تشغيل، سكون Mac) عند بدء التشغيل التالي. معطّل افتراضيًا — راجع اللحاق بعد توقف Gateway. يغلق openclaw#78649.imsg rpc ويتواصل عبر JSON-RPC على stdio (من دون عفريت/منفذ منفصل). تتطلب الإجراءات المتقدمة imsg launch وفحصًا ناجحًا لواجهة API الخاصة.
إجراءات واجهة API الخاصة
الردود، والتفاعلات، والمؤثرات، والمرفقات، وإدارة المجموعات.
الإقران
تبدأ رسائل iMessage المباشرة افتراضيًا في وضع الإقران.
Mac بعيد
استخدم مغلّف SSH عندما لا يعمل Gateway على Mac الخاص بـ Messages.
مرجع الإعدادات
مرجع كامل لحقول iMessage.
الإعداد السريع
- Mac محلي (المسار السريع)
- Mac بعيد عبر SSH
المتطلبات والأذونات (macOS)
- يجب تسجيل الدخول إلى Messages على Mac الذي يشغّل
imsg. - يلزم إذن Full Disk Access لسياق العملية التي تشغّل OpenClaw/
imsg(للوصول إلى قاعدة بيانات Messages). - يلزم إذن Automation لإرسال الرسائل عبر Messages.app.
- للإجراءات المتقدمة (تفاعل / تعديل / إلغاء إرسال / رد ضمن سلسلة / مؤثرات / عمليات المجموعات)، يجب تعطيل System Integrity Protection — راجع تفعيل واجهة API الخاصة في imsg أدناه. يعمل إرسال/استقبال النصوص والوسائط الأساسي من دونه.
تفعيل واجهة API الخاصة في imsg
يأتيimsg بوضعين تشغيليين:
- الوضع الأساسي (افتراضي، لا يحتاج تغييرات SIP): نصوص ووسائط صادرة عبر
send، ومراقبة/سجل وارد، وقائمة محادثات. هذا ما تحصل عليه مباشرة من تثبيت جديد باستخدامbrew install steipete/tap/imsgمع أذونات macOS القياسية أعلاه. - وضع واجهة API الخاصة: يحقن
imsgمكتبة dylib مساعدة فيMessages.appلاستدعاء دوالIMCoreالداخلية. هذا ما يفعّلreact، وedit، وunsend، وreply(ضمن سلسلة)، وsendWithEffect، وrenameGroup، وsetGroupIcon، وaddParticipant، وremoveParticipant، وleaveGroup، إضافةً إلى مؤشرات الكتابة وإيصالات القراءة.
imsg المتطلب صراحةً:
الميزات المتقدمة مثلتستخدم تقنية حقن المساعد مكتبة dylib الخاصة بـread، وtyping، وlaunch، والإرسال الغني المدعوم بالجسر، وتعديل الرسائل، وإدارة المحادثات اختيارية. تتطلب تعطيل SIP وحقن مكتبة dylib مساعدة فيMessages.app. يرفضimsg launchالحقن عندما يكون SIP مفعّلًا.
imsg للوصول إلى واجهات API الخاصة في Messages. لا يوجد خادم تابع لجهة خارجية أو وقت تشغيل BlueBubbles في مسار OpenClaw iMessage.
الإعداد
-
ثبّت (أو حدّث)
imsgعلى Mac الذي يشغّل Messages.app:يعرض خرجimsg status --jsonالحقولbridge_version، وrpc_methods، وselectorsلكل طريقة كي تتمكن من رؤية ما يدعمه البناء الحالي قبل البدء. -
عطّل System Integrity Protection. يختلف ذلك حسب إصدار macOS لأن متطلب Apple الأساسي يعتمد على نظام التشغيل والعتاد:
- macOS 10.13–10.15 (Sierra–Catalina): عطّل Library Validation عبر Terminal، وأعد التشغيل إلى Recovery Mode، وشغّل
csrutil disable، ثم أعد التشغيل. - macOS 11+ (Big Sur والإصدارات الأحدث)، Intel: Recovery Mode (أو Internet Recovery)، ثم
csrutil disable، ثم أعد التشغيل. - macOS 11+، Apple Silicon: استخدم تسلسل بدء التشغيل بزر التشغيل للدخول إلى Recovery؛ في إصدارات macOS الحديثة اضغط باستمرار على مفتاح Left Shift عند النقر على Continue، ثم
csrutil disable. تتبع إعدادات الآلات الافتراضية مسارًا منفصلًا — خذ لقطة VM أولًا. - macOS 26 / Tahoe: أصبحت سياسات library-validation وفحوص استحقاقات
imagentالخاصة أكثر تشددًا؛ قد يحتاجimsgإلى بناء محدّث لمواكبة ذلك. إذا بدأت عملية حقنimsg launchأوselectorsمحددة بإرجاع false بعد ترقية رئيسية لـ macOS، فراجع ملاحظات إصدارimsgقبل افتراض نجاح خطوة SIP.
imsg launch. - macOS 10.13–10.15 (Sierra–Catalina): عطّل Library Validation عبر Terminal، وأعد التشغيل إلى Recovery Mode، وشغّل
-
احقن المساعد. بعد تعطيل SIP وتسجيل الدخول إلى Messages.app:
يرفض
imsg launchالحقن إذا كان SIP لا يزال مفعّلًا، لذلك يعمل هذا أيضًا كتأكيد على نجاح الخطوة 2. -
تحقق من الجسر من OpenClaw:
يجب أن يبلّغ إدخال iMessage عن
works، ويجب أن يعرضimsg status --json | jq '.selectors'القيمةretractMessagePart: trueإضافةً إلى محددات التعديل / الكتابة / القراءة التي يوفّرها بناء macOS لديك. لا يعلن تقييد OpenClaw Plugin لكل طريقة فيactions.tsإلا عن الإجراءات التي يكون محددها الأساسيtrue، لذلك يعكس سطح الإجراءات الذي تراه في قائمة أدوات الوكيل ما يستطيع الجسر فعله فعليًا على هذا المضيف.
openclaw channels status --probe أن القناة works لكن إجراءات محددة ترمي “iMessage <action> requires the imsg private API bridge” وقت الإرسال، فشغّل imsg launch مرة أخرى — قد يخرج المساعد من الخدمة (إعادة تشغيل Messages.app، تحديث نظام التشغيل، إلخ)، وستستمر الحالة المخبأة available: true في الإعلان عن الإجراءات حتى يحدّث الفحص التالي الحالة.
عندما لا يمكنك تعطيل SIP
إذا لم يكن تعطيل SIP مقبولًا لنموذج التهديد لديك:- يعود
imsgإلى الوضع الأساسي — نص + وسائط + استقبال فقط. - يظل OpenClaw Plugin يعلن عن إرسال النصوص/الوسائط والمراقبة الواردة؛ لكنه يخفي فقط
react، وedit، وunsend، وreply، وsendWithEffect، وعمليات المجموعات من سطح الإجراءات (وفق بوابة الإمكانية لكل طريقة). - يمكنك تشغيل Mac منفصل غير Apple-Silicon (أو Mac مخصص للبوت) مع إيقاف SIP لعبء عمل iMessage، مع إبقاء SIP مفعّلًا على أجهزتك الأساسية. راجع مستخدم macOS مخصص للبوت (هوية iMessage منفصلة) أدناه.
التحكم في الوصول والتوجيه
- سياسة DM
- سياسة المجموعات + الإشارات
- Sessions and deterministic replies
يتحكم
channels.imessage.dmPolicy في الرسائل المباشرة:pairing(افتراضي)allowlistopen(يتطلب أن يتضمنallowFromالقيمة"*")disabled
channels.imessage.allowFrom.يجب أن تحدد إدخالات قائمة السماح المرسلين: المعرّفات أو مجموعات وصول مرسل ثابتة (accessGroup:<name>). استخدم channels.imessage.groupAllowFrom لأهداف المحادثة مثل chat_id:*، أو chat_guid:*، أو chat_identifier:*؛ واستخدم channels.imessage.groups لمفاتيح سجل chat_id الرقمية.ارتباطات محادثات 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 ما يلي:
- معرّف رسالة خاصة مطبّع مثل
+15555550123أوuser@example.com chat_id:<id>(موصى به لارتباطات المجموعات الثابتة)chat_guid:<guid>chat_identifier:<identifier>
أنماط النشر
Dedicated bot macOS user (separate iMessage identity)
Dedicated bot macOS user (separate iMessage identity)
استخدم Apple ID ومستخدم macOS مخصصين حتى تكون زيارات البوت معزولة عن ملفك الشخصي في Messages.التدفق المعتاد:
- أنشئ مستخدم macOS مخصصًا/سجّل الدخول إليه.
- سجّل الدخول إلى Messages باستخدام Apple ID الخاص بالبوت في ذلك المستخدم.
- ثبّت
imsgفي ذلك المستخدم. - أنشئ مغلّف SSH حتى يتمكن OpenClaw من تشغيل
imsgفي سياق ذلك المستخدم. - وجّه
channels.imessage.accounts.<id>.cliPathو.dbPathإلى ملف ذلك المستخدم الشخصي.
Remote Mac over Tailscale (example)
Remote Mac over Tailscale (example)
البنية الشائعة:استخدم مفاتيح SSH حتى يكون كل من SSH وSCP غير تفاعليين.
تأكد أولًا من الوثوق بمفتاح المضيف (على سبيل المثال
- يعمل Gateway على Linux/VM
- يعمل iMessage +
imsgعلى Mac في شبكة tailnet الخاصة بك - يستخدم مغلّف
cliPathSSH لتشغيلimsg - يفعّل
remoteHostجلب المرفقات عبر SCP
ssh bot@mac-mini.tailnet-1234.ts.net) حتى يتم ملء known_hosts.Multi-account pattern
Multi-account pattern
يدعم iMessage التكوين لكل حساب ضمن
channels.imessage.accounts.يمكن لكل حساب تجاوز حقول مثل cliPath وdbPath وallowFrom وgroupPolicy وmediaMaxMb وإعدادات السجل وقوائم السماح لجذور المرفقات.الوسائط والتقسيم وأهداف التسليم
Attachments and media
Attachments and media
- استيعاب المرفقات الواردة متوقف افتراضيًا — اضبط
channels.imessage.includeAttachments: trueلتمرير الصور والمذكرات الصوتية والفيديو والمرفقات الأخرى إلى الوكيل. عند تعطيله، تُسقَط رسائل iMessage التي تحتوي على مرفقات فقط قبل أن تصل إلى الوكيل، وقد لا تنتج أي سطر سجلInbound messageإطلاقًا. - يمكن جلب مسارات المرفقات البعيدة عبر SCP عند ضبط
remoteHost - يجب أن تطابق مسارات المرفقات الجذور المسموح بها:
channels.imessage.attachmentRoots(محلي)channels.imessage.remoteAttachmentRoots(وضع SCP البعيد)- نمط الجذر الافتراضي:
/Users/*/Library/Messages/Attachments
- يستخدم SCP فحصًا صارمًا لمفتاح المضيف (
StrictHostKeyChecking=yes) - يستخدم حجم الوسائط الصادرة
channels.imessage.mediaMaxMb(الافتراضي 16 MB)
Outbound chunking
Outbound chunking
- حد تقسيم النص:
channels.imessage.textChunkLimit(الافتراضي 4000) - وضع التقسيم:
channels.imessage.chunkModelength(الافتراضي)newline(تقسيم يعطي الأولوية للفقرات)
Addressing formats
Addressing formats
الأهداف الصريحة المفضلة:
chat_id:123(موصى به للتوجيه الثابت)chat_guid:...chat_identifier:...
imessage:+1555...sms:+1555...user@example.com
إجراءات API الخاصة
عندما يكونimsg launch قيد التشغيل ويُبلغ openclaw channels status --probe عن privateApi.available: true، يمكن لأداة الرسائل استخدام إجراءات iMessage الأصلية بالإضافة إلى الإرسال النصي العادي.
Available actions
Available actions
- react: إضافة/إزالة tapbacks في iMessage (
messageId،emoji،remove). تُعيَّن tapbacks المدعومة إلى love وlike وdislike وlaugh وemphasize وquestion. - reply: إرسال رد مترابط على رسالة موجودة (
messageId، وtextأوmessage، بالإضافة إلىchatGuidأوchatIdأوchatIdentifierأوto). - sendWithEffect: إرسال نص مع تأثير iMessage (
textأوmessage، وeffectأوeffectId). - edit: تعديل رسالة مُرسلة على إصدارات macOS/API الخاصة المدعومة (
messageId، وtextأوnewText). - unsend: سحب رسالة مُرسلة على إصدارات macOS/API الخاصة المدعومة (
messageId). - upload-file: إرسال وسائط/ملفات (
bufferكـ base64 أوmedia/path/filePathمُحضّر، وfilename، وasVoiceاختياري). الاسم البديل القديم:sendAttachment. - renameGroup، setGroupIcon، addParticipant، removeParticipant، leaveGroup: إدارة دردشات المجموعات عندما يكون الهدف الحالي محادثة مجموعة.
Message IDs
Message IDs
يتضمن سياق iMessage الوارد كلًا من قيم
MessageSid القصيرة ومعرّفات GUID الكاملة للرسائل عند توفرها. تكون المعرّفات القصيرة محدودة النطاق إلى ذاكرة التخزين المؤقت الحديثة للردود في الذاكرة، وتُفحص مقابل الدردشة الحالية قبل الاستخدام. إذا انتهت صلاحية معرّف قصير أو كان ينتمي إلى دردشة أخرى، فأعد المحاولة باستخدام MessageSidFull الكامل.Capability detection
Capability detection
يخفي OpenClaw إجراءات API الخاصة فقط عندما تقول حالة الفحص المخزنة مؤقتًا إن الجسر غير متاح. إذا كانت الحالة غير معروفة، تظل الإجراءات مرئية وتُجري عمليات الفحص عند الإرسال بشكل كسول حتى ينجح الإجراء الأول بعد
imsg launch من دون تحديث حالة يدوي منفصل.Read receipts and typing
Read receipts and typing
عندما يكون جسر API الخاصة قيد التشغيل، تُعلَّم الدردشات الواردة المقبولة كمقروءة قبل الإرسال، وتظهر فقاعة كتابة للمرسل أثناء توليد الوكيل. عطّل التعليم كمقروء باستخدام:إصدارات
imsg الأقدم التي تسبق قائمة الإمكانات لكل طريقة ستعطّل الكتابة/القراءة بصمت؛ يسجل OpenClaw تحذيرًا لمرة واحدة في كل إعادة تشغيل حتى يكون إيصال القراءة المفقود قابلًا للإسناد.Inbound tapbacks
Inbound tapbacks
يشترك OpenClaw في tapbacks الخاصة بـ iMessage ويوجه التفاعلات المقبولة كأحداث نظام بدلًا من نص رسالة عادي، لذلك لا يؤدي tapback من مستخدم إلى تشغيل حلقة رد عادية.يتحكم
channels.imessage.reactionNotifications في وضع الإشعارات:"own"(الافتراضي): الإشعار فقط عندما يتفاعل المستخدمون مع رسائل أنشأها البوت."all": الإشعار بجميع tapbacks الواردة من المرسلين المخوّلين."off": تجاهل tapbacks الواردة.
channels.imessage.accounts.<id>.reactionNotifications.كتابات التكوين
يسمح iMessage افتراضيًا بكتابات التكوين التي تبدأها القناة (لـ/config set|unset عندما يكون commands.config: true).
تعطيل:
دمج الرسائل الخاصة المرسلة على دفعتين (أمر + URL في تركيب واحد)
عندما يكتب مستخدم أمرًا وURL معًا — مثلDump https://example.com/article — يقسّم تطبيق Messages من Apple الإرسال إلى صفَّين منفصلين في chat.db:
- رسالة نصية (
"Dump"). - فقاعة معاينة URL (
"https://...") مع صور معاينة OG كمرفقات.
imsg.
يتيح channels.imessage.coalesceSameSenderDms لرسالة مباشرة دمج الصفوف المتتالية من المرسل نفسه في دور وكيل واحد. تستمر محادثات المجموعات في الإرسال لكل رسالة كي تُحفَظ بنية الأدوار متعددة المستخدمين.
- متى تفعّله
- التفعيل
- المفاضلات
فعّله عندما:
- تشحن Skills تتوقع
command + payloadفي رسالة واحدة (تفريغ، لصق، حفظ، وضع في الطابور، إلخ). - يلصق مستخدموك عناوين URL أو صورا أو محتوى طويلا بجانب الأوامر.
- يمكنك قبول زمن انتظار دور الرسالة المباشرة الإضافي (انظر أدناه).
- تحتاج إلى أقل زمن انتظار للأوامر لمشغلات الرسائل المباشرة ذات الكلمة الواحدة.
- تكون كل تدفقاتك أوامر أحادية التنفيذ من دون متابعات حمولة.
السيناريوهات وما يراه الوكيل
| ما ينشئه المستخدم | ما ينتجه chat.db | العلامة متوقفة (افتراضي) | العلامة مفعلة + نافذة 2500 ms |
|---|---|---|---|
Dump https://example.com (إرسال واحد) | صفان بفاصل يقارب 1 s | دوران للوكيل: “Dump” وحده، ثم عنوان URL | دور واحد: نص مدمج Dump https://example.com |
Save this 📎image.jpg caption (مرفق + نص) | صفان | دوران (يُسقط المرفق عند الدمج) | دور واحد: النص + الصورة محفوظان |
/status (أمر مستقل) | صف واحد | إرسال فوري | انتظار حتى النافذة، ثم إرسال |
| عنوان URL ملصوق وحده | صف واحد | إرسال فوري | إرسال فوري (إدخال واحد فقط في الحاوية) |
| نص + عنوان URL مرسلان كرسالتين منفصلتين عمدا، بفاصل دقائق | صفان خارج النافذة | دوران | دوران (تنتهي النافذة بينهما) |
| تدفق سريع (>10 رسائل مباشرة صغيرة داخل النافذة) | N صفوف | N أدوار | دور واحد، مخرجات محدودة (الأول + الأحدث، مع تطبيق حدود النص/المرفقات) |
| شخصان يكتبان في محادثة مجموعة | N صفوف من M مرسلين | M+ أدوار (واحد لكل حاوية مرسل) | M+ أدوار — لا تُدمج محادثات المجموعات |
اللحاق بعد توقف Gateway
عندما يكون Gateway غير متصل (تعطل، إعادة تشغيل، نوم Mac، إيقاف الجهاز)، يستأنفimsg watch من حالة chat.db الحالية بمجرد عودة Gateway — أي شيء وصل أثناء الفجوة، افتراضيا، لا يُرى أبدا. يعيد اللحاق تشغيل تلك الرسائل عند بدء التشغيل التالي كي لا يفوّت الوكيل حركة المرور الواردة بصمت.
اللحاق معطل افتراضيا. فعّله لكل قناة:
كيف يعمل
تمريرة واحدة لكل بدء تشغيل لـmonitorIMessageProvider، بالتسلسل: جاهزية imsg launch → watch.subscribe → performIMessageCatchup → حلقة الإرسال الحي. يستخدم اللحاق نفسه chats.list + messages.history لكل محادثة عبر عميل JSON-RPC نفسه المستخدم بواسطة imsg watch. أي شيء يصل أثناء تمريرة اللحاق يمر عبر الإرسال الحي بشكل طبيعي؛ وتمتص ذاكرة إزالة التكرار الوارد الحالية أي تداخل مع الصفوف المُعادة.
يُمرر كل صف مُعاد عبر مسار الإرسال الحي (evaluateIMessageInbound + dispatchInboundMessage)، لذلك تتصرف قوائم السماح وسياسة المجموعة ومزيل الارتداد وذاكرة صدى الرسائل وإيصالات القراءة بالطريقة نفسها في الرسائل المُعادة والرسائل الحية.
دلالات المؤشر وإعادة المحاولة
يحتفظ اللحاق بمؤشر لكل حساب في<openclawStateDir>/imessage/catchup/<account>__<hash>.json (دليل حالة OpenClaw الافتراضي هو ~/.openclaw، ويمكن تجاوزه باستخدام OPENCLAW_STATE_DIR):
- يتقدم المؤشر عند كل إرسال ناجح ويُحجز عندما يرمي إرسال صف خطأ — يعيد بدء التشغيل التالي محاولة الصف نفسه من المؤشر المحجوز.
- بعد
maxFailureRetriesأخطاء متتالية مقابلguidنفسه، يسجل اللحاقwarnويفرض تقدم المؤشر إلى ما بعد الرسالة العالقة كي تتمكن عمليات بدء التشغيل اللاحقة من التقدم. - تُتخطى معرفات guid التي تم التخلي عنها بالفعل عند رؤيتها (من دون محاولة إرسال) في التشغيلات اللاحقة وتُحتسب تحت
skippedGivenUpفي ملخص التشغيل.
إشارات مرئية للمشغل
WARN ... capped to perRunLimit أن بدء تشغيل واحدا لم يفرغ كامل التراكم. ارفع perRunLimit (الحد الأقصى 500) إذا كانت فجواتك تتجاوز بانتظام تمريرة الصفوف الخمسين الافتراضية.
متى تتركه متوقفا
- يعمل Gateway باستمرار مع إعادة تشغيل تلقائية عبر مراقب، والفجوات دائما < بضع ثوان — الافتراضي المتوقف مناسب.
- حجم الرسائل المباشرة منخفض والرسائل الفائتة لن تغير سلوك الوكيل — قد ترسل نافذة
firstRunLookbackMinutesالأولية سياقا قديما مفاجئا عند أول تفعيل.
firstRunLookbackMinutes فقط (30 دقيقة افتراضيا)، لا نافذة maxAgeMinutes كاملة — وهذا يتجنب إعادة تشغيل تاريخ طويل من الرسائل السابقة للتفعيل.
استكشاف الأخطاء وإصلاحها
لم يُعثر على imsg أو RPC غير مدعوم
لم يُعثر على imsg أو RPC غير مدعوم
تحقق من الملف الثنائي ودعم RPC:إذا أبلغ الفحص أن RPC غير مدعوم، فحدّث
imsg. إذا كانت إجراءات API الخاصة غير متاحة، فشغّل imsg launch في جلسة مستخدم macOS المسجل دخوله وافحص مرة أخرى. إذا لم يكن Gateway يعمل على macOS، فاستخدم إعداد Remote Mac عبر SSH أعلاه بدلا من مسار imsg المحلي الافتراضي.Gateway لا يعمل على macOS
Gateway لا يعمل على macOS
يجب أن يعمل ثم شغّل:
cliPath: "imsg" الافتراضي على Mac المسجل دخوله إلى Messages. على Linux أو Windows، اضبط channels.imessage.cliPath إلى سكربت غلاف يستخدم SSH إلى ذلك الـ Mac ويشغّل 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.مؤشرات مرجع الإعدادات
ذات صلة
- نظرة عامة على القنوات — كل القنوات المدعومة
- إزالة BlueBubbles ومسار imsg iMessage — الإعلان وملخص الترحيل
- الانتقال من BlueBubbles — جدول ترجمة الإعدادات والانتقال خطوة بخطوة
- الاقتران — مصادقة الرسائل المباشرة وتدفق الاقتران
- المجموعات — سلوك محادثات المجموعات وبوابة الإشارات
- توجيه القنوات — توجيه الجلسات للرسائل
- الأمان — نموذج الوصول والتحصين