{/* 本页面由 website/scripts/generate-skill-docs.py 从技能 SKILL.md 自动生成。请编辑源 SKILL.md 而非本页面。 */}

Teams 会议管道

通过 Hermes CLI 操作 Teams 会议摘要管道——总结会议、检查管道状态、重放任务、管理 Microsoft Graph 订阅。

技能元数据

来源内置(默认安装)
路径skills/productivity/teams-meeting-pipeline
版本1.1.0
作者Hermes Agent + Teknium
许可证MIT
标签Teams, Microsoft Graph, Meetings, Productivity, Operations

参考:完整 SKILL.md

:::info 以下是此技能被触发时 Hermes 加载的完整技能定义。这是技能激活时代理所看到的指令。 :::

Teams 会议管道

当用户询问有关 Microsoft Teams 会议摘要、转录、录制、操作项、Graph 订阅或有关 Teams 会议管道的任何操作问题时,使用此技能。适用于任何语言——以下触发词只是示例,并非详尽列表。

所有面向操作员的命令都是通过 terminal 工具运行的 hermes teams-pipeline 子命令。此管道没有新的模型工具——CLI 就是界面。

使用时机

用户要求:

  • 总结 Teams 会议/提取操作项/提取会议笔记
  • 检查管道状态、检查存储的会议任务或查看最近的会议
  • 重放/重新运行失败或需要新摘要的已存储任务
  • 更改环境或配置后验证 Microsoft Graph 设置
  • 排查”会议摘要从未到达”或”没有新会议被摄入”的问题
  • 管理 Graph webhook 订阅(创建、续期、删除、检查)
  • 设置自动订阅续期(参见下面的注意事项)

多语言触发示例(非详尽):

  • 英文:“summarize the Teams meeting”, “pipeline status”, “replay job X”
  • 土耳其文:“Teams meeting özetle”, “action item çıkar”, “toplantı notu”, “pipeline durumu”, “replay job”

前提条件

使用管道前,验证这些变量已在 ~/.hermes/.env 中设置:

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

如果缺少任何变量,引导用户查看位于 /docs/guides/microsoft-graph-app-registration 的 Azure 应用注册指南——他们需要具有管理员同意的 Graph 应用程序权限的 Azure AD 应用注册,管道才能工作。

命令参考

状态和检查(从这里开始)

hermes teams-pipeline validate              # 配置快照——任何更改后首先运行
hermes teams-pipeline token-health          # Graph 令牌状态
hermes teams-pipeline token-health --force-refresh   # 强制获取新令牌
hermes teams-pipeline list                  # 最近的会议任务
hermes teams-pipeline list --status failed  # 仅失败的任务
hermes teams-pipeline show <job-id>         # 单个任务的完整详情
hermes teams-pipeline subscriptions         # 当前 Graph webhook 订阅

重新运行/调试

hermes teams-pipeline run <job-id>          # 重放已存储的任务(重新总结,重新投递)
hermes teams-pipeline fetch --meeting-id <id>   # 干运行:解析会议+转录而不持久化
hermes teams-pipeline fetch --join-web-url "<url>"   # 按加入 URL 干运行

订阅管理

hermes teams-pipeline subscribe \
  --resource communications/onlineMeetings/getAllTranscripts \
  --notification-url https://<your-public-host>/msgraph/webhook \
  --client-state "$MSGRAPH_WEBHOOK_CLIENT_STATE"
 
hermes teams-pipeline renew-subscription <sub-id> --expiration <iso-8601>
hermes teams-pipeline delete-subscription <sub-id>
hermes teams-pipeline maintain-subscriptions            # 续期即将到期的订阅
hermes teams-pipeline maintain-subscriptions --dry-run  # 显示将要续期的内容

常见问题的决策树

  • 用户问”为什么我没有收到今天会议的摘要?” → 从 list --status failed 开始,然后在相关行上使用 show <job-id>。如果任务根本不存在,检查 subscriptions——webhook 可能已过期(参见下面的注意事项)。
  • 用户问”设置是否正常工作?” → validate,然后 token-health,然后 subscriptions。如果全部通过,请求一个测试会议并检查 list 是否有新行。
  • 用户问”重新运行会议 X 的摘要” → 使用 list 查找任务 ID,使用 run <job-id> 重放。如果再次失败,使用 show <job-id> 检查错误,并使用 fetch --meeting-id 干运行制品解析。
  • 用户问”将会议 X 添加到管道” → 通常不需要——管道是基于订阅驱动的,而非按会议。如果他们想要总结特定的过去会议,在创建任务后使用 fetch 拉取转录 + run

关键注意事项:Graph 订阅 72 小时过期

Microsoft Graph 将 webhook 订阅上限设为 72 小时,并且不会自动续期。如果没有安排 maintain-subscriptions,会议通知会在任何手动订阅创建 3 天后悄然停止到达。

当用户报告”管道昨天还能工作,但今天什么也没到达”时:

  1. 运行 hermes teams-pipeline subscriptions——如果为空或所有条目显示 expirationDateTime 在过去,那就是原因。
  2. 使用如上所示的 subscribe 重新创建。
  3. 立即设置自动续期 通过 hermes cron add、systemd 定时器或普通 crontab。操作员 runbook 位于 /docs/guides/operate-teams-meeting-pipeline#automating-subscription-renewal-required-for-production,提供了所有三种选项。12 小时间隔是安全的(针对 72 小时限制有 6 倍余量)。

其他注意事项

  • 转录尚不可用。 会议结束后,Teams 需要一些时间生成转录制品。对刚刚结束的会议使用 fetch --meeting-id 可能返回空。等待 2-5 分钟并重试,或让 Graph webhook 自然驱动摄入。
  • 投递模式不匹配。 如果摘要已生成(list 显示成功)但未到达 Teams,请检查 platforms.teams.extra.delivery_mode 和匹配的目标配置(incoming_webhook_urlchat_idteam_id+channel_id)。写入器从 config.yaml 或 TEAMS_* 环境变量读取这些配置。
  • Graph 应用程序权限。 令牌可以顺利获取(token-health 通过),但 Graph API 调用在添加权限后未重新授予管理员同意时返回 401/403。让用户在 Azure 门户中重新访问应用注册,并再次点击”授予管理员同意”。

相关文档

当用户需要比此技能覆盖范围更深的资料时,引导他们查看:

  • Azure 应用注册指南:/docs/guides/microsoft-graph-app-registration
  • 完整管道设置:/docs/user-guide/messaging/teams-meetings
  • 操作员 runbook(续期自动化、故障排除、上线检查清单):/docs/guides/operate-teams-meeting-pipeline
  • Webhook 监听器设置:/docs/user-guide/messaging/msgraph-webhook