{/* 本页面由 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 天后悄然停止到达。
当用户报告”管道昨天还能工作,但今天什么也没到达”时:
- 运行
hermes teams-pipeline subscriptions——如果为空或所有条目显示expirationDateTime在过去,那就是原因。 - 使用如上所示的
subscribe重新创建。 - 立即设置自动续期 通过
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_url或chat_id或team_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