メインコンテンツへスキップ

BlueBubbles の削除と imsg iMessage 経路

OpenClaw は BlueBubbles チャンネルを同梱しなくなりました。iMessage サポートは同梱の imessage Plugin を通じて動作します。Gateway は imsg をローカルまたは SSH ラッパー経由で子プロセスとして起動し、stdin/stdout 上で JSON-RPC をやり取りします。サーバーなし、Webhook なし、ポートなし。 設定にまだ channels.bluebubbles が含まれている場合は、channels.imessage に移行してください。従来の /channels/bluebubbles ドキュメント URL は BlueBubbles からの移行 にリダイレクトされます。そこには完全な設定変換表と切り替えチェックリストがあります。

変更点

  • サポートされる iMessage 経路には、BlueBubbles HTTP サーバー、Webhook ルート、REST パスワード、BlueBubbles Plugin ランタイムがありません。
  • OpenClaw は Messages.app にサインインしている Mac 上の imsg を通じて Messages を読み取り、監視します。
  • 基本的な送信、受信、履歴、メディアは通常の imsg サーフェスと macOS 権限を使用します。
  • 高度な操作(スレッド返信、タップバック、編集、送信取り消し、エフェクト、開封確認、入力インジケーター、グループ管理)には private API ブリッジが必要です。imsg launch を実行してください。これには SIP の無効化が必要です。
  • Linux と Windows の Gateway でも、サインイン済みの Mac 上で imsg を実行する SSH ラッパーを channels.imessage.cliPath に指定すれば iMessage を使用できます。

対応内容

  1. Messages Mac に imsg をインストールして検証します。
    brew install steipete/tap/imsg
    imsg --version
    imsg chats --limit 3
    imsg rpc --help
    
  2. imsg と OpenClaw を実行するプロセスコンテキストに、フルディスクアクセスとオートメーション権限を付与します。
  3. 古い設定を変換します。
    {
      channels: {
        imessage: {
          enabled: true,
          cliPath: "/opt/homebrew/bin/imsg",
          dmPolicy: "pairing",
          allowFrom: ["+15555550123"],
          groupPolicy: "allowlist",
          groupAllowFrom: ["+15555550123"],
          groups: {
            "*": { requireMention: true },
          },
          includeAttachments: true,
        },
      },
    }
    
  4. Gateway を再起動して検証します。
    openclaw channels status --probe
    
  5. 古い BlueBubbles サーバーを削除する前に、DM、グループ、添付ファイル、依存している private API 操作をテストします。

移行メモ

  • channels.bluebubbles.serverUrlchannels.bluebubbles.password に相当する iMessage 設定はありません。到達または認証するサーバーがないためです。
  • allowFromgroupAllowFromgroupsincludeAttachmentsattachmentRootsmediaMaxMbtextChunkLimitactions.*channels.imessage 配下でも意味を維持します。
  • channels.imessage.includeAttachments は引き続きデフォルトでオフです。受信した写真、ボイスメモ、動画、ファイルをエージェントに届けたい場合は、明示的に設定してください。
  • groupPolicy: "allowlist" の場合は、"*" ワイルドカードエントリを含めて古い groups ブロックをコピーしてください。グループ送信者の許可リストとグループレジストリは別々のゲートです。エントリがある groups ブロックでも、一致する chat_id がない(または "*" がない)場合、実行時にメッセージは破棄されます。また、空の groups ブロックは、送信者フィルタリングによってメッセージが通過する場合でも、起動時に警告をログ出力します。
  • match.channel: "bluebubbles" を持つ ACP バインディングは "imessage" に変更する必要があります。
  • 古い BlueBubbles セッションキーは iMessage セッションキーにはなりません。ペアリング承認は送信者ハンドルをキーにするため、コピーした allowFrom エントリは引き続き機能しますが、BlueBubbles セッションキー配下の会話履歴は引き継がれません。

関連項目