Photon — macOS 向け iMessage ブリッジ
Photon — macOS 向け iMessage ブリッジ — 公式ドキュメントに基づく分かりやすいガイド
想像してみてください。iMessage でメッセージを返してくれるパーソナルアシスタントがいたら?しかも、その相手は人間じゃなくて、あなたのAIエージェント。Photon は、まさにそれを Hermes Agent で実現するためのツールです。Mac と iPhone の間に立って、複雑なサーバーを立てたりポートを開放したりしなくても、この2つがスムーズに会話できるようにしてくれる、まるで頼れる通訳者のような存在です。
Photon って、実際何なの?
Photon は、Hermes を iMessage に接続するためのマネージドサービスです。自前で Mac リレーを用意したり、Apple の厳しいメッセージ規制に対応したりする必要はもうありません。電話番号の割り当てやスパム対策といった面倒な部分は Photon が処理してくれるので、あなたはエージェントの開発に集中できるというわけです。
一番の魅力は?無料で始められることです。Photon の無料プランでは、複数のユーザーで共有する iMessage 番号プールが使われます。つまり、エージェントにメッセージを送る相手から見える送信者番号が変わることもありますが、会話自体は常に安定しています。ビジネス用に専用番号が必要な場合は有料プランもありますが、試してみるには無料プランで十分です。
仕組み(技術的な話はほどほどに)
Photon は、Discord や Slack のように常時接続を利用します。ウェブフックも、公開 URL も、シークレットの管理も必要ありません。代わりに、次のような流れで動作します。
- Hermes は、Photon と通信する小さな Node.js サイドカー(補助プログラム)を実行します。
- サイドカーは、受信した iMessage を待ち受け、あなたのエージェントに渡します。
- エージェントが返信すると、サイドカーがその応答を Photon 経由で送り返します。
これは、郵便受けに届いた手紙を受け取り、あなたに渡し、あなたの返事を投函してくれる、まるで郵便事務員のような存在です。すべて自動で行われます。
始める前に必要なもの
- Photon アカウント(app.photon.codes でサインアップ)
- Node.js 18.17 以降(
node --versionで確認できます) - iMessage を受信できる電話番号(アカウント連携用)
これだけです。公開 URL も、トンネルも、ルーターの設定も一切不要です。
初回セットアップ(所要時間は5分もかかりません)
最も簡単な方法は、ガイド付きウィザードを使うことです。
hermes gateway setup
表示されるリストから Photon iMessage を選択してください。
または、直接設定したい場合は、次のワンライナーを実行します(電話番号はご自身のものに置き換えてください)。
hermes photon setup --phone +15551234567
裏では、次のような処理が行われています。
- デバイスログインのためのブラウザページが開き、承認を求められます。
- Hermes が、あなたの Photon アカウント上でプロジェクトを検索または作成します。
- Spectrum(Photon のメッセージングレイヤー)を有効にし、プロジェクトのシークレットをローテーションします。
- あなたの電話番号が Spectrum ユーザーとして登録されます。
- 割り当てられた iMessage 回線が表示されます。これが、相手がエージェントに連絡するための番号です。
- サイドカーの依存関係が自動的にインストールされます。
Docker コンテナや読み取り専用のファイルシステムで実行している場合でも、心配はいりません。サイドカーは自動的に ~/.hermes/photon/sidecar 配下の書き込み可能なフォルダーにフォールバックします。PHOTON_SIDECAR_DIR 環境変数でカスタムの場所を設定することもできます。
認証情報は、Hermes がサポートする他のチャンネルと同様に、~/.hermes/.env に安全に保存されます。
まとめと実用的なヒント
Photon を使えば、iMessage 連携が本当に簡単になります。サーバー管理も、公開 IP も、Apple の面倒な問題もありません。数分で動作するブリッジを手に入れられ、無料プランでも開発を始めるには十分です。
実用的なヒント: 最初のテストメッセージを送信する前に、電話番号が正しく、実際に iMessage を受信できることを確認してください。登録した時と同じ番号を使用してください。そうしないと、エージェントが返信しない原因になりかねません。そして、もし行き詰まったら、セットアップコマンドをもう一度実行してみてください。繰り返し実行しても安全なように設計されています。
さあ、エージェントに電話番号を与えて、テキストでの会話を始めましょう!📱🤖
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › user-guide/messaging/photon