Overview
حذف BlueBubbles و مسیر imsg برای iMessage
حذف BlueBubbles و مسیر iMessage مبتنی بر imsg
OpenClaw دیگر کانال BlueBubbles را ارائه نمیکند. پشتیبانی از iMessage از طریق Plugin همراه imessage انجام میشود: Gateway، imsg را بهصورت یک فرایند فرزند، بهشکل محلی یا از طریق یک پوشش SSH، اجرا میکند و با استفاده از JSON-RPC روی stdin/stdout با آن ارتباط برقرار میکند. بدون سرور، بدون Webhook و بدون پورت.
اگر پیکربندی شما همچنان حاوی channels.bluebubbles است، آن را به channels.imessage مهاجرت دهید. نشانی قدیمی مستندات /channels/bluebubbles به مهاجرت از BlueBubbles هدایت میشود که جدول کامل تبدیل پیکربندی و چکلیست تغییر مسیر را در بر دارد.
چه چیزهایی تغییر کرده است
- مسیر پشتیبانیشده iMessage هیچ سرور HTTP، مسیر Webhook، گذرواژه REST یا زمان اجرای Plugin متعلق به BlueBubbles ندارد.
- OpenClaw پیامها را از طریق
imsgدر Macی که Messages.app در آن وارد حساب شده است، میخواند و پایش میکند. - ارسال، دریافت، تاریخچه و رسانههای پایه از سطوح معمول
imsgو مجوزهای macOS استفاده میکنند. - کنشهای پیشرفته (پاسخهای رشتهای، واکنشهای tapback، ویرایش، لغو ارسال، جلوهها، رسیدهای خواندن، نشانگرهای تایپ و مدیریت گروه) به پل 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 منتقل نمیشود.