AI / Automation

2026-05-28 レンタル Mac mini M4Hermes Agent Telegram ゲートウェイ(東京 · HK / JP / KR / SG / US

SSH で iOS アプリをビルドしている同一の Mac mini M4 上で、Hermes AgentTelegram ボットとして運用できます。ゲートウェイ(hermes gateway)が BotFather トークンを保持し、数値ユーザー ID 許可リストを適用してチャットを Hermes のツールループへ転送します。ノート PC を常時起動しなくても、モバイルから CI 修正の承認やアーキテクチャの質問ができます。

開示:MacXCode は HK/JP/KR/SG/US(東京ノード含む)で Apple Silicon クラウド Mac を提供しています。Hermes Agent は第三者の MIT プロジェクトです。Telegram とモデル API は各提供者の規約に従います。本稿は運用ドキュメントであり、いかなるベンダー契約の推奨でもありません。

Modal/Daytona の serverless ターミナルと near-idle 構成は Hermes Serverless Modal/Daytona 冬眠ガイド を参照。

レンタル Mac mini M4 クラウド Mac 上の Hermes Agent Telegram ゲートウェイ設定

ビルダー Mac で Telegram を使う理由

Telegram はヘッドレスリース向きです。ゲートウェイはデフォルトでアウトバウンド long pollingを使い、Mac から Telegram API へ HTTPS を開始するため、共有ビルダーでインバウンドポートを公開する必要はありません(公開 HTTPS が必要な webhook モードとは対照的です)。

リースホストで Hermes を Telegram に接続する主な理由:

  • オンコール対応—GitHub Actions や xcodebuild が夜間に失敗したとき、モバイルから返信し、agent が NVMe 上のログを読み取れます。
  • 関心の分離OpenClaw でリポジトリ自動化、Hermes で個人/運用チャット。ただし2 つのゲートウェイプロセス(RAM とトークン分離)を受け入れる場合に限り並行してください。
  • OpenClaw メッセージングからの移行—上流 README に hermes claw migrate があります。16 GB ホストで 2 ゲートウェイを同時運用する前に、Hermes vs OpenClaw vs OpenHuman の選定マトリクスをご確認ください。

Apple Mac mini 仕様16–24 GB のユニファイドメモリです。Xcode 並列テストを重ねる前に、hermes gateway とモデル作業セットに約 1–2 GB を確保してください。東京ノードを含む HK/JP/KR/SG/US の出口は Telegram ポーリングを安定して支えられます。bot トークンを git にコミットしないでください。

Telegram ゲートウェイの構成

Hermes は CLI チャットhermes TUI)とメッセージングhermes gateway)を分離します。Telegram 設定は ~/.hermes/.env(またはウィザード出力)に書き込まれ、ログは ~/.hermes/logs/gateway.log、macOS では任意で launchd サービスです。

コンポーネントパス / コマンド役割
インストールcurl -fsSL …/install.sh | bashPython 3.11 + hermes CLI
モデル / 認証hermes setupプロバイダ API キー(BYO または Nous Portal)
Telegram 設定hermes gateway setupBot トークン + + TELEGRAM_ALLOWED_USERS
フォアグラウンドテストhermes gatewaylong polling bot、Ctrl+C まで
サービスhermes gateway installhermes gateway startmacOS launchd, ログアウト後も稼働
ヘルスチェックhermes doctor, hermes gateway status設定とプロセス確認

データフロー(ポーリングモード):

  1. Telegram で bot にメッセージを送ります。
  2. ゲートウェイが Telegram Bot API(アウトバウンド poll)で更新を受信します。
  3. Hermes agent が設定済みターミナル backend(ローカル、Docker、または同一ホストへの SSH)でツールを実行します。
  4. 返信テキスト(および任意の MEDIA:/path 添付)がゲートウェイ経由で Telegram に戻ります。

重要なセキュリティデフォルト: 上流は TELEGRAM_ALLOWED_USERS で @ユーザー名ではなく数値ユーザー IDを使います。bot トークンを持つ者は bot をなりすませられます—API キーと同様に扱い、漏洩時は BotFather /revoke でローテーションしてください。

公式:Hermes Telegram ドキュメント(BotFather、プライバシーモード、webhook)。

BotFather とアクセス制御

bot の作成

  1. @BotFather を開く → /newbot
  2. 表示名(例:Builder Hermes)と bot で終わるユーザー名を設定します。
  3. 123456789:ABCdefGHIjklMNOpqrs… 形式のトークンをコピー—パスワードマネージャに保存し、git には入れません。

ユーザー ID を許可リストに追加

@userinfobot にメッセージして数値 ID(例:123456789)を取得します。TELEGRAM_ALLOWED_USERS 設定時、Hermes は見知らぬユーザーを拒否します。

共有リースホストでの任意の強化:

  • 単一ユーザー許可リストのみ—ツールスコープを理解するまでワイルドカード「チーム」ID は使わないでください。
  • 環境別 bot(ステージング vs 本番リース)—ステージングトークン漏洩が本番 workspace に届かないようにします。
  • DM 動作を検証するまでグループアクセスを無効にします。

Telegram 用 Hermes 設定

対話式(推奨)

hermes setup # 新規インストール時は先にモデルプロバイダを設定 hermes gateway setup # Telegram を選択 → トークン貼り付け → 許可ユーザー ID

手動編集 ~/.hermes/.env

TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ TELEGRAM_ALLOWED_USERS=123456789 # 任意のチーム: TELEGRAM_ALLOWED_USERS=111111111,222222222

ファイル権限が 600 であること、信頼しない dotfile 同期先へ含めないことを確認してください。

フォアグラウンドスモークテスト:

hermes gateway

