Собрания Microsoft Teams
Используйте конвейер собраний Teams, когда хотите, чтобы VibeOS обрабатывал события собраний Microsoft Graph, сначала извлекал расшифровки, при необходимости использовал записи с STT и доставлял структурированную сводку в нижестоящие приемники.
Предварительные требования: см. Microsoft Teams для настройки базового бота и учетных данных.
Запустите
vibeos gateway setupи выберите Teams Meetings для пошаговой настройки.
Эта страница посвящена настройке и включению:
- учетные данные Graph
- конфигурация слушателя вебхуков
- режимы доставки Teams
- форма конфигурации конвейера
Для операций второго дня, проверок перед запуском и рабочей таблицы оператора используйте специальное руководство: Эксплуатация конвейера собраний Teams.
Что делает эта функция
Конвейер:
- получает события вебхуков Microsoft Graph
- определяет собрание и сначала предпочитает артефакты расшифровки
- при отсутствии пригодной расшифровки использует загрузку записи с STT
- сохраняет состояние долговременных задач и записи приемников локально
- может записывать сводки в 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_idteam_id+channel_idteam_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"
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 |