Перейти к основному содержимому

Собрания Microsoft Teams

Используйте конвейер собраний Teams, когда хотите, чтобы VibeOS обрабатывал события собраний Microsoft Graph, сначала извлекал расшифровки, при необходимости использовал записи с STT и доставлял структурированную сводку в нижестоящие приемники.

Предварительные требования: см. Microsoft Teams для настройки базового бота и учетных данных.

Запустите vibeos gateway setup и выберите Teams Meetings для пошаговой настройки.

Эта страница посвящена настройке и включению:

  • учетные данные Graph
  • конфигурация слушателя вебхуков
  • режимы доставки Teams
  • форма конфигурации конвейера

Для операций второго дня, проверок перед запуском и рабочей таблицы оператора используйте специальное руководство: Эксплуатация конвейера собраний Teams.

Что делает эта функция​

Конвейер:

  1. получает события вебхуков Microsoft Graph
  2. определяет собрание и сначала предпочитает артефакты расшифровки
  3. при отсутствии пригодной расшифровки использует загрузку записи с STT
  4. сохраняет состояние долговременных задач и записи приемников локально
  5. может записывать сводки в Notion, Linear и Microsoft Teams

Действия оператора остаются в CLI (подкоманда teams-pipeline регистрируется плагином teams_pipeline — включите его через vibeos plugins enable teams_pipeline или установите plugins.enabled: [teams_pipeline] в config.yaml):

vibeos teams-pipeline validate
vibeos teams-pipeline list
vibeos teams-pipeline maintain-subscriptions

Предварительные требования​

Перед включением конвейера собраний убедитесь, что у вас есть:

  • работающая установка VibeOS
  • существующая настройка бота Microsoft Teams, если требуется исходящая доставка в Teams
  • учетные данные приложения Microsoft Graph с разрешениями, необходимыми для ресурсов собраний, на которые вы планируете подписаться
  • публичный HTTPS-URL, который Microsoft Graph может вызывать для доставки вебхуков
  • установленный ffmpeg, если требуется резервный вариант с записью и STT

Шаг 1: Добавление учетных данных Microsoft Graph​

Добавьте учетные данные приложения Graph в ~/.vibeos/.env:

MSGRAPH_TENANT_ID=<tenant-id>
MSGRAPH_CLIENT_ID=<client-id>
MSGRAPH_CLIENT_SECRET=<client-secret>

Эти учетные данные используются:

  • основой клиента Graph
  • командами обслуживания подписок
  • определением собраний и получением артефактов
  • исходящей доставкой в Teams через Graph, если не указан отдельный токен доступа Teams

Шаг 2: Включение слушателя вебхуков Graph​

Слушатель вебхуков — это платформа шлюза с именем msgraph_webhook. Как минимум, включите его и установите значение состояния клиента:

MSGRAPH_WEBHOOK_ENABLED=true
MSGRAPH_WEBHOOK_HOST=127.0.0.1
MSGRAPH_WEBHOOK_PORT=8646
MSGRAPH_WEBHOOK_CLIENT_STATE=<random-shared-secret>
MSGRAPH_WEBHOOK_ACCEPTED_RESOURCES=communications/onlineMeetings

Слушатель предоставляет:

  • /msgraph/webhook для уведомлений Graph
  • /health для простой проверки работоспособности

Вам необходимо направить ваш публичный HTTPS-адрес на этот слушатель. Например, если ваш публичный домен — https://ops.example.com, URL уведомлений Graph обычно будет:

https://ops.example.com/msgraph/webhook

Шаг 3: Настройка доставки Teams и поведения конвейера​

Конвейер собраний читает свою конфигурацию времени выполнения из существующей записи платформы teams. Специфические параметры конвейера находятся в teams.extra.meeting_pipeline. Исходящая доставка Teams остается на обычной поверхности конфигурации платформы Teams.

Пример ~/.vibeos/config.yaml:

platforms:
msgraph_webhook:
enabled: true
extra:
host: 127.0.0.1
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

Если вы привязываете слушатель к адресу, отличному от loopback, например 0.0.0.0, вы также должны установить allowed_source_cidrs на диапазоны исходящего трафика вебхуков Microsoft. Привязки к loopback (127.0.0.1 / ::1) предназначены для настройки с dev-туннелем и локальным обратным прокси.

Режимы доставки Teams​

Конвейер поддерживает два режима доставки сводок Teams внутри существующего плагина Teams.

incoming_webhook​

Используйте этот режим, когда хотите простую отправку вебхука в Teams без создания сообщений в канале через Graph.

Требуемая конфигурация:

platforms:
teams:
enabled: true
extra:
delivery_mode: "incoming_webhook"
incoming_webhook_url: "https://..."

graph​

Используйте этот режим, когда хотите, чтобы VibeOS отправлял сводку через 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: Запуск шлюза​

Запустите VibeOS обычным образом после обновления конфигурации:

vibeos gateway run

Или, если вы запускаете VibeOS в Docker, запустите шлюз так же, как вы уже делаете для вашего развертывания.

Проверьте слушатель:

curl http://localhost:8646/health

Шаг 5: Создание подписок Graph​

Используйте CLI плагина для создания и проверки подписок.

Примеры:

vibeos teams-pipeline subscribe \
--resource communications/onlineMeetings/getAllTranscripts \
--notification-url https://ops.example.com/msgraph/webhook \
--client-state "$MSGRAPH_WEBHOOK_CLIENT_STATE"

vibeos teams-pipeline subscribe \
--resource communications/onlineMeetings/getAllRecordings \
--notification-url https://ops.example.com/msgraph/webhook \
--client-state "$MSGRAPH_WEBHOOK_CLIENT_STATE"
Подписки Graph истекают через 72 часа

Microsoft Graph ограничивает подписки на вебхуки 72 часами и не продлевает их автоматически. Вы ОБЯЗАНЫ запланировать выполнение vibeos teams-pipeline maintain-subscriptions перед запуском, иначе уведомления перестанут поступать через три дня после любого ручного создания подписки. См. Автоматизация продления подписок в руководстве оператора — три варианта (cron VibeOS, systemd timer, обычный crontab).

Для обслуживания подписок и операционных потоков второго дня продолжайте с руководством: Эксплуатация конвейера собраний Teams.

Проверка​

Запустите встроенный снимок проверки:

vibeos teams-pipeline validate

Полезные дополнительные проверки:

vibeos teams-pipeline token-health
vibeos teams-pipeline subscriptions

Устранение неполадок​

ПроблемаЧто проверить
Ошибка проверки вебхука GraphУбедитесь, что публичный URL корректен и доступен, и что Graph вызывает точный путь /msgraph/webhook
Задачи не отображаются в vibeos teams-pipeline listУбедитесь, что msgraph_webhook включен и подписки указывают на правильный URL уведомлений
Приоритет расшифровки никогда не срабатываетПроверьте разрешения Graph для ресурсов расшифровки и наличие артефакта расшифровки для этого собрания
Ошибка резервного варианта с записьюУбедитесь, что ffmpeg установлен и приложение Graph может получить доступ к артефактам записи
Ошибка доставки сводки TeamsПерепроверьте delivery_mode, идентификаторы целей и конфигурацию аутентификации Teams

Связанные документы​