Telegram で hello を送ると数秒以内に返信があるはずです。launchd 導入前に Ctrl+C で停止します。

Mac mini M4 ヘッドレス展開 8 ステップ

  1. Hermes をインストール — リースユーザーアカウント(root 以外)で公式 install.sh を実行します。
  2. hermes setup を実行 — モデルプロバイダを設定し、hermes doctor がクリーンであることを確認します。
  3. BotFather トークンを作成 — 数値ユーザー ID も取得(上記セクション)。
  4. hermes gateway setup を実行 — Telegram を選択し、~/.hermes/.env にトークンと許可リストがあることを確認します。
  5. フォアグラウンドテストhermes gateway で bot にメッセージし、無害なツール(例:agent で pwd)を起動;Ctrl+C で停止。
  6. サービスをインストールhermes gateway install の後 hermes gateway start(macOS launchd)。
  7. デーモン用に環境を永続化~/.hermes/.env の API キーが launchd から読めること(インストールと同一ユーザー)を確認;バックグラウンドのみ失敗する場合は OpenClaw launchd PATH の注意 を参照してください。
  8. 監視hermes gateway statustail -f ~/.hermes/logs/gateway.log、設定変更後は Telegram /new で異常セッションをリセット。

引用可能な運用ルール:1 つのゲートウェイプロセスが複数プラットフォーム(Telegram、Discord、Slack 等)に対応できます—チャットアプリごとに別デーモンは不要です。

launchd と SSH のみのリース

macOS リースでは hermes gateway install がユーザーレベルの launchd ジョブを登録します—本ブログの OpenClaw openclaw onboard --install-daemon パターンに類似します。

hermes gateway install hermes gateway start hermes gateway status tail -f ~/.hermes/logs/gateway.log

SSH 切断後も、install を実行した同一 Unix ユーザーでゲートウェイが稼働しているはずです。停止した場合は次を確認してください:

  • launchctl list | grep -i hermes
  • ログの TELEGRAM_BOT_TOKEN / 認証エラー
  • リースポリシーがログアウト時に長時間ユーザーエージェントを終了するか(専用 M4 では稀、共有 shell ではありがち)

Docker backend の注意: terminal.backend: docker の場合、MEDIA:/path で送るファイルはゲートウェイが読めるホストパスに存在する必要があります(コンテナ内のみでは不可)。上流 telegram.md に従いホストから見えるボリュームをマウントしてください。

グループチャット(任意)

Telegram プライバシーモードはデフォルトON—グループ内では通常 /commands、bot への返信、管理者可視のトラフィックのみ見えます。コンテキストを広げるには BotFather でプライバシーを無効(Bot Settings → Group Privacy → Turn off)し、各グループで bot を削除して再追加するか、グループ管理者に昇格させてください。

「観察するが @ なしでは返信しない」動作には上流の TELEGRAM_OBSERVE_UNMENTIONED_GROUP_MESSAGES と許可 chat ID があります—telegram.md のグループ章を先にお読みください。

トラブルシューティング

症状:bot が返信しない(ポーリング無音)

確認項目コマンド / 対処
ゲートウェイは稼働中?hermes gateway status; hermes gateway start で再起動
トークンは有効?BotFather から再貼り付け;漏洩時は /revoke
ユーザーが許可リスト外?数値 ID を TELEGRAM_ALLOWED_USERS に追加してゲートウェイ再起動
モデル/認証失敗?hermes doctor; 先に hermes CLI をローカルでテスト
ログgrep -i error ~/.hermes/logs/gateway.log | tail -20

症状:401 Unauthorized または Conflict: terminated by other getUpdates

  • 401: 誤ったまたは失効した TELEGRAM_BOT_TOKEN
  • Conflict: 同一 bot を 2 プロセスがポーリング—重複のフォアグラウンド hermes gateway または同一トークンの第 2 ホストを停止。

hermes gateway stop pkill -f "hermes gateway" 2>/dev/null || true hermes gateway start

症状:フォアグラウンドは動作、launchd では失敗

  • launchd は最小環境—~/.hermes/.env が読めてプロバイダキーがあることを確認。
  • SSH と launchctl print gui/$(id -u)PATH を比較(macOS);プラグインが shell を呼ぶ場合は Node 等のパスを揃える。

症状:グループで /commands のみ見える

  • BotFather プライバシーモードがまだ ON—無効化するか bot を管理者に;グループへ bot を再追加。

よくある質問

Hermes Telegram は OpenClaw の Telegram 連携を置き換えますか?+
別々のゲートウェイです。hermes claw migrate で設定を移行できますが、同一ホストで両方の bot を動かすと RAM が重複し自動化が競合する可能性があります。リースホストごとにメッセージング所有者は 1 つにしてください。
Telegram に公開 URL は必要ですか?+
デフォルトの long polling では不要です。Webhook モードは HTTPS 入口(Fly.io、Railway 等)が必要—SSH のみの Mac mini リースでは通常不要です。
16 GB M4 で Xcode CI と Telegram を同時に?+
可能ですが重いジョブは直列化してください。archive とゲートウェイのピークで memory_pressure を計測し、大規模 xcodebuild 中はゲートウェイを一時停止することも検討してください。
Bot トークンだけでシステムは守れますか?+
いいえ。トークンは bot 身份を制御します。ツール実行は Hermes のツール権限とターミナル backend スコープに従います—workspace をロックし、マルチテナントでは root でゲートウェイを動かさないでください。
公式 Telegram ドキュメントは?+

Hermes Telegram ゲートウェイ向けヘッドレス M4

東京ノードを含む HK/JP/KR/SG/US の SSH 優先 Apple Silicon—Telegram ポーリングと launchd で 24/7 運用可能。