スクリプト出力をチャットにパイプする
スクリプト出力をチャットにパイプする — 公式ドキュメントに基づくわかりやすいガイド
あの、長いビルドや大きなファイルのアップロードを始めたとき、やかんのお湯がいつ沸くのかとじっとターミナルを見つめてしまう感覚、分かりますよね?hermes send は、そのやかんに小さなベルを取り付けるようなものです。どこにいても、完了した瞬間に教えてくれます。
hermes send って一体何?
これは、あなたが既に使っているチャットアプリ(Telegram、Slack、Discord、Signalなど、なんでも)にメッセージを送信する、小さなコマンドラインツールです。スクリプト用の万能「ピンポン」ボタンだと思ってください。一番良い点は?アプリごとに別々のボットやトークンを設定する必要がないことです。Hermesがあなたのチャットプラットフォームとの通信方法を既に知っていれば、hermes send はその同じ接続を自動的に使用します。
最も簡単な使い方
ターミナルを開いて、次のように入力します:
hermes send --to telegram "deploy finished"
これだけです。あなたのTelegramに「deploy finished」というメッセージが届きます。追加の設定も、新しいアカウントも不要です。
パイプ:本当のスーパーパワー
ここからが面白いところです。任意のコマンドの出力を取得して、そのままチャットに送信できます。まるでターミナルからスマホへホースをつなぐようなものです。
echo "RAM 92%" | hermes send --to telegram
または、ディスク容量を確認して結果を送信:
df -h | hermes send --to slack:#sysadmin
この | 記号は「パイプ」と呼ばれます。最初のコマンドが出力したものを何でも受け取り、hermes send に渡します。スクリプトの出力がそのままメッセージになります。
ファイルの送信と件名の追加
レポート全体やログファイルを共有する必要がありますか?問題ありません:
hermes send --to discord:#ops --file /tmp/report.md
人々が何を見ているのか分かるように、簡単な件名を追加したいですか?
hermes send --to slack:#eng --subject "[CI] build.log" --file build.log
どこに送信できますか?(ターゲット形式)
選択肢はいくつかあります。一般的なパターンは次のとおりです:
--to telegram→ デフォルトのチャットに送信--to telegram:-1001234567890→ 特定のグループまたはチャンネルに送信--to discord:#ops→ 分かりやすいチャンネル名を使用--to signal:+15551234567→ 電話番号に送信
サポートされているプラットフォームには、Telegram、Discord、Slack、Signal、SMS、WhatsApp、Matrixなどがあります。
終了コード:スクリプトの成績表
hermes send が完了すると、番号が返されます:
0→ 成功!メッセージが送信されました。1→ プラットフォームが拒否しました(権限の問題、ネットワークの問題)。2→ 入力に誤りがあります(引数が不正)。
これらは、curl や grep を使うのと同じように、スクリプト内で使用できます:
hermes send --to telegram "backup done" || echo "Notification failed!"
メッセージを忘れたらどうなる?
心配しないでください。永遠にハングアップすることはありません。メッセージ、ファイル、パイプなしで hermes send --to telegram を実行すると、明確なエラーが表示されて終了します。ターミナルがフリーズすることはありません。
実践的なまとめ
小さく始めましょう。定期的に実行するスクリプト(毎週のバックアップやcronジョブなど)を1つ選び、最後に1行追加します:
hermes send --to telegram "Backup completed at $(date)"
そうすれば、次に席を外しているとき、スマホに小さな通知が届きます。これは小さな追加ですが、大きな見返りがあります:ターミナルを監視するのをやめて、必要なときに知らせてくれると信頼できるようになります。それがすべてのポイントです。スクリプトに語らせ、チャットアプリに聞かせましょう。
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › guides/pipe-script-output