Microsoft Teams — エンタープライズチャット
Microsoft Teams — エンタープライズチャット — 公式ドキュメントに基づくわかりやすいガイド
Microsoft Teams — エンタープライズ向けチャット
Hermes Agent を Microsoft Teams に接続するのは、AI アシスタントに社員証を持たせるようなものだと考えてください。一度チームに加われば、会議への参加、チャネルでの質問への回答、DM でのヘルプまで、同僚が毎日使っているアプリから離れることなくすべてこなせます。
Teams が Slack と違う点
Slack の Socket Mode を使ったことがあるなら、Teams は少し勝手が違います。常時接続を維持する代わりに、Teams はメッセージが送信されるたびにボットの公開 Webhook を呼び出します。つまり、Hermes インスタンスには localhost ではなく公開 HTTPS URL が必要です。テストにはトンネルを使い、本番環境では実際のサーバーのドメインを指定することになります。
ボットの動作
シンプルな目安は次のとおりです。
| 話しかける場所 | 動作 |
|---|---|
| 個人チャット(DM) | ボットはすべてのメッセージに返信します — @メンションは不要 |
| グループチャット | @メンションしたときだけ返信します |
| チャネル | @メンションしたときだけ返信します |
Teams は @メンションを <at>BotName</at> タグとして送信しますが、Hermes は処理前に自動的にそれらを取り除くため、心配する必要はありません。
ステップ 1: Teams CLI をインストールする
まず、ボット登録を自動化する Microsoft のコマンドラインツールをインストールします。Azure ポータルは不要です。
npm install -g @microsoft/teams.cli@preview
teams login
ログインを確認し、AAD オブジェクト ID(後でアクセスを制限するために必要になります)を見つけるには、次を実行します。
teams status --verbose
ステップ 2: Webhook ポートを公開する
Teams は localhost にメッセージを配信できません。ローカル開発では、トンネルを使用して公開 HTTPS URL を取得します。デフォルトのポートは 3978 です(必要に応じて TEAMS_PORT で変更できます)。
簡単なオプションを 3 つ紹介します。
# devtunnel (Microsoft)
devtunnel create hermes-bot --allow-anonymous
devtunnel port create hermes-bot -p 3978 --protocol https
devtunnel host hermes-bot
# ngrok
ngrok http 3978
# cloudflared
cloudflared tunnel --url http://localhost:3978
出力から https:// URL をコピーします。次のステップで必要になります。開発中はトンネルを起動したままにしてください。
ステップ 3: ボットを作成する
次に、Teams にボットを登録します。
teams app create \
--name "Hermes" \
--endpoint "https://<your-tunnel-url>/api/messages"
CLI は CLIENT_ID、CLIENT_SECRET、TENANT_ID に加えて、インストールリンクを出力します。クライアントシークレットはすぐに保存してください — 再表示されません。
ステップ 4: 環境変数を設定する
これらを ~/.hermes/.env ファイルに追加します。
# 必須
TEAMS_CLIENT_ID=<your-client-id>
TEAMS_CLIENT_SECRET=<your-client-secret>
TEAMS_TENANT_ID=<your-tenant-id>
# 特定のユーザーにアクセスを制限する(推奨)
# `teams status --verbose` の AAD オブジェクト ID を使用
TEAMS_ALLOWED_USERS=<your-aad-object-id>
ステップ 5: ゲートウェイを起動する
Docker を使用している場合は、docker-compose.yml を含むディレクトリ(通常はクローンした hermes-agent リポジトリ。~ ではありません)から実行します。
cd /path/to/hermes-agent
HERMES_UID=$(id -u) HERMES_GID=$(id -g) docker compose up
ソースからインストールした場合は、最初に Teams 用の追加パッケージを必ず含めてください。
uv sync --extra teams
# または、編集可能なインストールの場合:
uv pip install -e ".[teams]"
まとめ
Hermes を Teams に接続するのは、CLI のインストール、公開 URL の公開、ボットの作成、環境変数の設定という 4 つのステップで完了します。起動すれば、AI アシスタントはチームの一員となり、DM には自動で返信し、グループチャットでは呼び出されると参加します。
実用的なヒント: 最初は TEAMS_ALLOWED_USERS を自分の AAD オブジェクト ID だけに設定しましょう。そうすれば、他の同僚が誤ってボットを起動してしまう心配なく安全にテストでき、すべてが正常に動作することを確認できてからアクセスを拡大できます。
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › user-guide/messaging/teams