🤖HermesBlog
Платформы Обмена Сообщениями Hermes · Часть 308/9/2026

Microsoft Teams — Корпоративный Чат

Microsoft Teams — Корпоративный Чат — простое руководство на основе официальной документации

Представьте, что подключение Hermes Agent к Microsoft Teams — это как выдать вашему ИИ-ассистенту пропуск в офис: как только он в команде, он может участвовать в собраниях, отвечать на вопросы в каналах и помогать в личных сообщениях, не покидая приложение, которым ваши коллеги пользуются каждый день.

messaging-teams

Чем Teams отличается от Slack

Если вы раньше использовали Socket Mode в Slack, то Teams работает немного иначе. Вместо постоянного соединения Teams вызывает публичный вебхук вашего бота каждый раз, когда кто-то отправляет сообщение. Это означает, что вашему экземпляру Hermes нужен публичный HTTPS URL, а не localhost. Для тестирования можно использовать туннель; для продакшена — указать адрес вашего реального сервера.

Как ведёт себя бот

Вот простое правило:

Где вы с ним общаетесь Что происходит
Личный чат (DM) Бот отвечает на каждое сообщение — без необходимости упоминать @
Групповой чат Бот отвечает только когда вы его упоминаете через @
Канал Бот отвечает только когда вы его упоминаете через @

Teams отправляет упоминания как теги <at>ИмяБота</at>, но Hermes автоматически удаляет их перед обработкой — так что вам не нужно об этом беспокоиться.

Шаг 1: Установите Teams CLI

Сначала установите инструмент командной строки Microsoft, который автоматизирует регистрацию бота — портал Azure не понадобится:

npm install -g @microsoft/teams.cli@preview
teams login

Чтобы проверить вход и найти свой AAD object ID (он понадобится позже для ограничения доступа), выполните:

teams status --verbose

Шаг 2: Откройте порт вебхука

Teams не может доставлять сообщения на localhost. Для локальной разработки используйте туннель, чтобы получить публичный HTTPS URL. Порт по умолчанию — 3978 (при необходимости измените его через TEAMS_PORT).

Вот три простых варианта:

# 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://<ваш-туннель-url>/api/messages"

CLI выведет ваш CLIENT_ID, CLIENT_SECRET и TENANT_ID, а также ссылку для установки. Сохраните client secret сразу же — он больше не будет показан.

Шаг 4: Настройте переменные окружения

Добавьте их в файл ~/.hermes/.env:

# Обязательные
TEAMS_CLIENT_ID=<ваш-client-id>
TEAMS_CLIENT_SECRET=<ваш-client-secret>
TEAMS_TENANT_ID=<ваш-tenant-id>

# Ограничение доступа для конкретных пользователей (рекомендуется)
# Используйте AAD object ID из `teams status --verbose`
TEAMS_ALLOWED_USERS=<ваш-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, создайте бота и настройте переменные окружения. Как только всё запущено, ваш ИИ-ассистент становится полноценным членом команды — автоматически отвечает в личных сообщениях и подключается к групповым чатам по запросу.

Практический совет: Начните с TEAMS_ALLOWED_USERS, указав только свой собственный AAD object ID. Так вы сможете безопасно тестировать, не беспокоясь, что случайные коллеги активируют вашего бота, — а затем расширьте доступ, когда убедитесь, что всё работает.


📖 Официальная документация

Эта статья основана на официальной документации Hermes Agent :Официальные документы › user-guide/messaging/teams