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

Конвейер собраний Teams

Управляйте конвейером сводок собраний Teams через VibeOS CLI — создавайте сводки, проверяйте статус конвейера, повторно запускайте задания, управляйте подписками Microsoft Graph.

Метаданные навыка​

ИсточникВстроенный (установлен по умолчанию)
Путьskills/productivity/teams-meeting-pipeline
Версия1.1.0
АвторVibeOS + Teknium
ЛицензияMIT
ТегиTeams, Microsoft Graph, Встречи, Продуктивность, Операции

Справочник: полный SKILL.md​

к сведению

Ниже приведено полное определение навыка, которое VibeOS загружает при его активации. Это то, что агент видит в качестве инструкций, когда навык активен.

Конвейер собраний Teams

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

Всё, что касается оператора, выполняется через подкоманду vibeos teams-pipeline с помощью инструмента терминала. Для этого конвейера нет новых инструментов модели — CLI является интерфейсом.

Когда использовать этот навык​

Пользователь просит:

  • создать сводку собрания Teams / извлечь пункты действий / получить заметки со встречи
  • проверить статус конвейера, просмотреть сохранённое задание собрания или увидеть недавние встречи
  • повторно запустить / перевыполнить сохранённое задание, которое завершилось ошибкой или требует новой сводки
  • проверить настройки Microsoft Graph после изменения окружения или конфигурации
  • устранить проблему «сводка собрания так и не пришла» или «новые собрания не обрабатываются»
  • управлять подписками на вебхуки Graph (создать, продлить, удалить, проверить)
  • настроить автоматическое продление подписки (см. критическую ловушку ниже)

Примеры многоязычных триггеров (не исчерпывающие):

  • Английский: «summarize the Teams meeting», «pipeline status», «replay job X»
  • Турецкий: «Teams meeting özetle», «action item çıkar», «toplantı notu», «pipeline durumu», «replay job»

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

Перед использованием конвейера убедитесь, что в ${VIBEOS_HOME:-~/.vibeos}/.env установлены следующие переменные:

MSGRAPH_TENANT_ID=...
MSGRAPH_CLIENT_ID=...
MSGRAPH_CLIENT_SECRET=...

Если какие-либо из них отсутствуют, направьте пользователя к руководству по регистрации приложения Azure по адресу /docs/guides/microsoft-graph-app-registration — им потребуется регистрация приложения Azure AD с разрешениями приложения Graph, одобренными администратором, прежде чем конвейер заработает.

Справочник команд​

Статус и проверка (начните здесь)​

vibeos teams-pipeline validate              # снимок конфигурации — выполните первой после любых изменений
vibeos teams-pipeline token-health # статус токена Graph
vibeos teams-pipeline token-health --force-refresh # принудительное получение нового токена
vibeos teams-pipeline list # недавние задания собраний
vibeos teams-pipeline list --status failed # только задания с ошибками
vibeos teams-pipeline show <job-id> # полная информация об одном задании
vibeos teams-pipeline subscriptions # текущие подписки на вебхуки Graph

Повторный запуск / отладка​

vibeos teams-pipeline run <job-id>          # повторный запуск сохранённого задания (новая сводка, новая доставка)
vibeos teams-pipeline fetch --meeting-id <id> # пробный запуск: разрешить встречу + расшифровку без сохранения
vibeos teams-pipeline fetch --join-web-url "<url>" # пробный запуск по URL присоединения

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

vibeos teams-pipeline subscribe \
--resource communications/onlineMeetings/getAllTranscripts \
--notification-url https://<your-public-host>/msgraph/webhook \
--client-state "$MSGRAPH_WEBHOOK_CLIENT_STATE"

vibeos teams-pipeline renew-subscription <sub-id> --expiration <iso-8601>
vibeos teams-pipeline delete-subscription <sub-id>
vibeos teams-pipeline maintain-subscriptions # продлить подписки с истекающим сроком
vibeos teams-pipeline maintain-subscriptions --dry-run # показать, что будет продлено

Дерево решений для типичных запросов​

  • Пользователь спрашивает «почему я не получил сводку для сегодняшнего собрания?» → начните с list --status failed, затем show &lt;job-id&gt; для соответствующей строки. Если задания вообще не существует, проверьте subscriptions — возможно, срок действия вебхука истёк (см. критическую ловушку ниже).
  • Пользователь спрашивает «работает ли настройка?» → validate, затем token-health, затем subscriptions. Если все три пройдены, запросите тестовое собрание и проверьте list на наличие новой строки.
  • Пользователь спрашивает «перезапустить сводку для собрания X» → list для поиска ID задания, run &lt;job-id&gt; для повторного запуска. Если снова ошибка, show &lt;job-id&gt; для просмотра ошибки и fetch --meeting-id для пробного разрешения артефакта.
  • Пользователь спрашивает «добавить собрание X в конвейер» → обычно это не нужно — конвейер управляется подписками, а не отдельными собраниями. Если они хотят получить сводку конкретного прошлого собрания, используйте fetch для получения расшифровки, а затем run после создания задания.

Критическая ловушка: срок действия подписок Graph истекает через 72 часа​

Microsoft Graph ограничивает подписки на вебхуки 72 часами и не продлевает их автоматически. Если maintain-subscriptions не запланирован, уведомления о собраниях перестанут поступать через 3 дня после любого ручного создания подписки.

Когда пользователь сообщает «вчера конвейер работал, но сегодня ничего не приходит»:

  1. Выполните vibeos teams-pipeline subscriptions — если список пуст или все записи показывают expirationDateTime в прошлом, это причина.
  2. Пересоздайте подписку с помощью subscribe, как показано выше.
  3. Немедленно настройте автоматическое продление с помощью vibeos cron add, системного таймера systemd или обычного crontab. Руководство оператора по адресу /docs/guides/operate-teams-meeting-pipeline#automating-subscription-renewal-required-for-production содержит все три варианта. Интервал в 12 часов безопасен (6-кратный запас относительно лимита в 72 часа).

Другие ловушки​

  • Расшифровка ещё не доступна. Teams требуется некоторое время после окончания собрания для создания артефакта расшифровки. fetch --meeting-id для только что завершённого собрания может вернуть пустой результат. Подождите 2-5 минут и повторите попытку, или позвольте вебхуку Graph управлять обработкой естественным образом.
  • Несоответствие режима доставки. Если сводки создаются (list показывает успех), но ничего не попадает в Teams, проверьте platforms.teams.extra.delivery_mode и соответствующую конфигурацию цели (incoming_webhook_url ИЛИ chat_id ИЛИ team_id+channel_id). Модуль записи читает эти данные из config.yaml или переменных окружения TEAMS_*.
  • Разрешения приложения Graph. Токен получается чисто (token-health проходит), но вызовы API Graph возвращают 401/403, если разрешения были добавлены, но административное согласие не было предоставлено повторно. Попросите пользователя снова зайти в регистрацию приложения на портале Azure и нажать «Предоставить согласие администратора».

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

Направляйте пользователя к этим документам, когда ему требуется больше информации, чем охватывает этот навык:

  • Пошаговое руководство по регистрации приложения Azure: /docs/guides/microsoft-graph-app-registration
  • Полная настройка конвейера: /docs/user-guide/messaging/teams-meetings
  • Руководство оператора (автоматизация продления, устранение неполадок, контрольный список для запуска): /docs/guides/operate-teams-meeting-pipeline
  • Настройка слушателя вебхуков: /docs/user-guide/messaging/msgraph-webhook