🤖HermesBlog
Hermes 实战教程 · 第28篇2026/8/9· Easy Understand Hermes Agent

实战:Teams 会议流水线

Hermes 实战教程第28篇:Teams 会议流水线。自动参会记纪要。

这篇教程讲的是:当你已经按官方文档开启 Teams 会议功能后,如何日常“运维”这条流水线——就像你买回一台洗衣机,现在要学的是怎么保养它、排查故障,以及确保它不会在半夜悄悄罢工。


第 1 步:先学会三个“体检”命令

任何时候改过配置,先跑一遍体检:

hermes teams-pipeline validate          # 检查配置快照是否正常
hermes teams-pipeline token-health      # 检查微软登录令牌是否过期
hermes teams-pipeline subscriptions     # 查看当前订阅了哪些会议通知

如果怀疑令牌状态异常,加个 --force-refresh 强制刷新。

第 2 步:解决最大的坑——订阅 72 小时自动过期

这是整条流水线最容易翻车的地方。 微软的 Graph 订阅最长只能活 72 小时,如果没人续命,会议通知就会悄悄停止,表面看一切正常,实际已经“脑死亡”。

解决办法:必须定时运行 maintain-subscriptions 命令。官方给了三种定时方案,推荐前两种:

方案 A:用 Hermes 自带的定时器(适合已经跑着 Hermes 网关的用户)

先建一个脚本文件:

mkdir -p ~/.hermes/scripts
cat > ~/.hermes/scripts/maintain-teams-subscriptions.sh <<'EOF'
#!/usr/bin/env bash
exec hermes teams-pipeline maintain-subscriptions
EOF
chmod +x ~/.hermes/scripts/maintain-teams-subscriptions.sh

再注册一个每 12 小时跑一次的定时任务(留足 6 倍余量):

hermes cron create "0 */12 * * *" \
  --name "teams-pipeline-maintain-subscriptions" \
  --no-agent \
  --script maintain-teams-subscriptions.sh \
  --deliver local

方案 B:用 systemd 定时器(适合 Linux 生产环境)

创建 service 和 timer 两个文件(见官方文档),然后执行:

sudo systemctl daemon-reload
sudo systemctl enable --now hermes-teams-pipeline-maintain.timer

验证续命是否生效:等第一次定时跑完后,执行 hermes teams-pipeline subscriptions,看 expirationDateTime 是不是往后推了。如果某个功能在“恰好 72 小时”后失灵,第一个要查的就是这个定时任务有没有跑

第 3 步:日常巡检清单

每天或定期做三件事:

hermes teams-pipeline maintain-subscriptions --dry-run   # 应该显示“0 expiring soon”
hermes teams-pipeline list --status failed                # 看有没有失败任务
hermes teams-pipeline list                                # 看最近处理了哪些会议

第 4 步:出故障了怎么排查

  • 没有新任务产生 → 检查 webhook 是否启用、公网地址是否正确、订阅是否已过期
  • 任务卡在重试 → 检查会议转录/录制权限、ffmpeg 是否安装、令牌是否健康
  • 摘要生成了但没发到 Teams → 检查 platforms.teams.enableddelivery_modeincoming_webhook_urlchat_id 配置

第 5 步:上线前对照清单

最重要的一条:maintain-subscriptions 必须已定时运行。 没有它,72 小时后一切静默失效。其余检查项包括:Graph 凭据正确、webhook 公网可达、转录订阅已创建、Teams 投递目标已验证、真实会议事件已跑通全流程。


总结:这条流水线本身不难,难在“别让它悄悄死掉”。记住三件事:定时续订阅、定期看失败任务、改动后先 validate

下篇预告:当会议流水线跑通后,如何让 Hermes 自动把会议纪要整理成 Notion 页面或 Linear 任务?我们下篇聊“会议产物的自动分发”。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/messaging/teams