OpenClaw iMessage (Legacy) チャンネル
macOS 上の imsg CLI ツールを使用して OpenClaw を Apple iMessage に接続します。このレガシー統合は JSON-RPC over stdio インターフェースを使用し、ネイティブの macOS メッセージデータベースを通じて iMessage の読み書きを行います。注意:このチャンネルは非推奨です。新規セットアップには、より堅牢な REST API ベースの統合を提供する BlueBubbles の使用を強く推奨します。
iMessage (Legacy) 対応機能
テキストメッセージ
対応
メディア・ファイル
対応
リアクション
非対応
スレッド
非対応
音声メッセージ
非対応
グループチャット
非対応
iMessage (Legacy) 前提条件
- macOS を実行し、メッセージ app で Apple ID にサインインした Mac
- OpenClaw と imsg バイナリの両方に「フルディスクアクセス」権限を付与
- メッセージ送信のためのオートメーション権限(macOS TCC プロンプトで付与)
- Homebrew で imsg CLI をインストール:brew install steipete/tap/imsg
- OpenClaw Gateway がインストール・稼働中であること
iMessage (Legacy) クイックセットアップ
imsg CLI をインストール
'brew install steipete/tap/imsg' を実行して iMessage CLI ツールをインストールします。インストール後、GUI ターミナルで一度 'imsg' を実行し、macOS の権限プロンプト(フルディスクアクセスとオートメーション)をトリガーします。
macOS 権限を付与
システム設定 > プライバシーとセキュリティを開きます。imsg バイナリと OpenClaw プロセスの両方にフルディスクアクセスを付与します。メッセージ app のオートメーション権限は、imsg が初めてメッセージを送信しようとした時に自動的にプロンプトが表示されます。
設定して起動
~/.openclaw/openclaw.json に iMessage チャンネル設定を追加し、cliPath と dbPath を設定します。'openclaw start' で Gateway を起動し、テスト iMessage を送信して接続を確認します。
iMessage (Legacy) 設定例
{
"channels": {
"imessage": {
"enabled": true,
"cliPath": "/opt/homebrew/bin/imsg",
"dbPath": "/Users/<username>/Library/Messages/chat.db"
}
}
}iMessage (Legacy) 詳細ドキュメント
非推奨のお知らせ
アーキテクチャ概要
DM ポリシー
{
"channels": {
"imessage": {
"dmPolicy": "pairing",
"allowFrom": ["+1234567890", "user@icloud.com"]
}
}
}グループチャット設定
{
"channels": {
"imessage": {
"groupPolicy": "allowlist",
"mentionPattern": "@bot"
}
}
}SSH 経由のリモート Mac セットアップ
{
"channels": {
"imessage": {
"remoteHost": "mac-server.local",
"cliPath": "/usr/local/bin/imsg"
}
}
}macOS 権限(TCC)
iMessage (Legacy) 設定リファレンス
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | iMessage チャンネルを有効または無効にする |
| cliPath | string | "/usr/local/bin/imsg" | imsg CLI バイナリのパス。Homebrew は Apple Silicon Mac では /opt/homebrew/bin/imsg に、Intel Mac では /usr/local/bin/imsg にインストールします |
| dbPath | string | "~/Library/Messages/chat.db" | macOS メッセージ SQLite データベースのパス |
| dmPolicy | string | "pairing" | DM アクセスポリシー:'pairing'、'allowlist'、'open'、または 'disabled' |
| groupPolicy | string | "disabled" | グループチャットポリシー:'open'、'allowlist'、または 'disabled' |
| allowFrom | string[] | [] | ボットに連絡できる電話番号または Apple ID |
| includeAttachments | boolean | false | 受信メッセージのメディア添付ファイルを処理するかどうか |
| mediaMaxMb | number | 10 | メディア添付ファイルの最大ファイルサイズ(MB) |
| textChunkLimit | number | 4000 | 送信メッセージあたりの最大文字数 |
| chunkMode | string | "length" | テキスト分割モード:'length'(文字数制限)または 'newline'(段落境界) |
| historyLimit | number | 20 | 会話コンテキストとして含める最大メッセージ履歴数 |
| configWrites | boolean | true | iMessage 経由での /config set|unset コマンドを許可 |
| remoteHost | string | "" | リモート Mac 上で imsg を実行するための SSH ホスト名 |
iMessage チャンネルを有効または無効にする
imsg CLI バイナリのパス。Homebrew は Apple Silicon Mac では /opt/homebrew/bin/imsg に、Intel Mac では /usr/local/bin/imsg にインストールします
macOS メッセージ SQLite データベースのパス
DM アクセスポリシー:'pairing'、'allowlist'、'open'、または 'disabled'
グループチャットポリシー:'open'、'allowlist'、または 'disabled'
ボットに連絡できる電話番号または Apple ID
受信メッセージのメディア添付ファイルを処理するかどうか
メディア添付ファイルの最大ファイルサイズ(MB)
送信メッセージあたりの最大文字数
テキスト分割モード:'length'(文字数制限)または 'newline'(段落境界)
会話コンテキストとして含める最大メッセージ履歴数
iMessage 経由での /config set|unset コマンドを許可
リモート Mac 上で imsg を実行するための SSH ホスト名
iMessage (Legacy) よくある質問
iMessage (Legacy) トラブルシューティング
imsg バイナリまたは OpenClaw プロセスに macOS 権限(フルディスクアクセスまたはオートメーション)が不足している。
プロセスがヘッドレス環境(SSH、launchd)で実行されており、macOS が TCC プロンプトを表示できない。
dbPath 設定が正しくないか、フルディスクアクセスが付与されていない。
SSH キー認証が設定されていないか、リモートホストに到達できない。