OpenClaw BlueBubbles チャンネル
BlueBubbles REST API を通じて OpenClaw を iMessage に接続します。この統合により Mac が iMessage ゲートウェイに変わります — BlueBubbles サーバーアプリをインストールし、Web API を有効にすれば、AI アシスタントが iMessage メッセージ、tapback リアクション、メディア添付ファイルの送受信が可能になります。BlueBubbles はレガシー imsg CLI に代わる推奨の iMessage チャネルです。
BlueBubbles 対応機能
テキストメッセージ
対応
メディア・ファイル
対応
リアクション
対応
スレッド
非対応
音声メッセージ
非対応
グループチャット
対応
BlueBubbles 前提条件
- macOS High Sierra (10.13) 以降を実行する Mac(全機能には Ventura 13+ を推奨、Tahoe 26 は一部制限あり)
- BlueBubbles サーバーアプリがインストール済み(bluebubbles.app からダウンロード)
- BlueBubbles 設定で Web API を有効化しパスワードを設定済み
- OpenClaw Gateway が実行・設定済み
BlueBubbles クイックセットアップ
Mac に BlueBubbles サーバーをインストール
bluebubbles.app/install から BlueBubbles サーバーアプリをダウンロードしてインストールします。アプリを起動し、Apple ID でサインインし、初期設定を完了します。Mac で iMessage が正常に動作していることを確認してください。
Web API を有効化
BlueBubbles サーバー設定で Web/REST API を有効にし、強力なパスワードを設定します。サーバー URL(例:http://localhost:1234)をメモしておきます — OpenClaw の設定で使用します。
BlueBubbles チャネル設定を追加
'openclaw onboard' を実行して BlueBubbles を選択するか、~/.openclaw/openclaw.json に serverUrl と password を手動で設定します。必要に応じて webhookPath も設定できます。
Webhook を設定してテスト
BlueBubbles の Webhook を Gateway に向けます:https://your-gateway-host:3000/bluebubbles-webhook?password=<password>。Gateway を起動し、テスト用の iMessage を送信して接続を確認します。pairing ポリシーを使用している場合は、'openclaw pairing approve bluebubbles <code>' で送信者を承認します。
BlueBubbles 設定例
{
"channels": {
"bluebubbles": {
"enabled": true,
"serverUrl": "http://localhost:1234",
"password": "YOUR_BLUEBUBBLES_PASSWORD",
"webhookPath": "/bluebubbles-webhook",
"dmPolicy": "pairing"
}
}
}BlueBubbles 詳細ドキュメント
アーキテクチャ概要
BlueBubbles サーバーのセットアップ
# Gateway 用の Webhook URL フォーマット
https://your-gateway-host:3000/bluebubbles-webhook?password=YOUR_PASSWORDDM ポリシー
{
"channels": {
"bluebubbles": {
"dmPolicy": "allowlist",
"allowFrom": ["+15551234567", "user@example.com"]
}
}
}グループチャット管理
{
"channels": {
"bluebubbles": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["+15551234567"],
"groups": {
"iMessage;+;chat123456": {
"requireMention": false
}
}
}
}
}iMessage アクションとエフェクト
{
"channels": {
"bluebubbles": {
"actions": {
"reactions": true,
"edit": true,
"unsend": true,
"reply": true,
"sendWithEffect": true,
"sendAttachment": true
}
}
}
}メッセージ配信とチャンキング
{
"channels": {
"bluebubbles": {
"textChunkLimit": 4000,
"chunkMode": "newline",
"blockStreaming": false,
"sendReadReceipts": true
}
}
}メディアと添付ファイル
メッセージ ID の処理
アドレッシングとルーティング
セキュリティと Webhook 認証
Messages.app キープアライブ(ヘッドレス/VM)
BlueBubbles 設定リファレンス
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | false | BlueBubbles チャネルの有効化/無効化 |
| serverUrl | string | "" | BlueBubbles REST API ベース URL(例:http://localhost:1234) |
| password | string | "" | 認証用の BlueBubbles API パスワード |
| webhookPath | string | "/bluebubbles-webhook" | 受信メッセージ用の Webhook エンドポイントパス |
| dmPolicy | string | "pairing" | ボットに DM できるユーザーを制御。選択肢:pairing, allowlist, open, disabled |
| allowFrom | string[] | [] | メッセージ送信を許可する電話番号とメール(電話は E.164 形式) |
| groupPolicy | string | "allowlist" | グループチャットポリシー。選択肢:open, allowlist, disabled |
| groupAllowFrom | string[] | [] | グループチャットでボットをトリガーする権限を持つ送信者アドレス |
| sendReadReceipts | boolean | true | メッセージ処理時に既読通知を送信 |
| blockStreaming | boolean | false | 完全なレスポンスを待つ代わりにブロックベースのレスポンスストリーミングを有効化 |
| textChunkLimit | number | 4000 | 送信テキストメッセージチャンクあたりの最大文字数 |
| chunkMode | string | "length" | テキスト分割モード。選択肢:length(サイズベース), newline(段落ベース) |
| mediaMaxMb | number | 8 | 受信添付ファイルの最大ファイルサイズ(MB) |
| historyLimit | number | - | AI コンテキストとして含めるグループメッセージの最大数(0 で無効) |
| dmHistoryLimit | number | - | AI コンテキストの DM 会話履歴制限 |
| actions.reactions | boolean | true | tapback リアクションを有効化(Private API 必須) |
| actions.edit | boolean | true | メッセージ編集を有効化(macOS 13+ 必須;Tahoe では使用不可) |
| actions.unsend | boolean | true | メッセージ取り消しを有効化(macOS 13+ 必須) |
| actions.reply | boolean | true | GUID によるメッセージスレッディングを有効化 |
| actions.sendWithEffect | boolean | true | iMessage バブルエフェクト(スラム、ラウドなど)を有効化 |
| actions.sendAttachment | boolean | true | メディアとボイスメモの配信を有効化 |
BlueBubbles チャネルの有効化/無効化
BlueBubbles REST API ベース URL(例:http://localhost:1234)
認証用の BlueBubbles API パスワード
受信メッセージ用の Webhook エンドポイントパス
ボットに DM できるユーザーを制御。選択肢:pairing, allowlist, open, disabled
メッセージ送信を許可する電話番号とメール(電話は E.164 形式)
グループチャットポリシー。選択肢:open, allowlist, disabled
グループチャットでボットをトリガーする権限を持つ送信者アドレス
メッセージ処理時に既読通知を送信
完全なレスポンスを待つ代わりにブロックベースのレスポンスストリーミングを有効化
送信テキストメッセージチャンクあたりの最大文字数
テキスト分割モード。選択肢:length(サイズベース), newline(段落ベース)
受信添付ファイルの最大ファイルサイズ(MB)
AI コンテキストとして含めるグループメッセージの最大数(0 で無効)
AI コンテキストの DM 会話履歴制限
tapback リアクションを有効化(Private API 必須)
メッセージ編集を有効化(macOS 13+ 必須;Tahoe では使用不可)
メッセージ取り消しを有効化(macOS 13+ 必須)
GUID によるメッセージスレッディングを有効化
iMessage バブルエフェクト(スラム、ラウドなど)を有効化
メディアとボイスメモの配信を有効化
BlueBubbles よくある質問
BlueBubbles トラブルシューティング
BlueBubbles の Webhook URL が Gateway エンドポイントと一致しないか、パスワードパラメータが正しくない。
BlueBubbles Private API が有効化されていないか、サーバーバージョンが必要な API エンドポイントをサポートしていない。
Messages.app がヘッドレス/VM 環境でアイドル状態になり、スクリプティングインターフェースの処理を停止。
受信者の電話番号またはメールが iMessage に登録されていないか、Mac の Apple ID で iMessage が無効。
既知の問題 — macOS Tahoe (26) がメッセージ編集の Private API エンドポイントを破壊。