собраний Microsoft Teams
Используйте конвейер Teams Meeting, когда хотите, чтобы Hermes обрабатывал события, собранные Microsoft Graph, получал расшифровки в первую очередь, при необходимости использовали записи плюс STT в качестве запасного соединения и доставляли структурированную сводку в нижестоящие приемники.
Эта страница посвящена настройке и включению: - График учетных данных - Конфигурация слушателя вебхуков - Режимы доставки Команды - Форма конфигурации конвейера
Для операций второго дня, проверки перед запуском и рабочими таблицами операторов воспользуйтесь специальным руководством: Управление конвейером Teams Meeting.
Что делает эту функцию
Конвейер: 1. Получает события вебхуков Microsoft Graph 2. Определите собрание и сначала отдайте предпочтение расшифровкам документов. 3. При отсутствии контроля расшифровка загружает запись и использует STT. 4. Обеспечивает устойчивое состояние заданий и учет приемников на местном уровне. 5. Можно записывать сводки в Notion, Linear и Microsoft Teams
Действия оператора выполняются в CLI (подкоманда teams-pipeline подключается плагином teams_pipeline — его через hermes Plugins Enable Teams_pipeline или установите plugins.enabled: [teams_pipeline] в config.yaml):
hermes teams-pipeline validate
hermes teams-pipeline list
hermes teams-pipeline maintain-subscriptions
Предварительные требования
Перед включением конвейера собрано убедитесь, что у вас есть:
- рабочая установка Гермес
- Существующая настройка бота Microsoft Teams, если вы планируете исход доставки в Teams.
- учетные данные приложения Microsoft Graph с разрешениями, описания для собранных ресурсов, на которые вы планируете подписаться.
- общедоступный URL-адрес HTTPS, который Microsoft Graph может переходить для доставки вебхуков.
- установленный
ffmpeg, если вы планируете запасной вариант записи плюс STT
Шаг 1. Добавление учетных данных Microsoft Graph
Добавьте учетные данные приложения Graph в ~/.hermes/.env:
MSGRAPH_TENANT_ID=<tenant-id>
MSGRAPH_CLIENT_ID=<client-id>
MSGRAPH_CLIENT_SECRET=<client-secret>
Эти учетные используемые данные: - График клиентов - командами обслуживания подписок - уметь собранные и доставленные документы - исходящую доставку в Teams на основе Graph, если вы не используете отдельные токены доступа Teams
Шаг 2: Включение слушателя вебхуков Graph
Слушатель вебхуков — это шлюзовая платформа с именем msgraph_webhook. Как минимум запишите ее и установите значение client_state:
MSGRAPH_WEBHOOK_ENABLED=true
MSGRAPH_WEBHOOK_PORT=8646
MSGRAPH_WEBHOOK_CLIENT_STATE=<random-shared-secret>
MSGRAPH_WEBHOOK_ACCEPTED_RESOURCES=communications/onlineMeetings
Слушатель обеспечивает:
- /msgraph/webhook для графа регистрации.
- /health для простой проверки работоспособности
Вам нужно отредактировать общедоступную конечную точку HTTPS на этом прослушивателе. Например, если ваш общедоступный домен — https://ops.example.com, график вашего URL-адреса обычно будет:
https://ops.example.com/msgraph/webhook
Шаг 3: Настройка команд доставки и поведения конвейера
Конвейер подготовил чтение своей конфигурации времени выполнения относительных записей платформы teams. Параметры, специфичные для конвейера, находятся в teams.extra.meeting_pipeline. Исходящая доставка Teams остается на обычной поверхности структуры платформы Teams.
Пример ~/.hermes/config.yaml:
platforms:
msgraph_webhook:
enabled: true
extra:
port: 8646
client_state: "replace-me"
accepted_resources:
- "communications/onlineMeetings"
teams:
enabled: true
extra:
client_id: "your-teams-client-id"
client_secret: "your-teams-client-secret"
tenant_id: "your-teams-tenant-id"
# исходящая доставка сводки
delivery_mode: "graph" # или incoming_webhook
team_id: "team-id"
channel_id: "channel-id"
# incoming_webhook_url: "https://..."
meeting_pipeline:
transcript_min_chars: 80
transcript_required: false
transcription_fallback: true
ffmpeg_extract_audio: true
notion:
enabled: false
linear:
enabled: false
Режимы доставки Команды
Конвейер двух устройств управления коммутатором Teams внутри существующего плагина Teams.
incoming_webhook
Используйте этот режим, когда просто отправляете сообщение через вебхук в Teams без создания сообщений на канале через Graph.
Требуемая модификация:
platforms:
teams:
enabled: true
extra:
delivery_mode: "incoming_webhook"
incoming_webhook_url: "https://..."
граф
Используйте этот режим, когда Гермес хочет опубликовать сводку через Microsoft Graph в чате или канале Teams.
Поддерживаемые цели:
- chat_id
- team_id + channel_id
— team_id + home_channel как запасной вариант для отдельных платформ Teams
Пример:
platforms:
teams:
enabled: true
extra:
delivery_mode: "graph"
team_id: "team-id"
channel_id: "channel-id"
Шаг 4: Запуск шлюза
Запустите Hermes обычным способом после обновления конфигурации:
hermes gateway run
Или, если вы запустите Hermes в Docker, запустите шлюз так же, как вы уже это сделали для его развертывания.
проверить слушателя:
curl http://localhost:8646/health
Шаг 5: Создание графа подписок
Используйте плагин CLI для создания и просмотра подписок.
Примеры:
hermes teams-pipeline subscribe \
--resource communications/onlineMeetings/getAllTranscripts \
--notification-url https://ops.example.com/msgraph/webhook \
--client-state "$MSGRAPH_WEBHOOK_CLIENT_STATE"
hermes teams-pipeline subscribe \
--resource communications/onlineMeetings/getAllRecordings \
--notification-url https://ops.example.com/msgraph/webhook \
--client-state "$MSGRAPH_WEBHOOK_CLIENT_STATE"
```<div class="admonition admonition-warning"><p class="admonition-title">⚠️ Warning</p> Подписки График истекает через 72 часа
Microsoft Graph ограничивает подписки вебхуков на 72 часа и не продлевает их автоматически. Вы ДОЛЖНЫ запланировать `hermes Teams-Pipeline Maintenance-Subscriptions` перед запуском, иначе уведомления перестанут переходить через три дня после любого ручного создания подписки. См. [Автоматизация продления подписок](/docs/guides/operate-teams-meeting-pipeline#automating-subscription-renewal-required-for-production) в руководстве оператора — три помощника (cron Hermes, systemd timer, обычный crontab).</div>
Для обслуживания подписок и операций второго дня продолжайте с руководством: [Управление конвейером Teams Meeting](/docs/guides/operate-teams-meeting-pipeline).
## Проверка
Запустите встроенные примеры проверок:
```bash
hermes teams-pipeline validate
Полезные сопутствующие проверки:
hermes teams-pipeline token-health
hermes teams-pipeline subscriptions
Устранение неполадок
| Проблема | Что проверить |
|---|---|
| Ошибка проверки вебхука График | Убедитесь, что общедоступный URL-адрес корректен и доступен, и что график обеспечивает путь /msgraph/webhook |
Задания не построены в списке конвейеров команд Hermes |
Убедитесь, что msgraph_webhook включен и что подписка указана на соответствующем URL-адресе |
| Приоритет расшифровки никогда не реализуется | проверить разрешение Graph для ресурсов расшифровки и существуют ли документы расшифровки для этого исследования |
| Запасной вариант записи не реализован | Убедитесь, что установлен ffmpeg, и приложение Graph может получить доступ к документации |
| Ошибка доставки сводки Команды | Перепроверьте delivery_mode, целевые идентификаторы и конфигурацию аутентификации Teams |