Overview
حذف BlueBubbles و مسیر iMessage مبتنی بر imsg
حذف BlueBubbles و مسیر imsg برای iMessage
OpenClaw دیگر کانال BlueBubbles را عرضه نمیکند. پشتیبانی از iMessage از طریق Plugin همراه imessage انجام میشود: Gateway، برنامهٔ imsg را بهصورت یک فرایند فرزند، در محیط محلی یا از طریق یک پوششدهندهٔ SSH، اجرا میکند و با استفاده از JSON-RPC روی stdin/stdout با آن ارتباط برقرار میکند. بدون سرور، بدون Webhook و بدون درگاه.
اگر پیکربندی شما همچنان حاوی channels.bluebubbles است، آن را به channels.imessage منتقل کنید. نشانی قدیمی مستندات /channels/bluebubbles به مهاجرت از BlueBubbles هدایت میشود که شامل جدول کامل تبدیل پیکربندی و فهرست بررسی تغییر مسیر است.
چه چیزهایی تغییر کردهاند
- مسیر پشتیبانیشدهٔ iMessage فاقد سرور HTTP مربوط به BlueBubbles، مسیر Webhook، گذرواژهٔ REST یا محیط اجرای Plugin مربوط به BlueBubbles است.
- OpenClaw پیامها را از طریق
imsgروی Macی که در Messages.app به حساب وارد شده است، میخواند و پایش میکند. - ارسال، دریافت، تاریخچه و رسانههای پایه از رابطهای عادی
imsgو مجوزهای macOS استفاده میکنند. - کنشهای پیشرفته (پاسخهای رشتهای، واکنشها، ویرایش، لغو ارسال، جلوهها، تأییدیههای خواندن، نشانگرهای تایپ و مدیریت گروه) به پل API خصوصی نیاز دارند: دستور
imsg launchرا اجرا کنید که مستلزم غیرفعال بودن SIP است. - Gatewayهای Linux و Windows همچنان میتوانند با تنظیم
channels.imessage.cliPathروی یک پوششدهندهٔ SSH کهimsgرا روی Mac دارای نشست فعال اجرا میکند، از iMessage استفاده کنند.
چه باید کرد
-
imsgرا روی Mac مربوط به Messages نصب و بررسی کنید:bash brew install steipete/tap/imsgimsg --versionimsg chats --limit 3imsg rpc --help -
مجوزهای Full Disk Access و Automation را به بستر فرایندی که
imsgو OpenClaw را اجرا میکند، اعطا کنید. -
پیکربندی قدیمی را تبدیل کنید:
json5 { channels: { imessage: { enabled: true, cliPath: "/opt/homebrew/bin/imsg", dmPolicy: "pairing", allowFrom: ["+15555550123"], groupPolicy: "allowlist", groupAllowFrom: ["+15555550123"], groups: { "*": { requireMention: true }, }, includeAttachments: true, }, },} -
Gateway را راهاندازی مجدد و بررسی کنید:
bash openclaw channels status --probe -
پیش از حذف سرور قدیمی BlueBubbles، پیامهای مستقیم، گروهها، پیوستها و هر کنش API خصوصی مورد استفادهٔ خود را آزمایش کنید.
نکات مهاجرت
channels.bluebubbles.serverUrlوchannels.bluebubbles.passwordدر iMessage معادلی ندارند؛ هیچ سروری برای اتصال یا احراز هویت وجود ندارد.allowFrom،groupAllowFrom،groups،includeAttachments،attachmentRoots،mediaMaxMb،textChunkLimitوactions.*در زیرchannels.imessageمعنای خود را حفظ میکنند.channels.imessage.includeAttachmentsهمچنان بهصورت پیشفرض غیرفعال است. اگر انتظار دارید عکسهای دریافتی، یادداشتهای صوتی، ویدئوها یا فایلها به عامل برسند، آن را صریحاً تنظیم کنید.- هنگام استفاده از
groupPolicy: "allowlist"، بلوک قدیمیgroups، از جمله هر ورودی عام"*"، را کپی کنید. فهرستهای مجاز فرستندگان گروه و دفتر ثبت گروه دو کنترل جداگانه هستند؛ بلوکgroupsدارای ورودی، اما بدونchat_idمنطبق (یا بدون"*") پیام را هنگام اجرا حذف میکند و بلوک خالیgroupsهنگام راهاندازی هشدار ثبت میکند، هرچند پالایش فرستنده همچنان اجازهٔ عبور پیامها را میدهد. - اتصالهای ACP دارای
match.channel: "bluebubbles"باید به"imessage"تغییر کنند. - کلیدهای نشست قدیمی BlueBubbles به کلیدهای نشست iMessage تبدیل نمیشوند. تأییدیههای جفتسازی بر اساس شناسههای فرستنده ثبت میشوند، بنابراین ورودیهای کپیشدهٔ
allowFromهمچنان کار میکنند، اما تاریخچهٔ مکالمات مربوط به کلیدهای نشست BlueBubbles منتقل نمیشود.