imessage について
iMessage Integration は、macOS で `imsg` CLI を使って iMessage と SMS を送受信するためのガイドです。メッセージアクセスを設定する人向けに、ツールのビルド、システム権限、履歴確認、送信、新着監視を説明します。
主な機能
- 01imsg のビルドと設定方法
- 02チャット一覧と履歴の確認
- 03テキストと添付ファイルの送信
- 04新着メッセージの監視
- 05必要な macOS 権限の説明
活用シーン
- 01履歴読み取り用のターミナル権限設定
- 02最近のチャットや会話履歴の確認
- 03添付ファイル付き iMessage または SMS の送信
- 04認証や SMS 転送の問題の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ letta-ai/ skills --skill imessageインストール後、Claude Code で/imessageを入力して読み込まれたか確認します。
詳細
iMessage 連携
macOS の imsg CLI ツールを使って、iMessage/SMS を送受信します。
セットアップ
1. imsg CLI をビルドする
ツールをクローンしてビルドします:
git clone https://github.com/letta-ai/imsg.git ~/repos/imsg
cd ~/repos/imsg
swift build -c release
バイナリは ~/repos/imsg/.build/release/imsg にあります(または、~/repos/imsg/bin/imsg にビルド済みバイナリがある場合は、そちらを使用してください)。
2. 権限を付与する
必要な macOS の権限(システム設定 → プライバシーとセキュリティ):
| 権限 | 場所 | 必要な用途 |
|---|---|---|
| フルディスクアクセス | プライバシーとセキュリティ → フルディスクアクセス | メッセージ履歴の読み取り |
| オートメーション | プライバシーとセキュリティ → オートメーション | メッセージアプリ経由のメッセージ送信 |
3. SMS リレーを有効にする(任意)
iMessage を利用していない相手に SMS(緑色の吹き出し)を送信するには:
- iPhone で「設定」→「メッセージ」→「テキストメッセージ転送」を開きます
- Mac への転送を有効にします
コマンド
最近のチャットを一覧表示する
imsg chats --limit 10
imsg chats --limit 10 --json
出力形式:[chat_id] (identifier) last=timestamp
チャット履歴を表示する
# View last 20 messages in a chat
imsg history --chat-id <id> --limit 20
# With attachments metadata
imsg history --chat-id <id> --limit 20 --attachments
# Filter by date
imsg history --chat-id <id> --start 2026-01-01T00:00:00Z --json
メッセージを送信する
# Send to phone number
imsg send --to "+15555555555" --text "Hello!"
# Send with attachment
imsg send --to "+15555555555" --text "Here's the file" --file /path/to/file.jpg
# Force iMessage or SMS
imsg send --to "+15555555555" --text "Hi" --service imessage
imsg send --to "+15555555555" --text "Hi" --service sms
# Send to existing chat by ID
imsg send --chat-id 86 --text "Hello!"
新着メッセージを監視する
imsg watch --chat-id <id> --debounce 250ms
ベストプラクティス
電話番号の形式
- E.164 形式を使用します。米国の番号の場合は
+1XXXXXXXXXXです - 国際電話の場合は国番号を含めます
SMS と iMessage
- iMessage(青色の吹き出し):Apple デバイスを使うユーザー向けの標準形式で、無料です
- SMS(緑色の吹き出し):iPhone のリレーが必要で、通信事業者の料金がかかる場合があります
- 相手が iMessage を利用していない場合は、
--service smsを使用します
エージェント向けメッセージのマナー
- 簡潔にする - メッセージを短く、わかりやすくします
- 自然に書く - ロボットのような文面ではなく、自然な表現にします
- 状況を明確にする - 追加の連絡をする場合は、以前の会話に触れます
- 送信時間に配慮する - 早朝や深夜のメッセージは避けます
一般的なユースケース
サービスの予約
imsg send --to "+14155551234" --text "Hi! Do you have availability this Saturday for a cleaning?"
追加の連絡
imsg send --to "+14155551234" --text "Just wanted to follow up on my earlier message. Let me know when you have a chance!"
予約の確認
imsg send --to "+14155551234" --text "Confirming our appointment for Saturday at 10am. See you then!"
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| 「not authorized」エラー | ターミナルにオートメーションの権限を付与します |
| メッセージを読み取れない | ターミナルにフルディスクアクセスの権限を付与します |
| SMS を送信できない | iPhone でテキストメッセージ転送を有効にします |
| メッセージの送信が停止する | メッセージアプリにサインインしていて、正常に動作していることを確認します |
技術情報
- 送信には AppleScript を使用します(非公開 API は使用しません)
- 読み取り操作は、Messages の SQLite データベースに対する読み取り専用操作です
- メッセージアプリが設定された macOS 14 以降が必要です
- バイナリの場所:
~/repos/imsg/bin/imsg(必要に応じてパスを調整してください)
コメント
Markdown 対応